Windows 7にSDL 1.2.14 をダウンロードしました。 と私はMobility Radeon X1800ドライバをインストールしました。SDLとOpenGLのバージョンと実装方法
私は、Microsoft Visual C++ 2010のExpressを使用しています。
私は、次の追加の依存関係を追加SDLは、「VC++ディレクトリ」に含めるとライブラリディレクトリ
を追加しました: opengl32.libを。 glu32.lib; SDL.lib; SDLmain.lib;
私はどんなOpenGLのディレクトリを追加しませんでした私のプログラムフォルダ
にSDL.dllを追加しました!
#include "SDL.h"
#include "SDL_opengl.h"
bool running = true;
int main(int argc, char* args[]) {
SDL_Init(SDL_INIT_EVERYTHING);
SDL_Surface* screen = SDL_SetVideoMode(640,480,32,SDL_OPENGL);
glViewport(0,0,640,480);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0, 640/480, 1.0, 200.0);
while(running) {
glClear(GL_COLOR_BUFFER_BIT |GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW); // Swich to the drawing perspective
glLoadIdentity();
glTranslatef(0.0,0.0,-5.0);
glBegin(GL_TRIANGLES);
glVertex3f(-0.5f, 0.5f, 0.0f);
glVertex3f(-1.0f, 1.5f, 0.0f);
glVertex3f(-1.5f, 0.5f, 0.0f);
glEnd();
SDL_GL_SwapBuffers();
}
SDL_Quit();
return 0;
}
このプログラムは、単純な三角形を描きます。 私は上記の2つのヘッダファイルを含み、私のOpenGLコードはちょうど動作します!
私の三角形がGPUやCPU上で実行されるかどうかは知りません。そして私が使っているOpenGLのバージョンは?
私は、私は、Microsoftが、もはやそこopenglのファイルを更新しないことを聞いて、彼らは、OpenGL 1.1か何かのCPUの実装を使用することを意味します。
どのように私は私が使用しているのOpenGLのバージョンを知っていますか?実行時にチェックすることはできますか?私はCPUやGPUの実装を使用している場合
は、どのように私は知っていますか?実行時にチェックすることはできますか?私の問題を見てのため
感謝。
良い点、しかし、あなたは本当に正確ではない「置き換え」ことに注意する必要があります。同時に複数のバージョンのOpenGLが存在し、どちらが使用されるかはOpenGLの初期化に使用される「HDC」に依存します。たとえば、ローカルログインセッションで実行されているアプリケーションは、ハードウェアアクセラレーションされたGLを取得できますが、リモートデスクトップセッションで実行しているアプリケーションはCPUベースの実装になります。 –
ありがとうございます、あなたの情報でそれを更新しました。 – bcsanches