AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > VC编程

用Visual C++实现OpenGL程序设计

51自学网 2015-08-30 http://www.wanshiok.com
  开发了一个基于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不保证资料的完整性。
上一篇:Winsock开发网络通信程序的经典入门  下一篇:在Visual C++资源文件中加入声音资源