2010-06-19 4 views

답변

2

AFAIK 텍스트를 텍스처 (see)로 렌더링하거나 2 차원 그래픽 라이브러리 (Quartz)를 OpenGL과 혼합하여 사용할 수있는 방법은 기본적으로 세 가지가 있습니다. UILabel은 OpenGL 출력 위에 텍스트를 표시합니다.

+1

문제는 텍스트를 개체로 그리고 회전 및 변환해야한다는 것입니다. 2D 솔루션은 솔루션입니다. 고마워요 :) –

4

포토샵 등을 사용하여 아래의 텍스처 파일을 만듭니다.

|ABCDEFGH| 
|IJKLMNOP| 
|QRSTU...| 

sample.png 

각 문자의 UV 위치를 계산합니다.

float eachCharHeight = 0.125f; 
float eachCharWidth = 0.125f; 
char charToDraw = 'a'; 
int indexOfChar = charToDraw - 65; // 'a' = 65 
float uValueForCharA = (float)(indexOfChar/8) * eachCharHeight; 
float vValueForCharA = (float)(indexOfChar % 8) * eachCharWidth; 

texcoords를 설정하고 그립니다.

glPushMatrix(); 
glRotatef(...); // or translate 

glEnable(GL_TEXTURE_2D); 
glBindTexture(texture); 

float vertices[8] = {0.0f, 0.0f, 1.0f, 0.0f, ...}; 
float texcoords[8] = {uValueForCharA, vValueForCharA, 
         uValueForCharA + eachCharWidth, ...}; 

... 

glPopMatrix(); 
관련 문제