资源简介
里面有txt的使用说明,顺代如果要直接点击exe ,那么需要把用到的各个 .dll复制到和exe同一个目录下,顶点着色器和片源着色器文档也要复制过去

代码片段和文件信息
#include “Angel.h“
namespace Angel {
// Create a NULL-terminated string by reading the provided file
static char*
readShaderSource(const char* shaderFile)
{
//FILE* fp = fopen(shaderFile “r“);
//由于vs甚么安全性的原因,不让使用fopen,用下面的fopen_s代替;
FILE *fp;
fopen_s(&fp shaderFile “r“);
if ( fp == NULL ) { return NULL; }
fseek(fp 0L SEEK_END);
long size = ftell(fp);
fseek(fp 0L SEEK_SET);
char* buf = new char[size + 1];
fread(buf 1 size fp);
buf[size] = ‘\0‘;
fclose(fp);
return buf;
}
// Create a GLSL program object from vertex and fragment shader files
GLuint
InitShader(const char* vShaderFile const char* fShaderFile)
{
struct Shader {
const char* filename;
GLenum type;
GLchar* source;
} shaders[2] = {
{ vShaderFile GL_VERTEX_SHADER NULL }
{ fShaderFile GL_FRAGMENT_SHADER NULL }
};
GLuint program = glCreateProgram();
for ( int i = 0; i < 2; ++i ) {
Shader& s = shaders[i];
s.source = readShaderSource( s.filename );
if ( shaders[i].source == NULL ) {
std::cerr << “Failed to read “ << s.filename << std::endl;
exit( EXIT_FAILURE );
}
GLuint shader = glCreateShader( s.type );
glShaderSource( shader 1 (const GLchar**) &s.source NULL );
glCompileShader( shader );
GLint compiled;
glGetShaderiv( shader GL_COMPILE_STATUS &compiled );
if ( !compiled ) {
std::cerr << s.filename << “ failed to compile:“ << std::endl;
GLint logSize;
glGetShaderiv( shader GL_INFO_LOG_LENGTH &logSize );
char* logMsg = new char[logSize];
glGetShaderInfoLog( shader logSize NULL logMsg );
std::cerr << logMsg << std::endl;
delete [] logMsg;
exit( EXIT_FAILURE );
}
delete [] s.source;
glAttachShader( program shader );
}
/* link and error check */
gllinkProgram(program);
GLint linked;
glGetProgramiv( program GL_link_STATUS &linked );
if ( !linked ) {
std::cerr << “Shader program failed to link“ << std::endl;
GLint logSize;
glGetProgramiv( program GL_INFO_LOG_LENGTH &logSize);
char* logMsg = new char[logSize];
glGetProgramInfoLog( program logSize NULL logMsg );
std::cerr << logMsg << std::endl;
delete [] logMsg;
exit( EXIT_FAILURE );
}
/* use program object */
glUseProgram(program);
return program;
}
} // Close namespace Angel block
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4340 2016-03-14 13:01 CEtest\CEtest\CEtest.vcxproj
文件 1256 2016-03-14 12:53 CEtest\CEtest\CEtest.vcxproj.filters
文件 362 2016-03-14 13:19 CEtest\CEtest\CEtest.vcxproj.user
文件 2289 2010-11-16 06:20 CEtest\CEtest\Common\InitShader.cpp
文件 8974 2016-03-30 20:32 CEtest\CEtest\Debug\CEtest.log
文件 306 2016-03-30 20:32 CEtest\CEtest\Debug\CEtest.tlog\CEtest.lastbuildstate
文件 4262 2016-03-30 20:32 CEtest\CEtest\Debug\CEtest.tlog\cl.command.1.tlog
文件 106064 2016-03-30 20:32 CEtest\CEtest\Debug\CEtest.tlog\CL.read.1.tlog
文件 4484 2016-03-30 20:32 CEtest\CEtest\Debug\CEtest.tlog\CL.write.1.tlog
文件 4328 2016-03-30 20:32 CEtest\CEtest\Debug\CEtest.tlog\li
文件 10106 2016-03-30 20:32 CEtest\CEtest\Debug\CEtest.tlog\li
文件 2120 2016-03-30 20:32 CEtest\CEtest\Debug\CEtest.tlog\li
文件 144657 2016-03-30 20:32 CEtest\CEtest\Debug\InitShader.obj
文件 157150 2016-03-30 20:32 CEtest\CEtest\Debug\Source.obj
文件 1043456 2016-03-30 20:32 CEtest\CEtest\Debug\vc120.idb
文件 454656 2016-03-30 20:32 CEtest\CEtest\Debug\vc120.pdb
文件 207360 2014-11-20 16:02 CEtest\CEtest\dll\freeglut.dll
文件 355840 2014-11-20 16:03 CEtest\CEtest\dll\glew32.dll
文件 315904 1997-11-21 17:01 CEtest\CEtest\dll\glu.dll
文件 136704 2013-08-22 12:06 CEtest\CEtest\dll\glu32.dll
文件 180224 1999-07-29 15:48 CEtest\CEtest\dll\GLUT32.DLL
文件 88 2016-03-14 12:02 CEtest\CEtest\fshader.glsl
文件 2166 2010-11-13 17:28 CEtest\CEtest\include\Angel.h
文件 1290 2010-11-07 19:23 CEtest\CEtest\include\CheckError.h
文件 60468 2014-11-27 13:15 CEtest\CEtest\include\GL\FGL.H
文件 7273 2014-11-27 13:15 CEtest\CEtest\include\GL\FGLU.H
文件 10152 2014-11-27 13:15 CEtest\CEtest\include\GL\FGLUT.H
文件 681 2014-11-27 13:15 CEtest\CEtest\include\GL\freeglut.h
文件 9007 2014-11-27 13:15 CEtest\CEtest\include\GL\freeglut_ext.h
文件 26523 2014-11-27 13:15 CEtest\CEtest\include\GL\freeglut_std.h
............此处省略46个文件信息
相关资源
- OpenGL参考手册
- Qt Creator opengl实现四元数鼠标控制轨迹
- OpenGL文档,api大全,可直接查询函数
- opengl轮廓字体源代码
- MFC读三维模型obj文件
- 利用OpenGL写毛笔字算法
- MFC中OpenGL面和体的绘制以及动画效果
- 基于OPENGL的光线跟踪源代码368758
- VC 实现三维旋转(源码)
- 自编用openGL实现3D分形树,分形山
- OpenGL球形贴图自旋程序
- OpenGL导入贴图的Texture类
- 计算机图形学(openGL)代码
- 用OpenGL开发的机械臂运动仿真程序(
- OpenGL-3D坦克模拟
- OPENGL实现世界上最小的3D游戏
- VS2012OpenGL配置所需要的全部libdllh文件
- VS2010、VS2012、VS2013代码自动注释插件
- 通过x264录制RGB屏幕视频vs2013工程,
- 基于OpenGL的仿蝗虫机器人三维动态仿
- 图形学 - OpenGL实现3种三维茶壶显示源
- opengl程序-会跳舞的骷髅
- opengl实现三维网格光顺Laplacian算法
- opengl——爆炸
- OpenGL三维地形建模
- opengl游戏编程徐明亮版(含源码)
- 用OPENGL画的一个简单的直升飞机
- opengl完美天空盒
- FFmpeg-3.1 windows vs2013编译动态库静态库
- 3D绘图程序设计:使用Direct3D 10/9和Ope
评论
共有 条评论