繁体   English   中英

如何在OpenGL中渲染3D文本?

[英]How to render 3D Text in OpenGL?

我想在OpenGL视口中绘制3D文本。
我已应用以下方法,但它在2D位置显示文本。

void renderBitmapString(float x, float y, float z,void *font,const char *string){
    const char * c;

     //glRasterPos2f(x, y);
     // glutBitmapCharacter(font, string);
     glRasterPos3f(x, y ,z);
     //glRasterPos3i(x, y ,z);
     for (c=string; *c != '\0'; c++) {
         glutBitmapCharacter(font, *c);
     }
    }

OpenGL不呈现文本。 它不是标准的一部分。 它渲染的是纹理或位图图像。 因此,渲染文本的方法是使用某种类似于开罗的2D渲染库。 这应该可以帮助您创建一个包含文本的位图。 一旦有了位图,就可以将位图渲染为纹理。 但请注意,Cairo使用BGRA格式作为其位图,因此您可能需要调整红色和蓝色组件以使其正常工作。

切换到glutStrokeCharacter()

或者通过FBO将glutBitmapCharacter()渲染为纹理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM