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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用Visual C++6.0来实现对OpenGL三维图形的绘制相关的知识,希望对你有一定的参考价值。

既然问这个问题,那么你首先应该已经学会使用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)doglColor3fv(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;
参考技术A 并不是可以直接在VC里直接进行OpenGL编程的,要安装一个GLUT(OpenGL应用工具包,安装方法你可以上网搜到)。如果你要学OpenGL的话,建议先看看《计算机图形学》这本书算是最基础的,介绍怎么做图,相当于告诉你OpenGL的算法,入门教材;另外比较好的教程推荐:周炜的nehe中文教程opengl ,这个是一个个例子,快速入门的,网址:其它还有很多关于OpenGL的书,不过等有一定基础再看吧。

visual assist x的智能提示突然消失了,我用的是visual studio 2010。在编写代码时,不知道怎么回事,突然

突然智能提示就消失了。

1、最简单的方法,重装
2、清空代码缓存,并重启vs2010:

点击其中的rebulid和clear,点确定,然后重启vs2010,等vx重建缓存就可以了

参考技术A

前段时间也是遇见这样的问题,一直都没有解决好,今天继续研究了一下,终于发现问题了.打开VA x的设置窗口-->Advancd高级设置-->Refactoring重构设置-->先关闭选项Show icon to openg Refactoring menu when hovering 确定一次.过来再选择钩选上再确定一次,就出现鼠标移动到上就出现智能提示了.希望遇到同样问题的朋友位,也能解决这个问题.^_^

以上是关于怎么用Visual C++6.0来实现对OpenGL三维图形的绘制的主要内容,如果未能解决你的问题,请参考以下文章

用visual c ++时,当一个程序运行后,怎么运行第二个程序啊

visual studio 6.0怎么安装

visual c++是啥?

visual C++ 6.0 是先点“Compile”还是“Build”?分不分点击顺序??作用各是啥??

visual c++ 6.0编译时总有一个错误是怎么回事?

microsoft visual c++ 6.0英文版怎么安装?