计算机图形学实验 opengl实现太阳系运行图


计算机图形学实验/课程设计 opengl实现太阳系运转效果图 纹理 光照模型....啥的都有 大家自己看
资源截图
代码片段和文件信息
#include 
#include 
#include 
#include 
#include  
#include  
#include 
#pragma comment(lib “winmm.lib“) 
#pragma comment(lib“wininet“) 

// 纹理图像结构
typedef struct
{
int imgWidth; // 纹理宽度
int imgHeight; // 纹理高度
unsigned char byteCount; // 每个象素对应的字节数,3:24位图,4:带alpha通道的24位图
unsigned char *data; // 纹理数据
}TEXTUREIMAGE;

// BMP文件头
#pragma pack(2)
typedef struct {
unsigned short bfType; // 文件类型
unsigned long   bfSize; // 文件大小
unsigned short bfReserved1; // 保留位
unsigned short bfReserved2; // 保留位
unsigned long bfOffBits; // 数据偏移位置
}BMPFILEHEADER;

#pragma pack()
// BMP信息头
typedef struct {
unsigned long biSize; // 此结构大小
long biWidth; // 图像宽度
long biHeight; // 图像高度
unsigned short biPlanes; // 调色板数量
unsigned short biBitCount; // 每个象素对应的位数,24:24位图,32:带alpha通道的24位图
unsigned long biCompression; // 压缩
unsigned long biSizeImage; // 图像大小
long biXPelsPerMeter;// 横向分辨率
long biYPelsPerMeter;// 纵向分辨率
unsigned long biClrUsed; // 颜色使用数
unsigned long biClrImportant; // 重要颜色数
}BMPINFOHEADER;

// 定义窗口的标题、宽度、高度、全屏布尔变量
#define WIN_title “模拟太阳系各星球的转动“
const int WIN_WIDTH = 800;
const int WIN_HEIGHT = 600;
BOOL isFullScreen = FALSE;                                              // 初始不为全屏

#define  DEG_TO_RAD 0.017453
float angle=0.0;
static GLdouble viewer[]= {00000};                                  // 初始化视角

GLUquadricObj *quadric;                                                 // 建立二次曲面对象
GLfloat angle_Z;                                                        // 星空旋转角度
bool   g_bOrbitOn = true;                                               // 控制转动暂停
float  g_fSpeedmodifier = 1.0f;
// 时间控制
float  g_fElpasedTime;
double g_dCurrentTime;
double g_dLastTime;

GLfloat LightAmbient[] = { 1.0f 1.0f 1.0f 0.0f };                    // 环境光参数
GLfloat LightDiffuse[] = { 1.0f 1.0f 1.0f 0.0f };                    // 漫射光参数
GLfloat LightPosition[] = { 0.0f 0.0f 0.0f 1.0f };                   // 光源的位置
// 纹理图象
TEXTUREIMAGE  skyImg;
TEXTUREIMAGE  sunImg;
TEXTUREIMAGE  rayImg;
TEXTUREIMAGE  mercuImg;
TEXTUREIMAGE  venusImg;
TEXTUREIMAGE  earthImg;
TEXTUREIMAGE  marsImg;
TEXTUREIMAGE  jupiterImg;
TEXTUREIMAGE  saturnImg;
TEXTUREIMAGE  uranusImg;
TEXTUREIMAGE  neptuneImg;
TEXTUREIMAGE  moonImg;
GLuint  texture[12];                                                    // 纹理数组

// 星球速度定义
static float fSunSpin    = 0.0f;                                        // 太阳自转速度

static float fMercuSpin  = 0.0f;                                        // 水星自转速度
static float fMercuOrbit = 0.0f;                                        // 水星公转速度

static float fVenusSpin  = 0.0f;                                        // 金星自转速度
static float fVenusOrbit = 0.0f;                                        // 金星公转速度

static float fEarthSpin  = 0.0f;                                        // 地球自转速度
sta

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-01-03 22:46  Solar
     目录           0  2013-01-03 22:39  SolarDebug
     文件     1364030  2013-01-03 22:39  SolarDebugSolar.exe
     文件     1796136  2013-01-03 22:39  SolarDebugSolar.ilk
     文件       50018  2013-01-03 22:39  SolarDebugSolar.obj
     文件     3596652  2013-01-03 22:39  SolarDebugSolar.pch
     文件     2802688  2013-01-03 22:39  SolarDebugSolar.pdb
     文件           0  2012-11-22 22:00  SolarDebugSolar.sbr
     文件        5415  2012-11-22 21:59  SolarDebugloadTexture.obj
     文件      371068  2012-11-22 21:59  SolarDebugloadTexture.pch
     文件       25600  2012-11-22 21:59  SolarDebugloadTexture.pdb
     文件       15788  2012-11-22 22:00  SolarDebug est.obj
     文件      230400  2013-01-03 22:39  SolarDebugvc60.idb
     文件       94208  2013-01-03 22:39  SolarDebugvc60.pdb
     目录           0  2013-01-03 22:07  SolarPicture
     文件      196662  2012-11-22 21:59  SolarPictureEarth.bmp
     文件      219218  2013-01-03 22:01  SolarPictureJupiter.bmp
     文件      144894  2013-01-03 21:54  SolarPictureMars.bmp
     文件      235282  2013-01-03 22:02  SolarPictureMercu.bmp
     文件      147894  2013-01-03 21:58  SolarPictureMoon.bmp
     文件       49206  2012-11-22 21:59  SolarPictureNeptune.bmp
     文件      196662  2012-11-22 21:59  SolarPictureRay.bmp
     文件      393270  2012-11-22 21:59  SolarPictureSaturn.bmp
     文件       98360  2012-11-22 21:59  SolarPictureSun.bmp
     文件      393270  2012-11-22 21:59  SolarPictureUranus.bmp
     文件      133638  2013-01-03 22:00  SolarPictureVenus.bmp
     文件      452454  2012-11-22 21:59  SolarPicturesky.bmp
     文件       28425  2013-01-03 22:21  SolarSolar.cpp
     文件        3253  2012-11-22 21:59  SolarSolar.dsp
     文件         535  2012-11-22 21:59  SolarSolar.dsw
     文件       58368  2013-01-03 22:46  SolarSolar.ncb
............此处省略5个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)