如何繪製2D & OpenGL中的3D材質?如果可能,請給我看一些C++代碼。 請同時顯示如何在3D對象前面繪製&。如何在OpenGL中一起繪製2D和3D材質?
2
A
回答
6
關於這樣:
void render_perspective_scene(void);
void render_ortho_scene(void);
void render_HUD();
void display()
{
float const aspect = (float)win_width/(float)win_height;
glViewport(0,0,win_width,win_height);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(-aspect*near/lens, aspect*near/lens, -near/lens, near/lens, near, far);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
render_perspective_scene();
// just clear the depth buffer, so that everything that's
// drawn next will overlay the previously rendered scene.
glClear(GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-aspect*scale, aspect*scale, -scale, scale, 0, 1);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
render_ortho_scene();
// Same for the HUD, only that we render
// that one in pixel coordinates.
glClear(GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, win_width, 0, win_height, 0, 1);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
render_HUD();
}
5
你在正確的軌道上,但是您繪製2D圖形時,還必須禁用深度測試:glDisable(GL_DEPTH_TEST);
否則可能會被你的3D圖形變成隱藏。
+0
只有當我們在3D場景背後繪製東西時,diable depth test纔有意義? – jondinham
相關問題
- 1. 在同一個OpenGL窗口中繪製2D和3D
- 2. 如何在OpenGL中繪製3D矢量?
- 3. 在OpenGL中繪製3D場景中的2D文本(C++)
- 4. Opengl在移動3D場景中繪製2D矩形
- 5. 如何在OpenGL和pygame的3D網格之後繪製2D圖像?
- 6. 在3D上下文中繪製2D點
- 7. Qt/OpenGL - 在3D場景的頂部繪製2D「比例線」
- 8. Opengl在3D場景上繪製2D覆蓋圖問題
- 9. 使用Gnuplot在3d圖中繪製一組2d的繪圖
- 10. 在OpenGL中繪製多個2D紋理
- 11. Opengl在3D遊戲中繪製HUD
- 12. 繪製2D七邊形OpenGL
- 13. 繪製3D使用OpenGL
- 14. Java openGL - 繪製3D對象
- 15. 如何在R中的3D圖中繪製多個2d圖?
- 16. opengl中2d和3d線的區別
- 17. 在Android(和iOS)上使用Qt繪製3D效果與openGL的2D效果
- 18. 同時繪製一個2D位圖和一個3D模型
- 19. 如何在同一屏幕上繪製2D對象和3D對象
- 20. 在ThreeJS中定製材質
- 21. 如何在OpenGL中繪製2D不規則曲線形狀
- 22. 如何在OpenGL ES 2.0中將紋理繪製爲2D背景?
- 23. 如何在MVS中使用OpenGL繪製實時2D圖形
- 24. 如何在OpenGL中繪製3D環形圖?
- 25. 如何在OpenGL中設置金屬材質(如銀色)?
- 26. Opengl在2D或3D中顯示頂點
- 27. OpenGL:在2D場景中以2D方式繪製文本?
- 28. 如何繪製matplotlib中的3d視圖中的2D流線
- 29. 如何使一個3D opengl繪製的對象響應點擊
- 30. 在opengl中繪製一個島的2D輪廓
我試過gluPerspective畫事情3D,然後用glOrtho畫的東西在2D,但隨後3D的東西似乎覆蓋所有的二維圖紙,從而使這些2D東西閃爍! – jondinham
任何解決方案?.. – jondinham
請提供您現有的代碼,我們需要查看您所嘗試的內容,以便我們可以進一步幫助您。 –