资源简介
太阳系的opengl完整版,用的时候只需新建项目把此代码拷到新的文件中即可

代码片段和文件信息
#define WM_TOGGLEFULLSCREEN (WM_USER+1) // 定义全屏/窗口切换消息
#define TIMER1 101 // 定义时钟代号设置为101号
#define title “5DG‘S Earth And Moon“ // 定义窗口标题
#define CLASSNAME “5DG_OPENGL“ // 定义窗口类名
#define WIDTH 800 // 定义窗口宽度
#define HEIGHT 600 // 定义窗口高度
#define BPP 16 // 定义每象素的位数
#define MAX_NO_TEXTURES 9
#define MAXTEXTURE 4 // 定义最大的纹理数目
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif _DEBUG
#define TEXTURE_LOAD_ERROR “Failed to load texture“
#define new DEBUG_NEW
#define MAX_NO_TEXTURES 9
#define PI 3.141592654
#define DEG2RAD(angle) angle * (PI / 180) // 将角度转换为弧度
#define ROTATION_SPEED 1
#define aR 5
#define bR 4
#define cR 3
#define RR 3
// 在此处引用程序要求的头文件:
#include // Windows的头文件
#include // OpenGL32库的头文件
#include // Glu32库的头文件
#include // Glaux库的头文件
#include // 标准输入/输出库的头文件
#include
#include
#include
#include
#include
//#include
//#include
// 在此处加入程序要求的库到链接器中:
#pragma comment (lib “opengl32.lib“) // 链接时查找OpenGL32.lib
#pragma comment (lib “glu32.lib“) // 链接时查找glu32.lib
#pragma comment (lib “glaux.lib“) // 链接时查找glaux.lib
#pragma comment (lib “glut.lib“) // 链接时查找glu32.lib
#pragma comment (lib “glut32.lib“) // 链接时查找glaux.lib
// 在此处定义与窗口相关的结构体:
typedef struct { // 定义处理键盘的结构体
BOOL keyDown [256]; // 存储键盘按键状态的数组
} Keys;
////////////////////////////////////
//#if !defined(AFX_TEXTURES_H__7586694F_51C1_4B03_9941_6E04EA1E2453__INCLUDED_)
#define AFX_TEXTURES_H__7586694F_51C1_4B03_9941_6E04EA1E2453__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
float RRR=0;
float DX=0;
float DY=0;
float DZ=0;
//int load_texture (char *file_name int width int height int depth GLenum colour_type GLenum filter_type);
int load_texture ( char *file_name int width int height int depth GLenum colour_type GLenum filter_type )
{
GLubyte *raw_bitmap ;
FILE *file;
if (( file = fopen(file_name “rb“))==NULL )
{
return 1;
}
raw_bitmap = (GLubyte *)malloc(width * height * depth * (sizeof(GLubyte)));
if ( raw_bitmap == NULL )
{
fclose ( file );
return 2;
}
fread ( raw_bitmap width * height * depth 1 file );
fclose ( file);
// 设置过滤类型
glTexParameteri ( GL_TEXTURE_2D GL_TEXTURE_MAG_FILTER filter_type );
glTexParameteri ( GL_TEXTURE_2D GL_TEXTURE_MIN_FILTER filter_type );
// 设置纹理环境
glTexEnvf ( GL_TEXTURE_ENV GL_TEXTURE_ENV_MODE GL_MODULATE );
gluBuild2DMipmaps ( GL_TEXTURE_2D colour_type width height colour_type
GL_UNSIGNED_BYTE raw_bit
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 393270 2008-09-26 07:43 太阳系\Data\1.bmp
文件 66614 2008-09-26 07:43 太阳系\Data\2.bmp
文件 66616 2008-09-26 07:43 太阳系\Data\3.bmp
文件 37238 2008-09-26 07:43 太阳系\Data\4.bmp
文件 254038 2009-03-17 23:15 太阳系\Data\asd.exe
文件 614400 2002-12-24 11:57 太阳系\EARTH.RAW
文件 480000 2005-10-19 15:33 太阳系\INTRO.RAW
文件 614400 2005-10-19 15:33 太阳系\JUPITER.RAW
文件 614400 2005-10-19 15:33 太阳系\MARS.RAW
文件 614400 2005-10-19 15:33 太阳系\MERCURY.RAW
文件 614400 2005-10-19 15:33 太阳系\NEPTUNE.RAW
文件 614400 2005-10-19 15:33 太阳系\PLUTO.RAW
文件 614400 2005-10-19 15:33 太阳系\SATURN.RAW
文件 614400 2005-10-19 15:33 太阳系\URANUS.RAW
文件 614400 2005-10-19 15:33 太阳系\VENUS.RAW
文件 37779 2009-03-18 12:09 太阳系\太阳系.cpp
文件 254044 2009-03-18 12:07 太阳系\太阳系.exe
文件 136 2013-11-19 17:29 太阳系\说明.txt
目录 0 2013-11-19 17:28 太阳系\Data
目录 0 2013-11-19 17:29 太阳系
----------- --------- ---------- ----- ----
7119335 20
- 上一篇:shamir门限方案
- 下一篇:junning_wu_10154783.zip
相关资源
- OpenGL参考手册
- Qt Creator opengl实现四元数鼠标控制轨迹
- OpenGL文档,api大全,可直接查询函数
- opengl轮廓字体源代码
- MFC读三维模型obj文件
- 利用OpenGL写毛笔字算法
- MFC中OpenGL面和体的绘制以及动画效果
- 基于OPENGL的光线跟踪源代码368758
- VC 实现三维旋转(源码)
- 自编用openGL实现3D分形树,分形山
- OpenGL球形贴图自旋程序
- OpenGL导入贴图的Texture类
- 计算机图形学(openGL)代码
- 用OpenGL开发的机械臂运动仿真程序(
- OpenGL-3D坦克模拟
- OPENGL实现世界上最小的3D游戏
- VS2012OpenGL配置所需要的全部libdllh文件
- 基于OpenGL的仿蝗虫机器人三维动态仿
- 图形学 - OpenGL实现3种三维茶壶显示源
- opengl程序-会跳舞的骷髅
- opengl实现三维网格光顺Laplacian算法
- opengl——爆炸
- OpenGL三维地形建模
- opengl游戏编程徐明亮版(含源码)
- 用OPENGL画的一个简单的直升飞机
- opengl完美天空盒
- 3D绘图程序设计:使用Direct3D 10/9和Ope
- OpenGL绘制可运动自行车源程序.zip
- OpenGL实现飘动效果
- opengl室内场景的绘制,包括碰撞检测
评论
共有 条评论