我是OpenGL的新手,我的問題似乎很簡單,但我還沒有找到合適的信息。
我試圖通過圍繞y軸旋轉一個三角形來構建自己的錐體。
我有一些描述三角形的(x,y)座標。我的理解,我必須將它們轉換爲(x,y,z)
像(x*cos(alpha), x*sin(alpha),y)
,其中alpha
是[0, 2Pi]
之間有一些步驟(讓它成爲Pi/36
)
接下來,我要列舉獲得頂點來告訴OpenGL如何連接它們。
所以,我的問題是關於如何正確枚舉它們。如何枚舉OpenGL中的頂點
0
A
回答
1
這個問題與OpenGL無關; 這個錐體將沒有基礎。
首先創建頂點
int density = 10;
float3 vertices[];
vertices.add(float3(0,0,1));
for(int i=0; i<=density; i++) {
float alpha = i*2*PI/density
vertices.add(float3(cos(alpha), sin(alpha), 0));
}
然後創建索引和三角形
int indices[];
for(int i=0; i<density; i++) {
//add triangle
indices.add(0);
indices.add(i);
indices.add(i+1);
}
然後,你必須在拉伸過程中使用來自vertices[]
和indices[]
數據。
+0
你能解釋爲什麼你的頂點float3(cos(alpha),sin(alpha),0)'有零「z」座標嗎? – tema
+0
我假設z是高度,所以錐體的高度從0到1 –
相關問題
- 1. 如何在JTS中枚舉幾何中的頂點?
- 2. 如何枚舉Objective-C中的枚舉?
- 3. 如何枚舉端點url?
- 4. OpenGL LWJGL無效枚舉
- 5. Java中的枚舉。優點?
- 6. OpenGL中的頂點座標
- 7. OpenGL中的頂點限制
- 8. 加亮OpenGL中的頂點
- 9. 如何在保持枚舉枚舉
- 10. #define枚舉或如何擴展枚舉
- 11. 如何枚舉嵌套枚舉器
- 12. 枚舉如何返回枚舉對象中枚舉的字符串內容
- 13. 枚舉和單身 - 頂級VS嵌套枚舉
- 14. OpenGL的抱怨枚舉使用
- 15. 斯威夫特的OpenGL ES枚舉
- 16. 在枚舉中枚舉
- 17. 枚舉聲明點
- 18. 如何枚舉在SharePoint站點集合
- 19. OpenGL - 添加頂點
- 20. 混淆枚舉...如何更改枚舉過程中的對象?
- 21. 如何簡化swift中的枚舉枚舉
- 22. 如何在枚舉中存儲固定值的枚舉
- 23. 將DirectX頂點轉換爲OpenGL頂點
- 24. 如何在haskell中枚舉
- 25. 如何添加頂點到OpenGL C++ triangle_fan
- 26. 現代openGL如何改變頂點值?
- 27. 確定枚舉類中的枚舉數(或任何枚舉類中的特定枚舉值)
- 28. 如何枚舉屬於我的進程的頂級wxWidgets窗口?
- 29. 如何從枚舉
- 30. 如何枚舉XDocument?
你真的畫了什麼嗎? (例如,你使用glVertex或VBO等,或者你不知道我在說什麼) – Guiroux
@Guiroux,老實說,我沒有適當地使用OpenGL。我使用的是OpenSceneGraph,但它只是一個圍繞OpenGL的庫。我有頂點數組包含所有計算頂點和另一個數組,我應該用第一個數組的頂點的正確索引填充,然後將它們設置爲幾何並啓動畫畫。 – tema