怎么用Visual C++6.0来实现对OpenGL三维图形的绘制

 我来答
yh6295485
2016-11-29 · TA获得超过1255个赞
知道小有建树答主
回答量:398
采纳率:66%
帮助的人:348万
展开全部
既然问这个问题,那么你首先应该已经学会使用opengl二维的图形绘制了吧?三维也只是多出一个z轴坐标而已.你以前设点要设2个坐标,那么三维则要设三个坐标.比如设一个点坐标PointA[] = { 0.5f, -sqrt(6.0f)/12, -sqrt(3.0f)/6},那么只要使用glVertex3fv(PointA)便可在此位置画出一个点,画了三个点后使用TRIANGLES便可成为一个面.下面的程序是画出一个旋转彩色四面体
#include<gl/glut.h>
#include<math.h>
#define ColoredVertex(c,v)do{glColor3fv(c);glVertex3fv(v);}while(0);
GLfloat angle=0.0f;
void myDisplay()
{
static int list=0;
if(list==0)
{
GLfloat
PointA[]={0.5f,-sqrt(6.0f)/12,-sqrt(3.0f)/6},
PointB[]={-0.5f,-sqrt(6.0f)/12,-sqrt(3.0f)/6},
PointC[]={0.0f,-sqrt(6.0f)/12,sqrt(3.0f)/3},
PointD[]={0.0f,sqrt(6.0f)/4,0};
GLfloat
ColorR[]={1,0,0},
ColorG[]={0,1,0},
ColorB[]={0,0,1},
ColorY[]={1,1,0};
list=glGenLists(1);
glNewList(list,GL_COMPILE);
glBegin(GL_TRIANGLES);
ColoredVertex(ColorR,PointA); //ABC
ColoredVertex(ColorG,PointB);
ColoredVertex(ColorB,PointC);
ColoredVertex(ColorR,PointA); //ACD
ColoredVertex(ColorB,PointC);
ColoredVertex(ColorY,PointD);
ColoredVertex(ColorR,PointA); //ABD;
ColoredVertex(ColorG,PointB);
ColoredVertex(ColorY,PointD);
ColoredVertex(ColorG,PointB); //BCD
ColoredVertex(ColorB,PointC);
ColoredVertex(ColorY,PointD);
glEnd();
glEndList();
glEnable(GL_DEPTH_TEST);
}
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glRotatef(angle,1,0.5,0);
glCallList(list);
glPopMatrix();
glutSwapBuffers();
}
void myIdle()
{
angle=angle+0.5;
if(angle>=360)
angle=0.0f;
myDisplay();
}
int main(int argc, char* argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE);
glutInitWindowPosition(200, 200);
glutInitWindowSize(500, 500);
glutCreateWindow("旋转四面体");
glutDisplayFunc(&myDisplay);
glutIdleFunc(&myIdle);
glutMainLoop();
return 0;
}
东莞大凡
2024-08-07 广告
OpenCV标定板是东莞市大凡光学科技有限公司在相机标定中常用的工具。它通常由黑白格点按一定规则排列在平面上组成,如棋盘格或圆形格等。在相机标定时,将标定板置于不同位置和姿态下拍摄图像,利用OpenCV库中的函数检测标定板上的角点或圆心,进... 点击进入详情页
本回答由东莞大凡提供
千锋教育
2016-11-29 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
并不是可以直接在VC里直接进行OpenGL编程的,要安装一个GLUT(OpenGL应用工具包,安装方法你可以上网搜到)。如果你要学OpenGL的话,建议先看看《计算机图形学》这本书算是最基础的,介绍怎么做图,相当于告诉你OpenGL的算法,入门教材;另外比较好的教程推荐:周炜的nehe中文教程opengl ,这个是一个个例子,快速入门的,网址:其它还有很多关于OpenGL的书,不过等有一定基础再看吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式