• 大小:
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-06-20
  • 语言: 其他
  • 标签: opengl  3D  游戏  

资源简介

学OpenGL编3D游戏(含源代码)

资源截图

代码片段和文件信息

// OpenGL.cpp: implementation of the OpenGL class.
//程序设计:唐明理 2005.2
//E_mail cqtml@163.com
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “OpenGL.h“
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “OpenGL.h“
//////////////////////////////////////////////////////////////////////
extern HWND hWnd;

//////////////////////////////////////////////////////////////////////
OpenGL::OpenGL()
{
}
OpenGL::~OpenGL()
{ CleanUp();
}
BOOL OpenGL::SetupPixelFormat(HDC hDC0)//检测安装OpenGL
{ int nPixelFormat;   // 象素点格式
hDC=hDC0;
PIXELFORMATDEscriptOR pfd = { 
    sizeof(PIXELFORMATDEscriptOR)    // pfd结构的大小 
    1                                // 版本号 
    PFD_DRAW_TO_WINDOW |              // 支持在窗口中绘图 
    PFD_SUPPORT_OPENGL |              // 支持 OpenGL 
    PFD_DOUBLEBUFFER                 // 双缓存模式 
    PFD_TYPE_RGBA                    // RGBA 颜色模式 
    16                               // 24 位颜色深度 
    0 0 0 0 0 0                 // 忽略颜色位 
    0                                // 没有非透明度缓存 
    0                                // 忽略移位位 
    0                                // 无累加缓存 
    0 0 0 0                       // 忽略累加位 
    16                               // 32 位深度缓存     
    0                                // 无模板缓存 
    0                                // 无辅助缓存 
    PFD_MAIN_PLANE                   // 主层 
    0                                // 保留 
    0 0 0                           // 忽略层可见性和损毁掩模 
}; 
if (!(nPixelFormat = ChoosePixelFormat(hDC &pfd)))
{ MessageBox(NULL“没找到合适的显示模式““Error“MB_OK|MB_ICONEXCLAMATION);
      return FALSE;
}
SetPixelFormat(hDCnPixelFormat&pfd);//设置当前设备的像素点格式
hRC = wglCreateContext(hDC);          //获取渲染描述句柄
wglMakeCurrent(hDC hRC);             //激活渲染描述句柄
return TRUE;
}
void OpenGL::init(int Width int Height)
{ glViewport(00WidthHeight); // 设置OpenGL视口大小。
glMatrixMode(GL_PROJECTION); // 设置当前矩阵为投影矩阵。
glLoadIdentity(); // 重置当前指定的矩阵为单位矩阵
gluPerspective // 设置透视图
( 54.0f // 透视角设置为 45 度
  (GLfloat)Width/(GLfloat)Height // 窗口的宽与高比
  0.1f // 视野透视深度:近点1.0f
  3000.0f // 视野透视深度:始点0.1f远点1000.0f
);
// 这和照象机很类似,第一个参数设置镜头广角度,第二个参数是长宽比,后面是远近剪切。
glMatrixMode(GL_MODELVIEW); // 设置当前矩阵为模型视图矩阵
glLoadIdentity(); // 重置当前指定的矩阵为单位矩阵
//====================================================
}
void OpenGL::Render()//OpenGL图形处理
{ glClearColor(0.0f 0.0f 0.3f 1.0f);  // 设置刷新背景色
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);// 刷新背景
glLoadIdentity();  // 重置当前的模型观察矩阵

glFlush();  // 更新窗口
SwapBuffers(hDC);  // 切换缓冲区
}
void OpenGL::CleanUp()//清除OpenGL
{
 wglMakeCurrent(hDC NULL);                       //清除OpenGL
 wglDeleteContext(hRC);                           //清除OpenGL

}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3279  2005-04-09 23:57  学OpenGL编3D游戏\A01_OpenGL的程序框架\OpenGL.cpp

     文件        665  2005-04-07 16:44  学OpenGL编3D游戏\A01_OpenGL的程序框架\OpenGL.h

     文件       4194  2005-04-09 23:57  学OpenGL编3D游戏\A01_OpenGL的程序框架\OpenGL的程序框架.cpp

     文件       4549  2005-03-29 01:41  学OpenGL编3D游戏\A01_OpenGL的程序框架\OpenGL的程序框架.dsp

     文件        557  2005-03-28 20:19  学OpenGL编3D游戏\A01_OpenGL的程序框架\OpenGL的程序框架.dsw

     文件       1269  2005-03-28 20:19  学OpenGL编3D游戏\A01_OpenGL的程序框架\ReadMe.txt

     文件        303  2005-03-28 20:19  学OpenGL编3D游戏\A01_OpenGL的程序框架\StdAfx.cpp

     文件       1217  2005-03-28 21:23  学OpenGL编3D游戏\A01_OpenGL的程序框架\StdAfx.h

     文件        557  2005-03-28 20:19  学OpenGL编3D游戏\A01_OpenGL的程序框架\test.dsw

     文件      41984  2009-08-23 20:12  学OpenGL编3D游戏\A01_OpenGL的程序框架\test.ncb

     文件      53760  2009-08-23 20:12  学OpenGL编3D游戏\A01_OpenGL的程序框架\test.opt

     文件       2484  2005-04-09 23:57  学OpenGL编3D游戏\A02_OpenGL的基本图形\bsipic.cpp

     文件        607  2005-04-10 00:01  学OpenGL编3D游戏\A02_OpenGL的基本图形\bsipic.h

     文件       4593  2005-04-10 00:01  学OpenGL编3D游戏\A02_OpenGL的基本图形\OpenGL.cpp

     文件        736  2005-04-10 00:01  学OpenGL编3D游戏\A02_OpenGL的基本图形\OpenGL.h

     文件       4247  2005-04-09 23:57  学OpenGL编3D游戏\A02_OpenGL的基本图形\OpenGL的基本图形.cpp

     文件       4640  2005-04-02 10:59  学OpenGL编3D游戏\A02_OpenGL的基本图形\OpenGL的基本图形.dsp

     文件        557  2005-03-28 20:39  学OpenGL编3D游戏\A02_OpenGL的基本图形\OpenGL的基本图形.dsw

     文件       1269  2005-03-28 20:39  学OpenGL编3D游戏\A02_OpenGL的基本图形\ReadMe.txt

     文件        303  2005-03-28 20:39  学OpenGL编3D游戏\A02_OpenGL的基本图形\StdAfx.cpp

     文件       1223  2005-03-28 21:25  学OpenGL编3D游戏\A02_OpenGL的基本图形\StdAfx.h

     文件        557  2005-03-28 20:39  学OpenGL编3D游戏\A02_OpenGL的基本图形\test.dsw

     文件     132150  2005-02-17 22:15  学OpenGL编3D游戏\A03_OpenGL的组合图形\aa.bmp

     文件     132150  2005-02-17 22:17  学OpenGL编3D游戏\A03_OpenGL的组合图形\bb.BMP

     文件       5504  2005-04-10 00:02  学OpenGL编3D游戏\A03_OpenGL的组合图形\bsipic.cpp

     文件        758  2005-04-09 16:25  学OpenGL编3D游戏\A03_OpenGL的组合图形\bsipic.h

     文件       3175  2005-04-10 00:02  学OpenGL编3D游戏\A03_OpenGL的组合图形\OpenGL.cpp

     文件        702  2005-04-02 22:24  学OpenGL编3D游戏\A03_OpenGL的组合图形\OpenGL.h

     文件       4194  2005-04-10 00:02  学OpenGL编3D游戏\A03_OpenGL的组合图形\OpenGL的组合图形.cpp

     文件       4612  2005-04-02 22:28  学OpenGL编3D游戏\A03_OpenGL的组合图形\OpenGL的组合图形.dsp

............此处省略517个文件信息

评论

共有 条评论