資源簡介
簡單的場景,希望大家自行腦補動畫,可在原場景上擴充好多好多

代碼片段和文件信息
//?cameraroam.cpp?:?Defines?the?entry?point?for?the?console?application.
//
#include?“stdafx.h“
#include??????????????//計算旋轉角
#include??
#include??
?//angle繞y軸的旋轉角允許我們旋轉照相機;ratio:窗口寬高比(width/height)
static?float?angle=0.0ratio;????
static?float?x=0.0fy=1.75fz=5.0f;????//照相機位置
static?float?lx=0.0fly=0.0flz=-1.0f;??//一個向量用來指示我們的視線方向
static?GLint?snowman_display_list;???//一個雪人的顯示列表索引
//響應窗口位置、大小改變事件的回調函輸
void?changeSize(int?w?int?h)?????????
{??????????
//?防止被0除.????????
if(h?==?0)?????????????????
h?=?1;??????????
ratio?=?1.0f?*?w?/?h;????????????????
glMatrixMode(GL_PROJECTION);?????????
glLoadIdentity();??????????????????//設置視口為整個窗口大小?????????
glViewport(0?0?w?h);??????????//設置可視空間?????????
gluPerspective(45ratio11000);?????????
glMatrixMode(GL_MODELVIEW);????????
glLoadIdentity();?????????
gluLookAt(x?y?z?x?+?lxy?+?lyz?+?lz?0.0f1.0f0.0f);????????
}
//繪制1個雪人
void?drawSnowMan()?
{??????????
glColor3f(1.0f?1.0f?1.0f);
//畫身體?????????
glTranslatef(0.0f?0.75f?0.0f);?????????
glutSolidSphere(0.75f2020);????????//實心圓
//?畫頭?????????
glTranslatef(0.0f?1.0f?0.0f);?????????
glutSolidSphere(0.25f2020);????????//實心圓
//?畫眼睛?????????
glPushMatrix();?????????
glColor3f(0.0f0.0f0.0f);?????????
glTranslatef(0.05f?0.10f?0.18f);?????????
glutSolidSphere(0.05f1010);?????????
glTranslatef(-0.1f?0.0f?0.0f);?????????
glutSolidSphere(0.05f1010);?????????
glPopMatrix();
//?畫鼻子?????????
glColor3f(1.0f?0.5f??0.5f);?????????
glRotatef(0.0f1.0f?0.0f?0.0f);?????????
glutSolidCone(0.08f0.5f102);????//實心圓錐體
}?
//創建繪制雪人的顯示列表
GLuint?createDL()
?{?????????
GLuint?snowManDL;??????????
//生成一個顯示列表號?????????
snowManDL?=?glGenLists(1);??????????//?開始顯示列表?????????
glNewList(snowManDLGL_COMPILE);??????????//?call?the?function?that?contains??????????
//?the?rendering?commands?????????????????
drawSnowMan();??????????//?endList?????????
glEndList();?????????
return(snowManDL);
}?
//初始化場景
void?initScene()?
{?????????
glEnable(GL_DEPTH_TEST);?????????
snowman_display_list?=?createDL();
}?
//繪制地面和36個1雪人
?void?renderScene(void)?
?{?????????
?glClear(GL_COLOR_BUFFER_BIT?|?GL_DEPTH_BUFFER_BIT);?????????
?//使用四邊形畫了一個地面??????????
?glColor3f(0.9f?0.9f?0.9f);?????????
?glBegin(GL_QUADS);?????????????????
?glVertex3f(-100.0f?0.0f?-100.0f);?????????????????
?glVertex3f(-100.0f?0.0f?100.0f);?????????????????
?glVertex3f(?100.0f?0.0f?100.0f);?????????????????
?glVertex3f(?100.0f?0.0f?-100.0f);?????????
?glEnd();?????????
?//畫了36個雪人??????????
?for(int?i?=?-3;?i?3;?i++)?????????????????
?for(int?j=-3;?j?3;?j++)?{??????????????????????????
?glPushMatrix();??????????????????????????
?glTranslatef(i*10.00j?*?10.0);??????????????????????????
?glCallList(snowman_display_list);????????????????????????
?glPopMatrix();?????????????????
}?????????
?glutSwapBuffers()
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4791??2010-11-04?12:04??cameraroam?-?副本\cameraroam.cpp
?????文件???????4584??2010-11-04?08:24??cameraroam?-?副本\cameraroam.dsp
?????文件????????545??2010-11-04?08:24??cameraroam?-?副本\cameraroam.dsw
?????文件??????50176??2010-12-28?16:18??cameraroam?-?副本\cameraroam.ncb
?????文件??????59904??2010-12-28?16:18??cameraroam?-?副本\cameraroam.opt
?????文件????????254??2010-12-28?16:18??cameraroam?-?副本\cameraroam.plg
?????文件???24596480??2010-12-28?16:59??cameraroam?-?副本\cameraroam.sdf
?????文件????????886??2010-12-28?16:44??cameraroam?-?副本\cameraroam.sln
????..A..H.?????10240??2010-12-28?16:59??cameraroam?-?副本\cameraroam.suo
?????文件???????7039??2010-12-28?16:42??cameraroam?-?副本\cameraroam.vcxproj
?????文件???????1194??2010-12-28?16:42??cameraroam?-?副本\cameraroam.vcxproj.filters
?????文件????????143??2010-12-28?16:42??cameraroam?-?副本\cameraroam.vcxproj.user
?????文件??????????2??2010-12-28?16:55??cameraroam?-?副本\Debug\cameraroam.exe.em
?????文件?????????68??2010-12-28?16:55??cameraroam?-?副本\Debug\cameraroam.exe.em
?????文件????????117??2010-12-28?16:56??cameraroam?-?副本\Debug\cameraroam.lastbuildstate
?????文件???????1562??2010-12-28?16:56??cameraroam?-?副本\Debug\cameraroam.log
?????文件??????14741??2010-11-05?08:44??cameraroam?-?副本\Debug\cameraroam.obj
?????文件?????203928??2010-11-04?08:24??cameraroam?-?副本\Debug\cameraroam.pch
?????文件?????451584??2010-11-05?08:44??cameraroam?-?副本\Debug\cameraroam.pdb
?????文件??????????0??2010-12-28?16:56??cameraroam?-?副本\Debug\cameraroam.unsuccessfulbuild
?????文件????????216??2010-12-28?16:55??cameraroam?-?副本\Debug\cameraroam_manifest.rc
?????文件???????1630??2010-12-28?16:45??cameraroam?-?副本\Debug\cl.command.1.tlog
?????文件???????3006??2010-12-28?16:45??cameraroam?-?副本\Debug\CL.read.1.tlog
?????文件????????786??2010-12-28?16:45??cameraroam?-?副本\Debug\CL.write.1.tlog
?????文件??????????2??2010-12-28?16:56??cameraroam?-?副本\Debug\li
?????文件??????????2??2010-12-28?16:56??cameraroam?-?副本\Debug\li
?????文件??????????2??2010-12-28?16:56??cameraroam?-?副本\Debug\li
?????文件????????598??2010-12-28?16:55??cameraroam?-?副本\Debug\rc.command.1.tlog
?????文件????????330??2010-12-28?16:55??cameraroam?-?副本\Debug\rc.read.1.tlog
?????文件????????338??2010-12-28?16:55??cameraroam?-?副本\Debug\rc.write.1.tlog
............此處省略13個文件信息
- 上一篇:通用量規輔助設計程序V3.51
- 下一篇:Tecplot詳細經典教程
評論
共有 條評論