• 大小: 5.06MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-11
  • 语言: 其他
  • 标签: 简单简单  

资源简介

简单的场景,希望大家自行脑补动画,可在原场景上扩充好多好多

资源截图

代码片段和文件信息

// 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.embed.manifest

     文件         68  2010-12-28 16:55  cameraroam - 副本\Debug\cameraroam.exe.embed.manifest.res

     文件        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\link.command.1.tlog

     文件          2  2010-12-28 16:56  cameraroam - 副本\Debug\link.read.1.tlog

     文件          2  2010-12-28 16:56  cameraroam - 副本\Debug\link.write.1.tlog

     文件        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个文件信息

评论

共有 条评论

相关资源