10
我在使用大於OpenGL窗口或顯示大小的紋理作爲非顯示呈現目標時遇到問題。
這個問題的解決方案是什麼?使用大於窗口/顯示大小的OpenGL紋理
我在使用大於OpenGL窗口或顯示大小的紋理作爲非顯示呈現目標時遇到問題。
這個問題的解決方案是什麼?使用大於窗口/顯示大小的OpenGL紋理
有一個簡單的解決方案。
假設你(非顯示)紋理是1024x1024的,你被限制到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);