资源简介

绘制九大星球,添加了轨道,球体旋转,视角变换,光照,纹理,而且添加了字体和背景音频

资源截图

代码片段和文件信息

#include “LoadBMP.h“
#include 
#include “GL\fmod.h“ // 音频库的头文件
float star[2000][3];
GLint widthheightw1h1fovy=60;
int mouseDx ;
int  mouseDy ;
#pragma comment(lib “fmodvc.lib“) // 把音频库加入到链接器中
#pragma comment(lib “opengl32.lib“) // 链接时查找OpenGL32.lib
#pragma comment(lib “glu32.lib“) // 链接时查找glu32.lib
#pragma comment(lib “glaux.lib“) // 链接时查找glaux.lib
BOOL play=TRUE;
FSOUND_STREAM *mp3back; // 背景音乐 *.mp3格式
float pox=5poy=3poz=3;

 //选择字体函数                                                                     
void selectFont(int size int charset const char* face) 
{
HFONT hFont = CreateFontA(size 0 0 0 FW_MEDIUM 0 0 0
charset OUT_DEFAULT_PRECIS CLIP_DEFAULT_PRECIS
DEFAULT_QUALITY DEFAULT_PITCH | FF_SWISS face);
HFONT hOldFont = (HFONT)Selectobject(wglGetCurrentDC() hFont);
Deleteobject(hOldFont);
}

//生成中文字体函数                                                                     
void drawCNString(const char* str)
{
int len i;
wchar_t* wstring;
HDC hDC = wglGetCurrentDC();
GLuint list = glGenLists(1);

// 计算字符的个数
// 如果是双字节字符的(比如中文字符),两个字节才算一个字符
// 否则一个字节算一个字符
len = 0;
for(i=0; str[i]!=‘\0‘; ++i)
{
if( IsDBCSLeadByte(str[i]) )
++i;
++len;
}

// 将混合字符转化为宽字符
wstring = (wchar_t*)malloc((len+1) * sizeof(wchar_t));
MultiByteToWideChar(CP_ACP MB_PRECOMPOSED str -1 wstring len);
wstring[len] = L‘\0‘;

// 逐个输出字符
for(i=0; i {
wglUseFontBitmapsW(hDC wstring[i] 1 list);
glCallList(list);
}

// 回收所有临时资源
free(wstring);
glDeleteLists(list 1);
}

// 载入音频文件
GLvoid InitFMOD(void)
{

if (FSOUND_Init(44100 32 0)) // 把声音初始化为44khz
{
// 载入文件bgmusic.mp3
mp3back = FSOUND_Stream_OpenFile(“yuzhou.mp3“ FSOUND_LOOP_NORMAL 0);
}
}

// 释放音频文件
GLvoid FreeFMOD(void)
{

if (mp3back != NULL)
{
FSOUND_Stream_Close(mp3back); // 释放文件bgmusic.mp3
}
}


void init_stars()  
{  
    for ( int i=0; i < 2000; i++ )  
    {  
        for(int j=0;j<3;j++)  
        {  
            star[i][j]=rand()%20-10;  
        }  
    }  
}  

void init(void) 
{   

GLfloat mat_specular []={1111.0};               //材料的镜面颜色
GLfloat mat_shininess []={500.0};                        //镜面指数
GLfloat light_position[] = {7 7 0 0};             //设置光源位置
GLfloat white_light[] = {1 1 1 1};             //设定光源颜色
GLfloat lmodel_ambient[]  = {0.8 0.80.81};             //环境光强度,全局光照
GLfloat mat_emission []={0.10.10.11.0};           //材料的发射颜色

glClearColor (0.0 0.0 0.0 0.0);

glShadeModel(GL_SMOOTH);
glMaterialfv(GL_FRONTGL_SPECULARmat_specular);
glMaterialfv(GL_FRONTGL_SHININESSmat_shininess);
glMaterialfv(GL_FRONT GL_EMISSION mat_emission);
glLightfv(GL_LIGHT0GL_POSITIONlight_position);
    glLightfv(GL_LIGHT0GL_DIFFUSEwhite_light);                  //漫反射光
glLightfv(GL_LIGHT0GL_SPECULARwhite

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

     文件     515576  2007-08-18 01:43  my system\earth.bmp

     文件   28966912  2014-06-17 11:13  my system\wen.sdf

     文件        876  2014-05-05 15:51  my system\wen.sln

    ..A..H.     33280  2014-06-17 11:13  my system\wen.v11.suo

     文件      58368  2014-06-17 10:56  my system\Debug\wen.exe

     文件     522480  2014-06-17 10:56  my system\Debug\wen.ilk

     文件     625664  2014-06-17 10:56  my system\Debug\wen.pdb

     文件     170893  2014-05-19 15:55  my system\wen\10016-120405012T88.jpg

     文件      13038  2014-06-17 10:56  my system\wen\2.cpp

     文件     515576  2007-08-18 01:43  my system\wen\earth.bmp

     文件     196662  2014-05-21 09:33  my system\wen\jupiter.bmp

     文件       9372  2014-05-21 10:11  my system\wen\LoadBMP.h

     文件     196662  2014-05-21 09:21  my system\wen\mars.bmp

     文件     196662  2014-05-21 09:16  my system\wen\mercury.bmp

     文件      43254  2014-05-07 13:36  my system\wen\moon.bmp

     文件     196662  2014-05-21 10:11  my system\wen\neptune.bmp

     文件     196662  2014-05-21 09:56  my system\wen\saturn.bmp

     文件     172856  2007-08-18 01:29  my system\wen\sun.bmp

     文件    2421054  2014-05-19 15:55  my system\wen\universe.bmp

     文件     600054  2009-04-15 10:43  my system\wen\universe2.bmp

     文件     576462  2014-05-19 15:45  my system\wen\universe3.bmp

     文件     196662  2014-05-21 10:05  my system\wen\uranus.bmp

     文件     196662  2014-05-21 09:20  my system\wen\venus.bmp

     文件       3304  2014-05-05 15:54  my system\wen\wen.vcxproj

     文件        939  2014-05-05 15:54  my system\wen\wen.vcxproj.filters

     文件     380470  2014-06-17 10:45  my system\wen\yuzhou.mp3

     文件      99078  2014-06-17 10:56  my system\wen\Debug\2.obj

     文件       1006  2014-06-17 10:56  my system\wen\Debug\cl.command.1.tlog

     文件      19832  2014-06-17 10:56  my system\wen\Debug\CL.read.1.tlog

     文件        300  2014-06-17 10:56  my system\wen\Debug\CL.write.1.tlog

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

评论

共有 条评论