• 大小: 1.91MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-15
  • 语言: 其他
  • 标签: 太阳系  opengl  

资源简介

太阳系的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


评论

共有 条评论