我在opengl android.Earlier中給出了一些複雜的3d對象的任務。我只使用nehe教程在opengl的原始對象上工作。 我GOOGLE了,發現Blender是用來製作3D物體,然後它被導入到android項目中。但我不能得到如何?3d opengl中的複雜對象Android
0
A
回答
2
一個簡單的方法就是以OBJ格式導出對象(它描述對象的頂點)。然後,您可以輕鬆製作自己的OBJ閱讀器(或使用現有的閱讀器)並將頂點傳遞給OpenGL。
否則,不要重新發明輪子並使用已經爲你做了這件事的庫(例如libgdx)。
0
...然後 在Android項目
進口實際上它通常不是進口但目標應用程序簡單地從文件加載。 Blender有一些導出腳本可以發出C代碼,甚至寫出OpenGL調用;不要使用它們,它們只會搞亂你的程序。
針對3D對象存儲一些好的庫,例如OpenCTM
0
你需要的是代表你的頂點/法線,像這樣float數組:
float [ ] vertices = {
VertexX, VertexY, VertexZ, NormalX, NormalY, NormalZ,
VertexX, VertexY, VertexZ, NormalX, NormalY, NormalZ,
VertexX, VertexY, VertexZ, NormalX, NormalY, NormalZ,
VertexX, VertexY, VertexZ, NormalX, NormalY, NormalZ,
..., ..., ..., ..., ..., ...,
};
如果每個面有三個與之相關的獨特頂點線。一旦你有了這個數組從OBJ文件或任何你想要的格式爲基礎,使用的代碼,你要搞清楚,你可以通過做使它如下:
glVertexPointer(3, GL_FLOAT, sizeof(vertices[0])*6, &vertices[0]);
glNormalPoitner(GL_FLOAT, sizeof(vertices[0])*6, &vertices[3]);
glDrawArrays(GL_TRIANGLES, 0, numVertices);
看到這個Wikipedia page on the OBJ format參考如何obj文件被佈置。一旦理解了格式,解析文件就相當簡單。
相關問題
- 1. Java openGL - 繪製3D對象
- 2. 在OpenGL ES(Android上)中創建複雜的3D繪圖的方法?
- 3. 複雜對象
- 4. 對複雜對象
- 5. Activiti複雜對象
- 6. Android ksoap2發送複雜對象
- 7. Android OOP對象+複雜視圖
- 8. 處理點擊3d對象opengl
- 9. 複雜的JavaScript對象JSON對象
- 10. mysql_fetch_object對複雜對象
- 11. WCF的複雜對象?
- 12. MVC後複雜的對象
- 13. PostUrlEncodedAsync複雜的對象
- 14. 處理複雜的對象
- 15. 創建複雜的對象
- 16. 在Redis中對複雜對象建模
- 17. KSOAP ANDROID - 發送複雜對象 - 對象具有ObjectMember
- 18. 幫助ModelBinding中的複雜對象.net
- 19. 驗證jmock中的複雜對象
- 20. FlowType - 重複複雜對象的聲明
- 21. c#複雜對象比較
- 22. Serilog.Extras.AppSettings和複雜對象
- 23. MVC5複雜對象表單
- 24. 操縱複雜對象
- 25. 用於複雜對象
- 26. 無法從複雜對象
- 27. MVC DataTable複雜對象
- 28. AutoMapper地圖複雜對象
- 29. pyro4返回複雜對象
- 30. 清除複雜對象