资源简介
OPENGL 星空 背景 图像 在VC++平台上实现的 经调试 程序通过
代码片段和文件信息
// Mainframe.cpp : implementation of the CMainframe class
//
#include “stdafx.h“
#include “particle.h“
#include “Mainframe.h“
#include “math.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define PI 3.1415926
#define r1 5
/////////////////////////////////////////////////////////////////////////////
// CMainframe
IMPLEMENT_DYNAMIC(CMainframe CframeWnd)
BEGIN_MESSAGE_MAP(CMainframe CframeWnd)
//{{AFX_MSG_MAP(CMainframe)
ON_WM_PAINT()
ON_WM_SIZE()
ON_WM_SETFOCUS()
ON_WM_QUERYNEWPALETTE()
ON_WM_PALETTECHANGED()
ON_WM_ACTIVATEAPP()
ON_WM_KEYDOWN()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMainframe construction/destruction
static GLfloat colors[12][3]= // Rainbow Of Colors
{
{1.0f0.5f0.5f}{1.0f0.75f0.5f}{1.0f1.0f0.5f}{0.75f1.0f0.5f}
{0.5f1.0f0.5f}{0.5f1.0f0.75f}{0.5f1.0f1.0f}{0.5f0.75f1.0f}
{0.5f0.5f1.0f}{0.75f0.5f1.0f}{1.0f0.5f1.0f}{1.0f0.5f0.75f}
};
CMainframe::CMainframe()
{
VB_WIDTH = 1024;
VB_HEIGHT = 768;
VB_DEPTH = 32;
m_bFullScreen = FALSE;
m_hDC = NULL;
m_hRC = NULL;
m_cxClient = 0;
m_cyClient = 0;
m_hPal = NULL;
m_bAppIsActive = FALSE;
// Ask The User Which Screen Mode They Prefer
if (MessageBox(“Would You Like To Run In Fullscreen Mode?“ “Start FullScreen?“MB_YESNO|MB_ICONQUESTION)==IDYES)
{
m_bFullScreen=TRUE; // Windowed Mode
}
// TODO: add member initialization code here
slowdown=0.5f;
zoom=-40.0f;
col=0;
xspeed = 0;
yspeed = 0;
zspeed = 0;
gao=1.8f;
g_eye[0]= MAP;
g_eye[2]=-MAP;
g_Angle=0;
g_elev=-0;
}
CMainframe::~CMainframe()
{
KillGLWindow(); // Shutdown
}
/////////////////////////////////////////////////////////////////////////////
// CMainframe PreCreateWindow
BOOL CMainframe::PreCreateWindow(CREATESTRUCT& cs)
{
if (!CframeWnd::PreCreateWindow(cs))
return FALSE;
EnumDisplaySettings(NULL ENUM_CURRENT_SETTINGS &m_DMsaved); // save the current display state
if (m_bFullScreen) // Attempt Fullscreen Mode?
{
DEVMODE dmScreenSettings; // Device Mode
memset(&dmScreenSettings0sizeof(dmScreenSettings)); // Makes Sure Memory‘s Cleared
dmScreenSettings.dmSize=sizeof(dmScreenSettings); // Size Of The Devmode Structure
dmScreenSettings.dmPelsWidth = VB_WIDTH; // Selected Screen Width
dmScreenSettings.dmPelsHeight = VB_HEIGHT; // Selected Screen Height
dmScreenSettings.dmBitsPerPel = VB_DEPTH; // Selected Bits Per Pixel
dmScreenSettings.dmFields=DM_BITSPERPEL|DM_PELSWIDTH|DM_PELSHEIGHT;
// Try To Set Selected Mode And Get Results. NOTE: CDS_FULLSCREEN Gets Rid Of Start Bar.
if (ChangeDisplaySettings(&dmScreenSettingsCDS_FULLSCREEN)!=DISP_CHANGE_SUCCESSFUL)
{
// If The Mode Fails Offer Two Option
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 22916 2008-05-29 23:09 魑魅魍魉\Mainfr
文件 4172 2008-05-29 23:09 魑魅魍魉\Mainfr
文件 19360 2008-05-29 23:05 魑魅魍魉\particle.aps
文件 615 2008-05-24 09:41 魑魅魍魉\particle.clw
文件 4033 2008-05-24 09:41 魑魅魍魉\particle.cpp
文件 350 2008-05-24 09:41 魑魅魍魉\particle.dep
文件 4191 2008-05-24 09:41 魑魅魍魉\particle.dsp
文件 541 2008-05-24 09:41 魑魅魍魉\particle.dsw
文件 1902 2008-05-24 09:41 魑魅魍魉\particle.h
文件 5413 2008-05-24 09:41 魑魅魍魉\particle.mak
文件 91136 2008-06-02 14:54 魑魅魍魉\particle.ncb
文件 250 2008-06-02 14:54 魑魅魍魉\particle.plg
文件 3770 2008-05-24 09:41 魑魅魍魉\particle.rc
文件 3914 2008-05-24 09:41 魑魅魍魉\ReadMe.txt
文件 442 2008-05-24 09:41 魑魅魍魉\Resource.h
文件 214 2008-05-24 09:41 魑魅魍魉\StdAfx.cpp
文件 1416 2008-05-24 09:41 魑魅魍魉\StdAfx.h
文件 62976 2008-06-02 14:54 魑魅魍魉\particle.opt
文件 1078 2008-05-24 09:41 魑魅魍魉\res\particle.ico
文件 400 2008-05-24 09:41 魑魅魍魉\res\particle.rc2
..A.SH. 6144 2008-06-01 23:13 魑魅魍魉\res\Thumbs.db
文件 98358 2008-05-29 22:01 魑魅魍魉\Data\10.bmp
文件 12342 1999-12-21 22:25 魑魅魍魉\Data\2.bmp
文件 12342 1999-12-21 22:26 魑魅魍魉\Data\3.bmp
文件 12342 1999-12-21 22:26 魑魅魍魉\Data\4.bmp
文件 196662 1999-12-21 20:20 魑魅魍魉\Data\5.bmp
文件 196662 2008-05-29 22:05 魑魅魍魉\Data\6.bmp
文件 49206 2008-05-29 21:51 魑魅魍魉\Data\7.bmp
文件 230454 2008-05-29 21:51 魑魅魍魉\Data\8.bmp
文件 786486 2008-06-01 23:14 魑魅魍魉\Data\9.bmp
............此处省略39个文件信息
- 上一篇:马踏棋盘C语言源代码
- 下一篇:单片机控制1602液晶滚动显示字符
相关资源
- mfc+opengl离散点绘制曲面
- 使用opengl的图形学大作业
- 机器人手臂
- OPENGL阴影
- 场景渲染 蓝天 白云模拟程序二
- OpenGL窗口背景绘制
- MFC的对话框中使用OpenGL绘图
- openGL 小汽车
- 基于MFC的华容道小程序.zip
- 画线算法C++的实现-鼠标交互
- 基于MFC OpenGL读取obj文件并以双视图显
- opengl绘制花瓶源码基于glut库
- MFC BUTTON按钮控件,设置按钮透明,按
- 七控制点B样条曲线
- 通过MFC和OpenGL实现点云数据的提取和
- Visual C++ 6.0高级编程技术-OpenGL篇 源代
- OpenGL+MFC+点云
- MFC下配置opengl环境具体步骤
- 一个用opengl实现的带有光照和材质效
- opengl实现双三次Bezier曲面
- VC++和OpenGL实现八叉树分割
- OpenGL3D模型场景漫游
- 用Opengl实现日地月模型
- OpenGL+MFC显示三维点云中每一个点的法
- 用openglMFC实现的魔方
- 计算机图形学,实现茶壶旋转,颜色
- opengl的菜单操作
- MFC+OPENGL实现3D茶壶的旋转、平移
- opengl实现对地球纹理贴图
- 计算机图形学作业原创C/C++ VC++6.0,
评论
共有 条评论