マルチテクスチャリングを使用したい新しいプロジェクトを開始しました。以前にマルチテクスチャリングを行ったことがあり、OpenGL のバージョンでサポートされています。
ヘッダーには次のものがあります。
GLuint m_TerrainTexture[3];//heightmap, texture map and detail map
GLuint m_SkyboxTexture[5]; //left, front, right, back and top textures
PFNGLMULTITEXCOORD2FARBPROC glMultiTexCoord2fARB;
PFNGLACTIVETEXTUREARBPROC glActiveTexture;
コンストラクターには次のものがあります。
glActiveTexture = (PFNGLACTIVETEXTUREARBPROC) wglGetProcAddress((LPCSTR)"glActiveTextureARB");
glMultiTexCoord2fARB = (PFNGLMULTITEXCOORD2FARBPROC) wglGetProcAddress((LPCSTR)"glMultiTexCoord2fARB");
if(!glActiveTexture || !glMultiTexCoord2fARB)
{
MessageBox(NULL, "multitexturing failed", "OGL_D3D Error", MB_OK);
}
glActiveTexture( GL_TEXTURE0_ARB );
...
これは、「マルチテクスチャリングに失敗しました」というメッセージ ボックスを示し、glActiveTexture の内容は 0x00000000 です。
glActiveTexture( GL_TEXTURE0_ARB ) になったとき; アクセス違反エラーが発生する
私は MVC ダイアグラムを実装しているので、これはすべて地形ビュー クラスにあります。