资源简介
请配合我的博客《visual studio 2015下OpenGL库的配置教程》使用,具有一定的参考价值
代码片段和文件信息
// Block.cpp
// OpenGL SuperBible Chapter 1
// Demonstrates an assortment of basic 3D concepts
// Program by Richard S. Wright Jr.
#include // OpenGL toolkit
#include
#include ame.h>
#include
#include
#include
#include
#ifdef __APPLE__
#include
#else
#define FREEGLUT_STATIC
#include
#endif
/////////////////////////////////////////////////////////////////////////////////
// An assortment of needed classes
GLShaderManager shaderManager;
GLMatrixStack modelViewMatrix;
GLMatrixStack projectionMatrix;
GLframe cameraframe;
GLFrustum viewFrustum;
GLBatch cubeBatch;
GLBatch floorBatch;
GLBatch topBlock;
GLBatch frontBlock;
GLBatch leftBlock;
GLGeometryTransform transformPipeline;
M3DMatrix44f shadowMatrix;
// Keep track of effects step
int nStep = 0;
// Lighting data
GLfloat lightAmbient[] = { 0.2f 0.2f 0.2f 1.0f };
GLfloat lightDiffuse[] = { 0.7f 0.7f 0.7f 1.0f };
GLfloat lightSpecular[] = { 0.9f 0.9f 0.9f };
GLfloat vLightPos[] = { -8.0f 20.0f 100.0f 1.0f };
GLuint textures[4];
///////////////////////////////////////////////////////////////////////////////
// Make a cube out of a batch of triangles. Texture coordinates and normals
// are also provided.
void MakeCube(GLBatch& cubeBatch)
{
cubeBatch.Begin(GL_TRIANGLES 36 1);
/////////////////////////////////////////////
// Top of cube
cubeBatch.Normal3f(0.0f 1.0f 0.0f);
cubeBatch.MultiTexCoord2f(0 1.0f 1.0f);
cubeBatch.Vertex3f(1.0f 1.0f 1.0f);
cubeBatch.Normal3f(0.0f 1.0f 0.0f);
cubeBatch.MultiTexCoord2f(0 1.0f 0.0f);
cubeBatch.Vertex3f(1.0f 1.0f -1.0f);
cubeBatch.Normal3f(0.0f 1.0f 0.0f);
cubeBatch.MultiTexCoord2f(0 0.0f 0.0f);
cubeBatch.Vertex3f(-1.0f 1.0f -1.0f);
cubeBatch.Normal3f(0.0f 1.0f 0.0f);
cubeBatch.MultiTexCoord2f(0 1.0f 1.0f);
cubeBatch.Vertex3f(1.0f 1.0f 1.0f);
cubeBatch.Normal3f(0.0f 1.0f 0.0f);
cubeBatch.MultiTexCoord2f(0 0.0f 0.0f);
cubeBatch.Vertex3f(-1.0f 1.0f -1.0f);
cubeBatch.Normal3f(0.0f 1.0f 0.0f);
cubeBatch.MultiTexCoord2f(0 0.0f 1.0f);
cubeBatch.Vertex3f(-1.0f 1.0f 1.0f);
////////////////////////////////////////////
// Bottom of cube
cubeBatch.Normal3f(0.0f -1.0f 0.0f);
cubeBatch.MultiTexCoord2f(0 0.0f 0.0f);
cubeBatch.Vertex3f(-1.0f -1.0f -1.0f);
cubeBatch.Normal3f(0.0f -1.0f 0.0f);
cubeBatch.MultiTexCoord2f(0 1.0f 0.0f);
cubeBatch.Vertex3f(1.0f -1.0f -1.0f);
cubeBatch.Normal3f(0.0f -1.0f 0.0f);
cubeBatch.MultiTexCoord2f(0 1.0f 1.0f);
cubeBatch.Vertex3f(1.0f -1.0f 1.0f);
cubeBatch.Normal3f(0.0f -1.0f 0.0f);
cubeBatch.MultiTexCoord2f(0 0.0f 1.0f);
cubeBatch.Vertex3f(-1.0f -1.0f 1.0f);
cubeBatch.Normal3f(0.0f -1.0f 0.0f);
cubeBatch.MultiTexCoord2f(0 0.0f 0.0f);
cubeBatch.Vertex3f(-1.0f -1.0f -1.0f
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
----------- --------- ---------- ----- ----
23461855 1222
- 上一篇:车型识别系统
- 下一篇:Cadence IC617破解文件
相关资源
- 用VC和opengl开发的模仿cs的小游戏
- 二维/三维图形的几何变换基于OpenGL
- Qt下 用OpenGL 实现的模拟太阳系
- opengl实现的太阳系
- OpenGL 4 Shading Language Cookbook - Second Ed
- OpenGL从盒子飞出的气球
- opengl3D路灯
- 反向运动学演示程序含核心代码
- QtOpenGL以及Graphics-View框架整合的演示
- 基于Qt和GLSL的着色器演示程序+源代码
- OpenGL 4.0 Shading Language Cookbook
- opengl改进的有效边表算法
- 21个天空盒贴图 OPENGL
- 十几个动态MD2文件,可用于OPENGL读取
- 基于OpenGL的机器人虚拟现实
- NeHe OpenGL中文教程+源代码
- opengl读取并显示obj模型 源码
- OpenGL阴影的最简单实现Demo非阴影锥
- SharpGL测试范例
- 山大图形学实验—opengl构建球体
- 一个OpenTK做的OpenGL纹理贴图DEMO
- opengl 三维地形模拟含纹理贴图
- 地形可视化三维可视化
- FreeImage图形库说明文档(中文版+英文
- 基于opengl的虚拟校园漫游系统
- OpenGL配置文件大全GL.H、GLAUX.H等
- OpenGL手势控制立方体旋转(代码详解
- 此程序可以读入off文件,把模型显示
- 支持opengl4.3的glew库64位
- openGL特效动画集合
评论
共有 条评论