0
首先:是的,我知道這是一個非常過時的編程界面。但是一些目標機器甚至不保證OpenGL 2.1,這就是爲什麼它仍然需要使用。積分不繪製
我的問題:使用OpenGL繪製某些幾何圖形時,未繪製包含2點的點和折線。是否有至少有三個座標點的多段線,它可以平穩運行。所以這是行不通的:
glBegin(GL_POINT);
glVertex3f(...);
glEnd();
glBegin(GL_LINE_STRIP);
glVertex3f(...);
glVertex3f(...);
glEnd();
...而這造成的結果預期:
glBegin(GL_LINE_STRIP);
glVertex3f(...);
glVertex3f(...);
glVertex3f(...);
...
glEnd();
這是我的初始化:
glEnable(GL_CULL_FACE);
glEnable(GL_DEPTH_TEST);
glEnable(GL_BLEND);
glEnable(GL_LINE_SMOOTH);
glEnable(GL_POINT_SMOOTH);
glEnable(GL_POLYGON_SMOOTH);
glShadeModel(GL_SMOOTH);
glHint(GL_POINT_SMOOTH_HINT, GL_NICEST);
glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);
glHint(GL_POLYGON_SMOOTH_HINT, GL_NICEST);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(-0.5f, 0.5f, -0.5f, 0.5f, 1.0f, 1000.0f);
任何想法,對於這種現象的原因是什麼?爲什麼簡單的線條和點不被繪製?
如果您從工作的3點線條上移除頂點,或者完全不同的1點和2點繪圖命令不起作用,它會停止工作嗎? – dognotdog
dognotdog:當移除一個頂點時,它會停止,只留下兩個 – Elmi
很奇怪,您是否嘗試過不平滑或切換渲染器(軟件/硬件)?這可能是你正在碰到的一些晦澀的錯誤,至少我沒有看到任何明顯的原因,即使在OpenGL的奇怪世界中也是如此。 – dognotdog