我有這段代碼,我正在使用我正在使用的引擎的測試。奇怪的ATI vs Nvidia TRIANGLE_STRIP問題
在我的NVIDIA NVS 4200M上,按預期顯示GL_TRIANGLE_STRIP。 在我的ATI Radeon 5800上,它似乎畫了一個三角形。
shader.begin();
Matrix4<float> temp = getActiveCamera()->getProjectionMatrix() * getActiveCamera()->getObjectToWorld().fastInverse();
glUniformMatrix4fv(shader["mvp"], 1, GL_TRUE, temp.getArray());
glBegin(GL_TRIANGLE_STRIP);
glVertexAttrib3f(shader["colour"],0,1,0);
glVertexAttrib3f(shader["coord3d"],-.5,-.5,0);
glVertexAttrib3f(shader["colour"],1,1,0);
glVertexAttrib3f(shader["coord3d"],0.5,-.5,0);
glVertexAttrib3f(shader["colour"],1,0,1);
glVertexAttrib3f(shader["coord3d"],-.5,.5,0);
glVertexAttrib3f(shader["colour"],0,1,1);
glVertexAttrib3f(shader["coord3d"],.5,.5,0);
glEnd();
shader.end();
下面是它在我的兩臺電腦上的實際外觀。
https://www.dropbox.com/s/sgm2j978tx2ipnp/not%20working.png
https://www.dropbox.com/s/27idv0b8k0p4pcx/working.png
你把'coord3d'賦給屬性0了嗎? –