2011-08-20 40 views
4

我使用cocos2d繪製遊戲的自定義形狀。我有一個用於使用下面的opengl代碼繪製多邊形邊界的多邊形點陣列。在iphone上加入opengl的虛線

glEnable(GL_LINE_SMOOTH); 
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); 
glLineWidth(4); 
glVertexPointer(2, GL_FLOAT, 0, polyVertices); 
glDrawArrays(GL_LINE_LOOP, 0, polyVertexCount); 

不過,我得到這個結果(LINK)上的模擬器。

看來問題是線段應該加入的地方。我該如何解決這個問題?在opengl中創建不同的連接類型有哪些選擇?有沒有我可以使用的繪圖庫?

回答

3

OpenGL中的線寬不允許連續線之間的斜接線彼此連接。所以,如果你有一條直線與左邊的直線相連,如果直線寬度大於1,會出現非常明顯的不連續點。

如果您認真對待線寬,並且您需要連接的定位器,那麼您不需要使用OpenGL的線條繪製。您需要創建一個多邊形網格,以表示您正在嘗試繪製的圖形,並自己執行斜角計算。

+0

感謝您的回覆。這證實了我需要朝着什麼方向前進。因此,如果我創建一個多邊形網格,以便可以用GL_TRIANGLE_STRIP填充它,那麼這將是一個開始嗎? – maulik13