2010-11-12 52 views
10

我嘗試使用下面的代碼繪製一個正方形狀的像素用OpenGLOpenGL的 - 如何繪製方形像素與GL_POINTS

glPointSize(5.0f); 
glBegin(GL_POINTS); 
glVertex3f(1.0f, 1.0f, 1.0f); 
glEnd(); 

然而,最終的結果是一個圓形狀的像素。

請參考參考http://risknfun.com/compform/w1.html 請參閱「問題4.網格」。在右側,顯示圖像具有方形像素。

+0

你對glPointSmooth的設置是什麼? – Kos 2010-11-12 16:58:59

+0

我使用默認值 - 謝謝 – q0987 2010-11-12 16:59:46

+1

它現在適用於我。只需使用glDisable(GL_POINT_SMOOTH) – q0987 2010-11-12 17:10:53

回答

17

它部分取決於OpenGL的實現(也就是說,它可以隨圖形驅動程序而變化),但有一點運氣,你可以用glEnable(GL_POINT_SMOOTH);glDisable(GL_POINT_SMOOTH);開啓或關閉此功能打開點平滑功能後,通常會得到四捨五入的點數,但關閉它會得到方點。

5

您也可以嘗試告訴OpenGL沒有通過調用花時間做GL_POINTS好和輪:

glHint(GL_POINT_SMOOTH_HINT, GL_FASTEST); 

但請記住,這只是一個提示。 OpenGL驅動程序最終是硬道理。