Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
opengl glTranslatef()无法在我的代码中获取多个 我必须把4个长方形都放在中间,把它们变成不同的。 位置。 有了这些,我所有的直觉都得到了第一次翻译,我也得到了pushMatrix,但什么都没有。 请帮帮我 #include <GL\glut.h> void display() { glClearColor(1,1,1,1); glClear(GL_COLOR_BUFFER_BIT); glLineWidth(3); glColor3f(0,0,1); glBegin(GL_LINES); glVertex2f(0,-24); glVertex2f(0,24); glVertex2f(-32,0); glVertex2f(32,0); glEnd(); glTranslatef(-32,-14,0); glColor3f(1,0,0); glRecti(0,0,20,10); glTranslatef(10,5,0); glColor3f(0,1,0); glRecti(0,0,20,10); glFlush(); } int main(int argc, char** argv){ glutInit(&argc,argv); glutInitWindowPosition(50,50); glutInitWindowSize(640,480); glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); glutCreateWindow("Example"); glMatrixMode(GL_PROJECTION); gluOrtho2D(-32,32,-24,24); glutDisplayFunc(display); glutMainLoop(); return 0; } #包括 无效显示(){ glClearColor(1,1,1,1); glClear(GLU颜色缓冲位); 线宽(3); gl3f(0,0,1); glBegin(GL_行); glVertex2f(0,-24); glVertex2f(0,24); glVertex2f(-32,0); glVertex2f(32,0); 格伦德(); glTranslatef(-32,-14,0); gl3f(1,0,0); glRecti(0,0,20,10); glTranslatef(10,5,0); gl3f(0,1,0); glRecti(0,0,20,10); glFlush(); } int main(int argc,字符**argv){ glutInit(&argc,argv); 位置(50,50); glutInitWindowSize(640480); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); 创建窗口(“示例”); glMatrixMode(GL_投影); gluOrtho2D(-32,32,-24,24); glutDisplayFunc(显示器); glutMainLoop(); 返回0; }_Opengl - Fatal编程技术网

opengl glTranslatef()无法在我的代码中获取多个 我必须把4个长方形都放在中间,把它们变成不同的。 位置。 有了这些,我所有的直觉都得到了第一次翻译,我也得到了pushMatrix,但什么都没有。 请帮帮我 #include <GL\glut.h> void display() { glClearColor(1,1,1,1); glClear(GL_COLOR_BUFFER_BIT); glLineWidth(3); glColor3f(0,0,1); glBegin(GL_LINES); glVertex2f(0,-24); glVertex2f(0,24); glVertex2f(-32,0); glVertex2f(32,0); glEnd(); glTranslatef(-32,-14,0); glColor3f(1,0,0); glRecti(0,0,20,10); glTranslatef(10,5,0); glColor3f(0,1,0); glRecti(0,0,20,10); glFlush(); } int main(int argc, char** argv){ glutInit(&argc,argv); glutInitWindowPosition(50,50); glutInitWindowSize(640,480); glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); glutCreateWindow("Example"); glMatrixMode(GL_PROJECTION); gluOrtho2D(-32,32,-24,24); glutDisplayFunc(display); glutMainLoop(); return 0; } #包括 无效显示(){ glClearColor(1,1,1,1); glClear(GLU颜色缓冲位); 线宽(3); gl3f(0,0,1); glBegin(GL_行); glVertex2f(0,-24); glVertex2f(0,24); glVertex2f(-32,0); glVertex2f(32,0); 格伦德(); glTranslatef(-32,-14,0); gl3f(1,0,0); glRecti(0,0,20,10); glTranslatef(10,5,0); gl3f(0,1,0); glRecti(0,0,20,10); glFlush(); } int main(int argc,字符**argv){ glutInit(&argc,argv); 位置(50,50); glutInitWindowSize(640480); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); 创建窗口(“示例”); glMatrixMode(GL_投影); gluOrtho2D(-32,32,-24,24); glutDisplayFunc(显示器); glutMainLoop(); 返回0; }

opengl glTranslatef()无法在我的代码中获取多个 我必须把4个长方形都放在中间,把它们变成不同的。 位置。 有了这些,我所有的直觉都得到了第一次翻译,我也得到了pushMatrix,但什么都没有。 请帮帮我 #include <GL\glut.h> void display() { glClearColor(1,1,1,1); glClear(GL_COLOR_BUFFER_BIT); glLineWidth(3); glColor3f(0,0,1); glBegin(GL_LINES); glVertex2f(0,-24); glVertex2f(0,24); glVertex2f(-32,0); glVertex2f(32,0); glEnd(); glTranslatef(-32,-14,0); glColor3f(1,0,0); glRecti(0,0,20,10); glTranslatef(10,5,0); glColor3f(0,1,0); glRecti(0,0,20,10); glFlush(); } int main(int argc, char** argv){ glutInit(&argc,argv); glutInitWindowPosition(50,50); glutInitWindowSize(640,480); glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); glutCreateWindow("Example"); glMatrixMode(GL_PROJECTION); gluOrtho2D(-32,32,-24,24); glutDisplayFunc(display); glutMainLoop(); return 0; } #包括 无效显示(){ glClearColor(1,1,1,1); glClear(GLU颜色缓冲位); 线宽(3); gl3f(0,0,1); glBegin(GL_行); glVertex2f(0,-24); glVertex2f(0,24); glVertex2f(-32,0); glVertex2f(32,0); 格伦德(); glTranslatef(-32,-14,0); gl3f(1,0,0); glRecti(0,0,20,10); glTranslatef(10,5,0); gl3f(0,1,0); glRecti(0,0,20,10); glFlush(); } int main(int argc,字符**argv){ glutInit(&argc,argv); 位置(50,50); glutInitWindowSize(640480); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); 创建窗口(“示例”); glMatrixMode(GL_投影); gluOrtho2D(-32,32,-24,24); glutDisplayFunc(显示器); glutMainLoop(); 返回0; },opengl,Opengl,这是因为您让GL\U投影处于活动状态: glMatrixMode(GL_PROJECTION); gluOrtho2D(-32,32,-24,24); 之后,必须激活modelview: glMatrixMode(GL_MODELVIEW); glLoadIdentity(); 当我将translate设置为第二个glrect时,效果很好。。。但是我设置了,第一个和第二个也移动了。但要知道它是从我在它的语言里说的地方移动的。我需要它们单独移动,这样工作的唯一方法是将每个previus glT

这是因为您让GL\U投影处于活动状态:

glMatrixMode(GL_PROJECTION);
gluOrtho2D(-32,32,-24,24);
之后,必须激活modelview:

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

当我将translate设置为第二个glrect时,效果很好。。。但是我设置了,第一个和第二个也移动了。但要知道它是从我在它的语言里说的地方移动的。我需要它们单独移动,这样工作的唯一方法是将每个previus glTranslate的x,y添加到每个新的