马博士让交作业,只好学学OpenGL了,写这个笔记的时候只是看了半个小时,有一点体会!
就将体会写写了,也就不怕出丑了!
环境:VC6.0基于DLG!
第一步:
添加库函数 lib
主要有三个:opengl32.lib glu32.lib glaux.lib
方法就不说了,嘿嘿!
第二步:
添加头文件 .h
#include "gl\glu.h"
#include "gl\gl.h"
#include "gl\glaux.h"
第三步:
定义定义像素存储格式
PIXELFORMATDESCRIPTOR pfd=
{
sizeof(PIXELFORMATDESCRIPTOR),
1,
PFD_DRAW_TO_WINDOW|PFD_SUPPORT_OPENGL,
PFD_TYPE_RGBA,
24,
0,0,0,0,0,0,
0,0,0,0,0,0,0,
32,
0,0,
PFD_MAIN_PLANE,
0,
0,0,0,
};
参数的意义还不太明白!嘿嘿!
第四步:
DC和RC关联!
CClientDC dc(this);
int pixelFormat=ChoosePixelFormat(dc.m_hDC,&pfd);
BOOL success=SetPixelFormat(dc.m_hDC,pixelFormat,&pfd);
m_hRC=wglCreateContext(dc.m_hDC);
第五步:
开始画~~~~
CClientDC pDC(this);
wglMakeCurrent(pDC.m_hDC,m_hRC);// 激活着色描述表
//-------------------------------------------------
glBegin(GL_TRIANGLES);//定义三角形绘制开始
glColor3f(1.0f,0.0f,0.0f);
glVertex3f(0.0f, 1.0f, 0.0f);//第一个顶点
glColor3f(0.0f,1.0f,0.0f);
glVertex3f(-1.0f,-1.0f, 1.0f);//第二个顶点
glVertex3f(1.0f,-1.0f, 1.0f);//第三个顶点
glEnd();//绘制结束
//-------------------------------------------------
wglMakeCurrent(pDC.m_hDC,NULL);
嘿嘿,完成!
继续努力~~~~~