如何在OpenGL程序中顯示文本? 我正在使用MinGW,但Web上的教程使用特定於Windows開發的庫(以HDc爲參數)。在Windows下使用MinGW在OpenGL中顯示文本
0
A
回答
1
OpenGL沒有內置任何字體渲染。在大多數平臺上,您可以調用特定於平臺的調用來在OpenGL顯示(或其周圍)上呈現文本,這可能是這些教程正在做的事情。如果你想讓文本成爲你的OpenGL場景的一部分,你需要推出你自己的。
常用的方法是使用現有的字體渲染庫(比如freetype),將文本渲染爲位圖,並將其用作紋理。
如果你需要渲染大量的文本,你可能會更好地將單個字形轉換爲紋理;渲染一個字形然後需要一個四邊形(並且可以使用通常的優化來使其渲染得更快)。
而不是TTF/OTF字體,你當然也可以使用預先渲染的位圖;這在運行時不需要字體渲染庫,但它不會允許您動態更改字體大小(儘管您當然可以渲染文本的拉伸實例)。
另一種選擇:libcairo似乎有一個(實驗性的)OpenGL後端,所以也許值得一試。
1
儘管你已經alreydy接受的答案,我想向你指出:
http://www.angelcode.com/products/bmfont/
我使用生成的字體在我的圖書館,它是很容易集成和你沒有讓您的應用程序依賴於另一個庫。它會生成一個帶有字體和文件的紋理來解析。 然後,在繪製任何字體之前,將紋理綁定到opengl,然後使用該字形的子紋理座標繪製每個字形的四邊形(精靈)。你從生成的文件中獲得它們。
見我執行此:
http://code.google.com/p/nightlight2d/source/browse/trunk/NightLightDLL/NLFont.cpp
隨意使用它。 願源可與你同在。
相關問題
- 1. 使用GCC(MinGW)在Windows上編譯OpenGL
- 2. 在windows下使用zlib mingw
- 3. 如何在OpenGL中顯示unicode文本?
- 4. 在Windows中顯示診斷文本的最佳方式OpenGL
- 5. iOS - 使用OpenGL ES 2.0顯示文本
- 6. 在Windows下使用Mingw應用補丁文件
- 7. ccache的使用MinGW在Windows
- 8. _BitScanForward64在Windows上使用MinGW
- 9. 如何在OpenGL中用C++在矩形上顯示文本?
- 10. 在ImageView下顯示文本
- 11. 在Windows窗體中顯示html文本
- 12. 使用minGW差異顯示兩個文本文件的差異
- 13. SDL2 + OpenGL + SDL2_TTF:顯示文本
- 14. 如何使用OpenGL和C#在屏幕上顯示文本#
- 15. Eclipse中的OpenGL ES以及MinGW for Windows
- 16. 如何在MinGW中使用Windows API?
- 17. 在linux中用mingw編譯opengl
- 18. 未定義的引用在Windows下使用升壓使用MinGW
- 19. 使用CMake在MinGW下在Windows上構建LLVM OCaml綁定?
- 20. 使用javascript在textarea中顯示文本
- 21. OpenGL ES:在視圖下方顯示
- 22. 在Windows XP下使用MinGW從提示編譯wxWidgets應用程序
- 23. 如何在OpenGL上下文中渲染/顯示網頁?
- 24. 在openGL中同時更新兩個顯示上下文
- 25. 在OpenGL中使用文本 - GLUT?
- 26. 在OpenGL中顯示verticies
- 27. 點在OpenGL中不顯示
- 28. 在opengl中顯示圖像
- 29. 在windows phone 7中突出顯示文本框/文本塊
- 30. 如何使用Opengl庫從文本文件顯示3D點