opengl读入obj文件并实现平移旋转贴图操作


该资源同时包含了vs2015下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

#pragma comment(lib“gltools.lib“)

/////////////////////////////////////////////////////////////////////////////////
// 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);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-11-24 19:35  OpenGL安装包
     目录           0  2018-11-24 19:35  OpenGL安装包Demo
     目录           0  2018-11-24 19:35  OpenGL安装包DemoBlock
     文件       18990  2017-04-18 22:04  OpenGL安装包DemoBlockBlock.cpp
     文件      196652  2010-03-20 19:17  OpenGL安装包DemoBlockBlock4.tga
     文件      196652  2010-03-20 19:17  OpenGL安装包DemoBlockBlock5.tga
     文件      196652  2010-03-20 19:17  OpenGL安装包DemoBlockBlock6.tga
     文件      196652  2010-03-20 19:17  OpenGL安装包DemoBlockfloor.tga
     目录           0  2018-11-24 19:35  OpenGL安装包freeglut
     文件      210806  2017-04-15 14:51  OpenGL安装包freeglutfreeglut-MSVC-3.0.0-2.mp.zip
     目录           0  2018-11-24 19:35  OpenGL安装包freeglutfreeglut
     目录           0  2018-11-24 19:35  OpenGL安装包freeglutfreeglutin
     文件      198656  2015-03-15 14:28  OpenGL安装包freeglutfreeglutinfreeglut.dll
     目录           0  2018-11-24 19:35  OpenGL安装包freeglutfreeglutinx64
     文件      235008  2015-03-14 16:02  OpenGL安装包freeglutfreeglutinx64freeglut.dll
     文件        1466  2013-05-11 11:20  OpenGL安装包freeglutfreeglutCopying.txt
     目录           0  2018-11-24 19:35  OpenGL安装包freeglutfreeglutinclude
     目录           0  2018-11-24 19:35  OpenGL安装包freeglutfreeglutincludeGL
     文件         703  2015-03-14 15:34  OpenGL安装包freeglutfreeglutincludeGLfreeglut.h
     文件       10682  2015-03-14 15:34  OpenGL安装包freeglutfreeglutincludeGLfreeglut_ext.h
     文件       27470  2015-07-22 08:45  OpenGL安装包freeglutfreeglutincludeGLfreeglut_std.h
     文件         660  2015-03-14 15:34  OpenGL安装包freeglutfreeglutincludeGLglut.h
     目录           0  2018-11-24 19:35  OpenGL安装包freeglutfreeglutlib
     文件       39732  2015-03-14 15:19  OpenGL安装包freeglutfreeglutlibfreeglut.lib
     目录           0  2018-11-24 19:35  OpenGL安装包freeglutfreeglutlibx64
     文件       36518  2015-03-14 15:24  OpenGL安装包freeglutfreeglutlibx64freeglut.lib
     文件        5065  2015-07-22 08:47  OpenGL安装包freeglutfreeglutReadme.txt
     目录           0  2018-11-24 19:35  OpenGL安装包glew
     目录           0  2018-11-24 19:35  OpenGL安装包glewcompiled
     文件     2158207  2017-04-15 13:33  OpenGL安装包glewcompiledglew-2.0.0-win32.zip
     目录           0  2018-11-24 19:35  OpenGL安装包glewcompiledglew-2.0.0
............此处省略1263个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)