資源簡介
繪制九大星球,添加了軌道,球體旋轉,視角變換,光照,紋理,而且添加了字體和背景音頻

代碼片段和文件信息
#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個文件信息
- 上一篇:計算機組成原理與體系結構課后答案人民郵電出版
- 下一篇:程序員輸入法unicode版
評論
共有 條評論