Я не могу понять, что происходит в функции . Пожалуйста, объясните мне, как значение параметра рассчитывается для write функции. Я узнал, что значение системы координат GL лежит между -1 до +1 . Но эта программа работает хорошо. Как это возможно? < /P>
void Write(double x,double y,double z,double scale,char *s)
{
int i,l=strlen(s);
glPushMatrix();
glTranslatef(x,y,z);
glScalef(scale,scale,scale);
for (i=0;i
выше функции Печатной печати. Передана строка в окне в какой -то позиции. < /p>
void redisplay(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 0.0, 0.0);
Write(-4.0,2.5,0.0,0.003,"Hello world");
glFlush();
}
void myreshape2 (int w, int h)
{
glViewport (0, 0, (GLsizei) w, (GLsizei) h);
glMatrixMode (GL_PROJECTION);
glLoadIdentity ();
gluPerspective(65.0, (GLfloat) w/(GLfloat) h, 1.0, 20.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef (0.0, 0.0, -5.0);
}
int main( int argc, char** argv )
{
glutInit(&argc, argv);
glutInitWindowSize( 1024, 700 );
glutCreateWindow("introduction");
glutReshapeFunc(myreshape2);
glutDisplayFunc(redisplay);
//glutKeyboardFunc(keyboard1);
glutMainLoop( );
return(0); // This line is never reached.
}
Подробнее здесь: https://stackoverflow.com/questions/494 ... w-it-works