teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2018/09/19 11:25

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -7,7 +7,7 @@
7
7
  OpenGL は、ライブラリではなくAPI仕様を規定しているだけなので、「OpenGL を使う」といった場合は実際はその仕様にしたがって実装されたライブラリを使っていることになります。
8
8
 
9
9
  * Ubuntu: Mesa3D
10
- * Windows: Microsoft が実装したソースのライブラリ
10
+ * Windows: Nvidia などグラフィッベンダが提供するドライ
11
11
 
12
12
  それらのライブラリが GPU が利用できる部分は GPU で行うようになっており、ライブラリの利用者側ではどの処理が GPU で行えわれるかを意識する必要はないはずです。
13
13
 
@@ -29,4 +29,18 @@
29
29
 
30
30
  * OpenGL でどの処理を GPU/CPU で行うか決められているわけではない。
31
31
  * GLFW はウィンドウ管理などを行うライブラリ。CPU で実行される。
32
- * GPU が必要なのは、CPU でも同じ処理を行えるが、GPU を使ったほうが圧倒的に高速であるため。
32
+ * GPU が必要なのは、CPU でも同じ処理を行えるが、GPU を使ったほうが圧倒的に高速であるため。
33
+
34
+ ----
35
+
36
+ ## 追記 (Windows の場合)
37
+
38
+ Windows の場合は、グラフィックベンダーが提供するドライバを基本的には使うようです。
39
+
40
+ [How Does It Work On Windows?](https://www.khronos.org/opengl/wiki/FAQ#How_Does_It_Work_On_Windows.3F)
41
+
42
+ Windows の場合、
43
+ * OpenGL を使うアプリケーションをコンパイルするには、opengl32.dll をリンクする。
44
+ * opengl32.dll は、グラフィックベンダーのドライバを探して、ロードする。(例: Nvidia なら nvoglv32.dll)
45
+ * opengl32.dll 自体はソフトウェア実装の OpenGL 1.1 のみ提供する。ドライバが見つからないときは、この OpenGL 1.1 しか使えない。
46
+ * それより新しいバージョンの OpenGL を使いたい場合は、ドライバが必須