请会OPENGL的帮忙看看(100分)

  • 主题发起人 主题发起人 genglimin
  • 开始时间 开始时间
G

genglimin

Unregistered / Unconfirmed
GUEST, unregistred user!
我画了个立方体,可为什么长宽高看着不一样呢,长和宽一样,高短一些.

定义各个顶点坐标
maxlen := 1.1*sqrt(20*20+20 *20+20*20); //计算旋转时需要的最大长度
boxo[0][0] := -10;
boxo[0][2] := -10;
boxo[0][1] := -10;

//2
boxo[1][0] := 10;
boxo[1][2] := -10;
boxo[1][1] := -10;

//3
boxo[2][0] := 10;
boxo[2][2] := 10;
boxo[2][1] := -10 ;



//4
boxo[3][0] := -10 ;
boxo[3][2] := 10 ;
boxo[3][1] := -10;




//5
boxo[4][0] := -10;
boxo[4][2] := -10;
boxo[4][1] := 10;

//6
boxo[5][0] := 10 ;
boxo[5][2] := -10;
boxo[5][1] := 10 ;

//7
boxo[6][0] := 10;
boxo[6][2] := 10;
boxo[6][1] := 10 ;

//8
boxo[7][0] := -10;
boxo[7][2] := 10;
boxo[7][1] := 10 ;

画图
procedure draw()
begin
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
glclearcolor(1,1,0.5,1);
glOrtho(-maxlen/2 ,maxlen /2 , -maxlen/2 ,maxlen /2 , -maxlen/2 ,maxlen /2 );

glLineWidth(2);
glbegin(GL_LINE_LOOP) ; //1
glColor3f(0,0,0);
glVertex3fv(@boxo[0]);
glVertex3fv(@boxo[1]);
glVertex3fv(@boxo[2]);
glVertex3fv(@boxo[3]);


glend;

glLineWidth(2);
//2
glbegin(GL_LINE_LOOP) ;
glColor3f(0,0,0);
glVertex3fv(@boxo[4]);
glVertex3fv(@boxo[5]);
glVertex3fv(@boxo[6]);
glVertex3fv(@boxo[7]);
glend;


glbegin(GL_LINE_LOOP) ; //3
glColor3f(0,0,0);
glVertex3fv(@boxo[0]);
glVertex3fv(@boxo[4]);
glVertex3fv(@boxo[5]);
glVertex3fv(@boxo[1]);
glend;

glbegin(GL_LINE_LOOP) ; //4
glColor3f(0,0,0);
glVertex3fv(@boxo[5]);
glVertex3fv(@boxo[1]);
glVertex3fv(@boxo[2]);
glVertex3fv(@boxo[6]);
glend;

glbegin(GL_LINE_LOOP) ; //5
glColor3f(0,0,0);
glVertex3fv(@boxo[6]);
glVertex3fv(@boxo[2]);
glVertex3fv(@boxo[3]);
glVertex3fv(@boxo[7]);
glend;
glbegin(GL_LINE_LOOP) ; //6
glColor3f(0,0,0);
glVertex3fv(@boxo[7]);
glVertex3fv(@boxo[3]);
glVertex3fv(@boxo[0]);
glVertex3fv(@boxo[4]);
glend;

SwapBuffers(DC);
end;
 
有直接函数画立方体,为什么你要这么麻烦呢?
 
因为这是个箱子,里面要放东西,如果直接用画立方体函数,里面东西就看不到了
 
因为你的窗口比例不是1:1
 
这个我试过了 换成1:1的也是一样
另外我用的是那个glpanel控件 不知道是不是这个的原因
 
如果代码没有问题话 就是正常的 3维的东西 以视角看过去 本来就是这样的 不过好象应该是看起来高长一点点才对
 
我是从斜上角40度看 不知道毛病出在哪
或者哪位有画立方米体的代码发给我一个
 

Similar threads

D
回复
0
查看
824
DelphiTeacher的专栏
D
D
回复
0
查看
768
DelphiTeacher的专栏
D
D
回复
0
查看
719
DelphiTeacher的专栏
D
后退
顶部