簡體   English   中英

幾何着色器和繪圖調用

[英]Geometry shader and Draw calls

我正在研究使用幾何着色器的舊代碼庫。 它使用“glProgramParameteriEXT(...) 來啟用和指定 GS 的輸入/輸出。有問題的代碼是渲染曲線。

GS 的輸入(通過上述方法,而不是在 GLSL 中使用布局說明符)是 GL_LINES_ADJACENCY,output 是 GL_TRIANGLE_STRIP。 在實際的 GLSL 幾何着色器中,代碼會按照 GL_LINES 的預期吐出兩個 EmitVertex()。 最終在執行 drawcall 時,使用了 glDrawElements (GL_LINES, ....)。 繪制調用是否不應該與 GS 的 output(即 GL_TRIANGLE_STRIP)相匹配? 我不太熟悉幾何着色器,所以我一定遺漏了一些東西。 如果是這種情況,openGL 如何在被告知畫線的同時畫出三角形?

謝謝!

幾何着色器從輸入圖元生成圖元。 繪制調用確定輸入圖元類型; GS 確定 output 原始類型。 OpenGL“發現”它正在繪制三角形,因為這就是 GS 所說的繪制。 GS 是 OpenGL 的一部分 阻礙 OpenGL 的不是一些外來實體。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM