2
GLUT不工作,我不知道我做错了,这是perl的,但它的语言无关(记错):绘制文字在屏幕上与所有
这个例子吸引了很多snowmans从一个例子我在网上找到了: (我将它移植到perl)
问题是没有呈现文本的迹象。
sub renderScene{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
gluLookAt($x, 1.0, $z,
$lx,1.0,$lz,
0.0,1.0,0.0);
glColor3f(0.5, 0.2, 0.4);
glMatrixMode(GL_MODELVIEW);
#Draw ground
glBegin(GL_QUADS);
glVertex3f(-100.0, 0.0, -100.0);
glVertex3f(-100.0, 0.0, 100.0);
glVertex3f(100.0, 0.0, 100.0);
glVertex3f(100.0, 0.0, -100.0);
glEnd();
for ($i=-3; $i<3; $i++)
{
for ($j=-3 ; $j<3; $j++)
{
glPushMatrix();
glTranslatef($i*10.0,0,$j*10.0);
drawSnowMan();
glPopMatrix();
}
}
glColor3f(0.5, 0.5, 0.0);
glRasterPos2f(0.5, 0.5);
my $strin = "Viva peron carajo!";
my @string = split('',$strin);
for my $char(@string){
glutBitmapCharacter(GLUT_BITMAP_HELVETICA_18, $char);
}
glutSwapBuffers();
}
对不起,这是我的渲染例程,值是在另一部分中定义的,代码通过改变这些值与移动摄像头一起工作。我想像GUI一样在屏幕上书写。 – AlfredoVR 2012-02-09 06:49:13
@ alfa64:这就是为什么你应该把视口和投影设置在显示程序中,而不是在重塑处理程序中。对于文本渲染,您可以切换视口和投影。 – datenwolf 2012-02-09 08:56:10