在我的引擎中,我想避免使用線條和單獨的三角形類型。我想用兩個相同的三角形繪製線條。但在opengl中,這個三角形不會被顯示,因爲它具有零區域,因此不能覆蓋像素。OpenGL:使用退化三角形的繪製線
在內部,在驅動程序級別,使用退化三角形繪製一條opengl線條,並使用不同的光柵化規則,其中每條掃描線至少繪製一個像素。
D3d有一些選項,您可以將光柵化設置爲始終繪製每個掃描行的第一個像素 - 有效地完成我在d3d中所需的操作。
但我怎樣才能做到這一點與opengl?我看不到任何允許您更改光柵化規則的命令。
也許glPolygonMode(GL_FRONT_AND_BACK,GL_LINE); 但是如果你不得不改變線條和多邊形的opengl狀態,那麼不使用GL_LINES的優勢在哪裏? – Arne
你在說什麼D3d選項? – Jerem
我認爲我沒有聽說過D3D標誌......通常退化三角形在GL和D3D的頂點設置階段都被拒絕(例如,即使頂點着色器沒有被執行,更不用說像素了/片段着色器)。如果您渲染三角形條帶,禁用退化拒絕會很奇怪,因爲對於任何通用模型數據,通常會有大量的退化。你會得到......線路到處都是,我不知道爲什麼這是可取的? – MuertoExcobito