10
OpenGLウィンドウより大きいテクスチャや非表示レンダーターゲットとしての表示サイズの使用で問題が発生しています。
この問題の解決方法を教えてください。ウィンドウサイズ/表示サイズより大きいOpenGLテクスチャを使用する
OpenGLウィンドウより大きいテクスチャや非表示レンダーターゲットとしての表示サイズの使用で問題が発生しています。
この問題の解決方法を教えてください。ウィンドウサイズ/表示サイズより大きいOpenGLテクスチャを使用する
単純な解決策があります。
と仮定すると、あなたの(非表示)テクスチャが1024×1024であり、あなたは256x256のウィンドウ/表示に制限されています。
unsigned int WIN_WIDTH = 256;
unsigned int WIN_HEIGHT = WIN_WIDTH;
unsigned int TEX_WIDTH = 1024;
unsigned int TEX_HEIGHT = TEX_WIDTH;
あなたのOpenGLのウィンドウを作成するためにウィンドウサイズを使用してください:
glutInitWindowSize(WIN_WIDTH, WIN_HEIGHT);
しかし、他のすべてのために
テクスチャサイズを使用します。
glViewport(0, 0, TEX_WIDTH, TEX_HEIGHT);
gluOrtho2D(0.0, TEX_WIDTH, 0.0, TEX_HEIGHT);
glTexCoord2i(TEX_WIDTH, TEX_HEIGHT);