2010-01-13 62 views

回答

2

你不需要着色器這樣的:

glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); //Fill 
glDrawElements(...); 
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); //Outline 
glDrawElements(...); 

如果多邊形是凹的,你必須tesselate他們,無論是手動或使用GL工具庫,穀氨酸。看看gluNewTess。如果您決定親自拼湊多邊形,則必須記住設置正確的邊緣標記,以免呈現鑲嵌的內部邊緣,請參閱glEdgeFlagPointer

編輯:我發現以下link關於如何使用模板緩衝區來渲染凹多邊形。

+0

如果某些多邊形是凹的? – madcat 2010-01-13 08:08:11

+0

@madcat查看更新回答 – 2010-01-13 09:22:24

+0

謝謝!會嘗試。但是,鑲嵌必須在CPU上完成,而不是使用着色器? – madcat 2010-01-13 09:49:50