2012-06-15 58 views
1

我正在编写一个C++简单应用程序,以找出为什么我无法使用“GL_Texture_2D”作为texture_target显示任何NPOT纹理。在某些时候,我需要生成一些Mipmap,因此使用矩形纹理的 不是一个选项。无法使用OpenGL显示NPOT纹理

我正在运行Win7 Pro(x64),Intel i7-2600K CPU,8GB RAM,NVIDIA Quadro 600.我的quadro的驱动程序是296.35,它支持OpenGL 4.2。

1工作版本 当使用“默认”纹理时,它运行平稳并显示任何NPOT纹理。

glBindTexture(target = GL_TEXTURE_2D, texture = 0) 

2破碎版本 因为,我需要更多的1和质感,我需要得到他们的“名字”。 当我们试图绑定一个已命名的纹理,调用glGenTexture并将该纹理用于glBindTexture时,我所得到的只是一个白色的矩形。

glGenTextures(n = 1, textures = &2) 
glBindTexture(target = GL_TEXTURE_2D, texture = 2) 

我敢肯定,我的硬件支持NPOT质感,我检查的OpenGL扩展和“GL_ARB_texture_non_power_of_two”中列出。此外,我正在使用,而不是典型的Windows版本。

我也要求对NVIDIA的论坛这个问题,in this post你会发现这两个日志文件

+0

矩形纹理与NPOT纹理无关。 – Luca

回答