资源简介
OpenGLTexture
代码片段和文件信息
#include “cgl.h“
CGL::CGL()
{
//ctor
}
CGL::CGL(int _width int _height)
{
this->width = _width;
this->height = _height;
// model = mat4(0.5f);
prog = ShaderProgram();
}
CGL::~CGL()
{
//dtor
}
bool CGL::initGL()
{
/* Enable smooth shading */
glShadeModel( GL_SMOOTH );
/* Set the background black */
glClearColor( 0.0f 0.0f 0.0f 0.0f );
/* Depth buffer setup */
glClearDepth( 1.0f );
/* Enables Depth Testing */
glEnable( GL_DEPTH_TEST );
/* The Type Of Depth Test To Do */
glDepthFunc( GL_LEQUAL );
/* Really Nice Perspective Calculations */
glHint( GL_PERSPECTIVE_CORRECTION_HINT GL_NICEST );
model = mat4(1.0f);
view = glm::lookAt(vec3(-2.0f5.0f1.0f) vec3(0.0f1.0f0.0f) vec3(0.0f1.0f0.0f));
bunny = Objobject(“assets/model/cubic.obj“);
return( true );
}
bool CGL::resizeGL(int widthint height)
{
if ( height == 0 )
{
height = 1;
}
//Reset View
glViewport( 0 0 (GLint)width (GLint)height );
//Choose the Matrix mode
glMatrixMode( GL_PROJECTION );
//reset projection
glLoadIdentity();
//set perspection
gluPerspective( 45.0 (GLfloat)width/(GLfloat)height 0.1 100.0 );
//choose Matrix mode
glMatrixMode( GL_MODELVIEW );
glEnable(GL_DEPTH_TEST);
glEnable(GL_TEXTURE_2D);
glLoadIdentity();
}
bool CGL::renderGL()
{
/* These are to calculate our fps */
static GLint T0 = 0;
static GLint frames = 0;
// Clear the color and depth buffers.
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
// We don‘t want to modify the projection matrix. */
glMatrixMode( GL_MODELVIEW );
glDrawArrays(GL_TRIANGLES 0 bunny.vertices.size() );
SDL_GL_SwapBuffers( );
//this->changeMatrics();
/* Gather our frames per second */
frames++;
{
GLint t = SDL_GetTicks();
if (t - T0 >= 5000) {
GLfloat seconds = (t - T0) / 1000.0;
GLfloat fps = frames / seconds;
printf(“%d frames in %g seconds = %g FPS\n“ frames seconds fps);
T0 = t;
frames = 0;
}
}
}
void CGL::compileShader()
{
glGenVertexArrays(1 &VertexArrayID);
glBindVertexArray(VertexArrayID);
glGenBuffers(1 &vertexbuffer);
glBindBuffer(GL_ARRAY_BUFFER vertexbuffer);
glBufferData(GL_ARRAY_BUFFER bunny.vertices.size() * sizeof(glm::vec3) &bunny.vertices[0] GL_STATIC_DRAW);
// 1rst attribute buffer : vertices
glEnableVertexAttribArray(0);
glBindBuffer(GL_ARRAY_BUFFER vertexbuffer);
glVertexAttribPointer(
0 // attribute
3 // size
GL_FLOAT // type
GL_FALSE // normalized?
0 // stride
(void*)0 // array buffer offset
);
// 2rd attribute buffer : normals
GLuint normalbuffer;
glGenBuffers(1 &normalbuffer);
glBindBuffer(GL_ARRAY_BUFFER normalbuffer);
glBufferData(GL_ARRAY_BUFFER bunny.normals
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-11-24 10:57 OpenGLPro16_Texturing\
文件 207 2013-08-07 16:35 OpenGLPro16_Texturing\README.txt
文件 194 2013-08-07 16:35 OpenGLPro16_Texturing\README.txt~
文件 1555 2013-08-27 22:38 OpenGLPro16_Texturing\SDLTest.cbp
文件 1437 2013-08-07 16:04 OpenGLPro16_Texturing\SDLTest.cbp~
文件 7746 2013-11-24 10:43 OpenGLPro16_Texturing\SDLTest.depend
文件 1280 2013-11-24 10:57 OpenGLPro16_Texturing\SDLTest.layout
文件 1279 2013-11-24 10:57 OpenGLPro16_Texturing\SDLTest.layout.cbTemp
目录 0 2013-11-22 16:13 OpenGLPro16_Texturing\assets\
目录 0 2013-11-23 22:45 OpenGLPro16_Texturing\assets\model\
文件 57404 2013-08-16 20:33 OpenGLPro16_Texturing\assets\model\ball.obj
文件 43662 2013-08-17 10:25 OpenGLPro16_Texturing\assets\model\ball2.obj
文件 4862151 2013-08-16 20:29 OpenGLPro16_Texturing\assets\model\bunny.obj
文件 944 2013-11-23 22:40 OpenGLPro16_Texturing\assets\model\cubic.obj
文件 7037230 2013-08-16 23:18 OpenGLPro16_Texturing\assets\model\dragon.obj
文件 58002 2013-08-01 14:59 OpenGLPro16_Texturing\assets\model\monkey.obj
文件 194614 2013-08-21 21:39 OpenGLPro16_Texturing\assets\model\scene.obj
目录 0 2013-11-24 09:53 OpenGLPro16_Texturing\assets\textures\
文件 210980 2012-06-15 10:39 OpenGLPro16_Texturing\assets\textures\brick.jpg
文件 196662 2001-06-16 10:29 OpenGLPro16_Texturing\assets\textures\crate.bmp
文件 196662 2013-11-24 09:53 OpenGLPro16_Texturing\assets\textures\crate_normal.bmp
文件 2193338 2012-06-15 10:39 OpenGLPro16_Texturing\assets\textures\moss.png
文件 11159 2013-08-05 19:56 OpenGLPro16_Texturing\assets\textures\smile.png
目录 0 2013-11-22 16:13 OpenGLPro16_Texturing\bin\
目录 0 2013-11-24 10:55 OpenGLPro16_Texturing\bin\Debug\
文件 457598 2013-11-24 10:55 OpenGLPro16_Texturing\bin\Debug\SDLTest
文件 10098 2013-11-24 10:54 OpenGLPro16_Texturing\cgl.cpp
文件 739 2013-11-24 10:43 OpenGLPro16_Texturing\cgl.h
文件 3143 2013-08-21 10:42 OpenGLPro16_Texturing\csdl.cpp
文件 766 2013-08-20 23:13 OpenGLPro16_Texturing\csdl.h
文件 704 2013-11-24 09:15 OpenGLPro16_Texturing\main.cpp
............此处省略28个文件信息
相关资源
- OpenGLPro12
- openGL写的飞机动态射击模型
- 太阳系仿真源代码,opengl模型太阳系
- OpenGL 的 glut glaux
- 计算机图形学课程设计--OpenGL--太阳、
- Windows SDK 环境下 OpenGL实现
- OPenGL实现的虚拟校园环境漫游系统
- OpenGL函数与范例解析手册(中文)带
- Qt Creator中的3D绘图及动画教程(参照
- OpenGL依赖库
- 用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构建球体
评论
共有 条评论