91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-04
  • 語言: 其他
  • 標簽: OPENGL??3D??

資源簡介

OPENGL學習材料,3D小雪人畫面,非常適合初學者使用。O(∩_∩)O哈哈~

資源截圖

代碼片段和文件信息


#include?
#include?
#include?

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?DrawSnowman()
{
??glColor3f(1.01.01.0);

??//畫身體
??glTranslatef(0.0f0.75f0.0f);???//坐標轉換,用當前矩陣乘以參數指定的平移矩陣
??glutSolidSphere(0.75f2020);????//繪制實心球體。
???//0.75f球體的半徑;
???//20球體圍繞z軸(相對于經度線)分割的數目;
???//20球體沿著z軸(相對于維度線)分割的數目
???//glutWireSphere(GLdouble?radiusGLint?slicesGLint?stacks)—繪制線框球體參數意義同上。
??//畫腦袋
??glTranslatef(0.0f1.0f0.0f);
??glutSolidSphere(0.25f2020);
??//畫眼睛
??glPushMatrix();
??glColor3f(0.0f0.0f0.0f);

??glTranslatef(0.05f0.1f0.18f);
??glutSolidSphere(0.05f1010);
??glTranslatef(-0.1f0.0f0.0f);
??glutSolidSphere(0.05f1010);

??glPopMatrix();
??//畫鼻子
??glColor3f(1.0f0.5f0.5f);
??glRotatef(0.0f1.0f0.0f0.0f);
??glutSolidCone(0.08f0.5f102);???//繪制實心圓錐體
//0.08f圓錐體基底的半徑;
//0.5f圓錐體的高度;
//10圓錐體圍繞z軸的分割數;
//2圓錐體沿著z軸的分割數??
//glutSolidTorus(GLdouble?innerradiusGLdouble?outerradiusGLint?nslicesGLint?nstacks)繪制實心圓環
????//innerradius圓環內半徑;
//outerradius圓環外半徑;
//nslices沿著圓環方向的分割數;
//nstacks圓環的換線數

}

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();
}


void?Resize(int?wint?h)
{
??if(h==0)h=1;

??ratio=1.0*w/h;

??glMatrixMode(GL_PROJECTION);????//指定哪一個矩陣式當前操作的矩陣。
??????//可選擇的數值為:
??????//GL_PROJECTION對投影矩陣堆棧應用隨后的矩陣操作
??????//GL_MODELVIEW對模型視圖矩陣堆棧應用隨后的矩陣操作
??????//GL_TEXTRUE對紋理矩陣堆棧應用隨后的矩陣操作
??glLoadIdentity();???????????????//將當前矩陣設置為單位矩陣

??glViewport(00wh);
??gluPerspective(45ratio11000);//創建透視投影矩陣函數。
??//45是y方向上可見區域的夾角(視場角),單位度;
??//ratio縱橫比,確定x方向的可見區域;
??//(11000)從觀察者到近修建平面和遠修建平面的距離。

??glMatrixMode(GL_MODELVIEW);
??glLoadIdentity();

??gluLookAt(xyzx+lxy+lyz+lz0.01.00.0);//定義視景轉換函數。
??//(xyz)視點的位置;
??//(lxlylz)參考點的位置;
??????//(0.01.00.0)向上矢量的方向
}

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???for(int?j=-3;?j???{
???glPushMatrix();
???glTranslatef(i*10.00j?*?10.0);
???glCallList(snowman_display_list);;
???glPopMatrix();
??}

??glutSwapBuf

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????4522??2011-07-11?14:17??3D小雪人??VC6.0+OPENGL\woz.cpp

?????目錄??????????0??2011-07-12?11:34??3D小雪人??VC6.0+OPENGL

-----------?---------??----------?-----??----

?????????????????4522????????????????????2


評論

共有 條評論