【问题标题】:Isometric Projection with gluLookAt使用 gluLookAt 进行等距投影
【发布时间】:2014-02-28 05:49:07
【问题描述】:

我有这所房子以 (0,0,0) 为中心,尺寸为 10x10x20。我想做一个等距投影,但房子没有显示。这是房子的代码:

glBegin(GL_TRIANGLES);

//roof

glColor3f(1,1,0.35);
glVertex3f(-5, 5,  10);
glVertex3f( 5, 5,  10);
glVertex3f( 0,  11.160254,  10);

glColor3f(1,1,0.35);
glVertex3f(-5, 5,  -10);
glVertex3f( 5, 5,  -10);
glVertex3f( 0,  11.160254,  -10);

glEnd();

/* We tell we want to draw quads */
glBegin(GL_QUADS);

/* Every four calls to glVertex, a quad is drawn */


//roof
 glColor3f(1,1,0.5);
 glVertex3f(-5,  5,  10);
 glVertex3f( 0,  11.160254,  10);
 glVertex3f( 0,  11.160254,  -10);
 glVertex3f(-5,  5,  -10);

 glColor3f(1,1,0.5);
 glVertex3f(5,  5,  10);
 glVertex3f( 0,  11.160254,  10);
 glVertex3f( 0,  11.160254,  -10);
 glVertex3f(5,  5,  -10);


 //left face blue
 glColor3f(0, 0, 1); 
 glVertex3f(-5, -5, -10);
 glVertex3f(-5, -5,  10);
 glVertex3f(-5,  5,  10);
 glVertex3f(-5,  5, -10);


//right face cyan
glColor3f(0, 1, 1); 
glVertex3f( 5, -5, -10);
glVertex3f( 5, -5,  10);
glVertex3f( 5,  5,  10);
glVertex3f( 5,  5, -10);


//bottom face magenta
glColor3f(1, 0, 1); 
glVertex3f(-5, -5, -10);
glVertex3f(-5, -5,  10);
glVertex3f( 5, -5,  10);
glVertex3f( 5, -5, -10);


//top face yellow
glColor3f(1, 1, 0); 
glVertex3f(-5,  5, -10);
glVertex3f(-5,  5,  10);
glVertex3f( 5,  5,  10);
glVertex3f( 5,  5, -10);

//red back face
glColor3f(1, 0, 0); 
glVertex3f(-5, -5, -10);
glVertex3f(-5,  5, -10);
glVertex3f( 5,  5, -10);
glVertex3f( 5, -5, -10);


//front face green
glColor3f(0, 1, 0); 
glVertex3f(-5, -5,  10);
glVertex3f(-5,  5,  10);
glVertex3f( 5,  5,  10);
glVertex3f( 5, -5,  10);

glEnd();

有人可以帮我解决我必须放入 gluLookAt 以获得等距投影的参数吗?

【问题讨论】:

标签: glut glulookat


【解决方案1】:

好的,你可以试试这个:

gluLookAt(0.0, 0.0, 10.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);

注视 (0.0, 0.0, 10.0),看中心点 (0.0, 0.0, 0.0),向上是 (0.0, 1.0, 0.0)。

下面是解释这个功能的非常清晰的图像:

(来自http://profs.sci.univr.it/~colombar/html_openGL_tutorial/en/08viewing_005.html

抱歉,我无法插入图片,因为那需要 10 声望。 :(

【讨论】:

  • 谢谢。但现在我只能看到房子的绿色正面。我的意思是整个窗户都是绿色的。就像相机正在放大到正面。你能解释一下我该怎么办吗?
  • 您可以移动眼睛的位置,例如 (20.0, 20.0, 20.0)。为什么我的答案是-2分?完全没用吗?你能解释一下吗?
猜你喜欢
  • 2012-02-10
  • 2010-11-06
  • 2011-10-03
  • 2016-06-04
  • 2012-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-14
相关资源
最近更新 更多