开发了一个基于VC++6.0的对话框的OpenGL程序,它包含了所有OPENGL的学习内容,从投影,三维变换,到BERZER,BSPLINE,NURBS和一二维纹理等,非常适合初学者.有问题请发邮件mgamegame@126.com.
正文
1、新建一个基于对话框的工程,名字如OpenGLVCd;
2、将gl.h,glu.h,glut.h, opengl32.lib,glu32.lib,glut32.lib
opengl32.dll,glu32.dll,glut32.dll复制到工程目录下,将gl.h,glu.h,glut.h三个文件加入工程中;
3、"工程-设置-link",将opengl32.lib,glu32.lib,glut32.lib链接到工程中;
4、新建一个普通的类如
class COpenGLAdd{......};
5.在类的OpenGLAdd.h文件头加入#include "gl.h";#include"glu.h"; #include"glut.h";
6.在OpenGLVCdDlg.h中加上黑体字
#include "OpenGLAdd.h" class COpenGLAdd;
///////////////////////////////////////////////////////////////////////////// // COpenGLVCdDlg dialog
class COpenGLVCdDlg : public CDialog { // Construction public: COpenGLVCdDlg(CWnd* pParent = NULL); // standard constructor COpenGLAdd* gg;......
|
7.在OpenGLVCdDlg.cpp中加上黑体字
BOOL COpenGLVCdDlg::OnInitDialog() { ........ SetIcon(m_hIcon, FALSE); // Set small icon
// TODO: Add extra initialization here gg=new COpenGLAdd;////////// gg->initial(this);//////////
return TRUE; // return TRUE unless you set the focus to a control }
void COpenGLVCdDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // device context for painting ....... dc.DrawIcon(x, y, m_hIcon); } else { gg->draw();/////////// CDialog::OnPaint(); } }
COpenGLVCdDlg::OnKeyDown()//用来移动,转动,缩放景物 COpenGLVCdDlg::OnLButtonDown()//选择坐标原点 COpenGLVCdDlg::OnSize()//使OpenGl窗口适应对话框窗口 |
dimage文件夹中的程序用来产生128,256,512的纹理文件;
用法:
1.用图片处理软件如画图,Photoshop等编辑,尺寸必须为128X128,256X256,512X512;
另存为bmp文件格式;
2.右击Bitmap-->import导入此位图文件;
3.在文件Dimage.cpp中修改为导入的位图ID号;如IDB_BITMAP3;
void CDimageDlg::OnButton1() { CDC* pdc=GetDC(); CBitmap bmp; bmp.LoadBitmap(IDB_BITMAP3); BITMAP bit; bmp.GetBitmap(&bit); CDC bmpdc; bmpdc.CreateCompatibleDC(pdc); CBitmap *poldbm=bmpdc.SelectObject(&bmp);
.... |
运行程序,输入文件名和选择大小,然后单击"输出",产生.txt格式的纹理文件;  
说明:本教程来源互联网或网友上传或出版商,仅为学习研究或媒体推广,wanshiok.com不保证资料的完整性。
|