簡體   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