资源简介
三维立体STY字母模型,可旋转移动等。字母S可动。代码比较简单。
代码片段和文件信息
/*
* WireframeScene.c
*
* Author: Samuel R. Buss
*
* Bug reports: Sam Buss sbuss@ucsd.edu.
*
* base code for homework project #3 Math 155A Spring 2005
*
* USAGE: Please keep these controls in your homework assignment!!! (请保持以下控制不变!!!)
*
* Press arrow keys to control view position. (用方向键控制视点位置)
* left and right keys rotate the viewpoint left and right (向左和向右箭头分别将视点向左和向右旋转)
* Up and down keys rotate viewpoint up and down (up to 80 degrees).(向上和向下箭头分别将视点向上和向下旋转(最多转80度))
*
* Press “R“ key to make step size bigger (if moving too slowly) (按“R“键使得步长增大(如果觉得移动太慢的话按此键))
* Press “r“ key to make step size smaller (if moving too fast).(按“r“键使得步长减小(如果觉得移动太快的话按此键))
*
* Press “w“ key to toggle wireframe mode on and off (按“w“键来切换线框模式开关)
*
* Press “M“ “m“ to increase decrease Mesh Resolution (按“M““m“键来增加或减小网格分辨率)
*
* Press “c“ to toggle culling backfaces.(按“c“来剔除背面)
*
* Press ESCAPE to exit.(按ESC键退出)
*
*/
#include // For math routines (such as sqrt & trig). (为使用数学函数(如sqrt和trig))
#include
#include // For the “exit“ function (为使用exit函数)
#include // OpenGL Graphics Utility Library
#include “WireframeScene.h“
// The next global variable controls the animation‘s state and speed.(下面的全局变量控制动画的状态和速度)
float RotateAngle = 0.0f; // Angle in degrees of rotation around y-axis (绕y轴旋转的角度)
float Azimuth = 0.0; // Rotated up or down by this amount (向上或向下旋转的角度)
float AngleStepSize = 3.0f; // Step three degrees at a time (旋转视点时步长为3度)
const float AngleStepMax = 10.0f; // 步长最大值
const float AngleStepMin = 0.1f; // 步长最小值
// Some global state variables (一些全局状态变量)
int MeshCount = 6; // The mesh resolution for the mushroom top (蘑菇顶的网格分辨率)
int WireframeOn = 1; // == 1 for wire frame mode (==1时为线框模式)
int CullBackFacesOn = 0; // == 1 if culling back faces.(==1时剔除背面)
const int MeshCountMin = 3; // 网格分辨率最小值
// Animation (动画相关的控制变量)
const float timeStep = 0.01;
float t = 0;
// glutKeyboardFunc is called below to set this function to handle
// all “normal“ key presses.(处理普通按键事件的函数)
void myKeyboardFunc( unsigned char key int x int y )
{
switch ( key ) {
case ‘c‘:// 面剔除
CullBackFacesOn = 1-CullBackFacesOn;
if ( CullBackFacesOn ) {
glEnable( GL_CULL_FACE ); // Enable culling of back faces (开启面剔除(initRendering函数中已设置了剔除背面))
}
else {
glDisable( GL_CULL_FACE ); // Show all faces (front and back)(关闭面剔除,即显示所有面)
}
glutPostRedisplay();
break;
case ‘m‘:// 减小网格分辨率
MeshCount = (MeshCount>MeshCountMin) ? MeshCount-1 : MeshCount;
glutPostRedisplay();
break;
case ‘M‘:// 增加网格分辨率
MeshCount ++;
glutPostRedisplay();
break;
case ‘w‘: // 切换线框模式
WireframeOn = 1-WireframeOn;
if ( WireframeOn ) {
glPolygonMode ( GL_FRONT_AND_BACK GL_LINE ); // Just show wireframes (开启线框模式(通过设置多边形显示模式为GL_LINE))
}
else {
glPolygonMode ( GL_FRONT_AND_BACK GL_FILL ); // Show sol
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 40960 2010-06-23 02:25 STY孙滔佑 实验四\Debug\STY.exe
文件 662516 2010-06-23 02:25 STY孙滔佑 实验四\Debug\STY.ilk
文件 478208 2010-06-23 02:25 STY孙滔佑 实验四\Debug\STY.pdb
文件 6570 2010-06-23 02:25 STY孙滔佑 实验四\STY\Debug\BuildLog.htm
文件 67 2010-06-23 02:25 STY孙滔佑 实验四\STY\Debug\mt.dep
文件 663 2010-06-23 01:54 STY孙滔佑 实验四\STY\Debug\STY.exe.em
文件 728 2010-06-23 01:54 STY孙滔佑 实验四\STY\Debug\STY.exe.em
文件 621 2010-06-23 02:25 STY孙滔佑 实验四\STY\Debug\STY.exe.intermediate.manifest
文件 93184 2010-06-23 02:25 STY孙滔佑 实验四\STY\Debug\vc90.idb
文件 69632 2010-06-23 02:25 STY孙滔佑 实验四\STY\Debug\vc90.pdb
文件 43948 2010-06-23 02:25 STY孙滔佑 实验四\STY\Debug\Wirefr
文件 3986 2010-06-23 01:44 STY孙滔佑 实验四\STY\STY.vcproj
文件 1427 2010-06-23 09:34 STY孙滔佑 实验四\STY\STY.vcproj.SUNTAOYO-4DEB7C.suntaoyou.user
文件 14048 2010-06-23 02:25 STY孙滔佑 实验四\STY\Wirefr
文件 460 2010-05-28 10:00 STY孙滔佑 实验四\STY\Wirefr
文件 625664 2010-06-23 09:34 STY孙滔佑 实验四\STY.ncb
文件 875 2010-06-23 01:40 STY孙滔佑 实验四\STY.sln
..A..H. 9216 2010-06-23 09:34 STY孙滔佑 实验四\STY.suo
目录 0 2010-06-23 02:25 STY孙滔佑 实验四\STY\Debug
目录 0 2010-06-23 02:23 STY孙滔佑 实验四\Debug
目录 0 2010-06-23 02:25 STY孙滔佑 实验四\STY
目录 0 2010-06-23 09:33 STY孙滔佑 实验四
----------- --------- ---------- ----- ----
2052773 22
- 上一篇:局域网时间同步工具
- 下一篇:VC读取JPG的EXIF信息的一个类
相关资源
- QT opengl 绘制立体图形
- question 6-student score management system.rar
- 八路抢答器代码
- Qt加载3D模型
- openGL特效动画
- 链表实现学生管理
- 数据结构实验-链式存储和顺序存储实
- 基于qt开发的会员管理系统
- opengl计算机图形学3D雪人
- OPENGL ES 2.0 播放视频
- 数据结构插队问题代码
- opengl 一个有光照效果带纹理会旋转的
- opengl写的台灯
- 输入10个整数,将其中最小的数与第一
- OpenGL SuperBible Library.rar
- 科学计算导论实验报告
- 球体背面消隐课程设计及报告
- 计算机图形学OpenGL源码
- 基于opengl的光线跟踪源代码
- opengl给旋转的立方体和球体赋予纹理
- G.729的实现代码
- 东方电子DF9300通讯管理机包含规约:
- glut库
- opengl绘制的三维汽车
- 3D五指棋opengl
- 使用Qt实现的阴影映射源代码
- 3DS文件在OpenGL中的读取和显示源代码
- opencv检查图片中是否有人
- 计算机图形学.pdf
- glaux系列包
评论
共有 条评论