里面有txt的使用说明,顺代如果要直接点击exe ,那么需要把用到的各个 .dll复制到和exe同一个目录下,顶点着色器和片源着色器文档也要复制过去
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4340 2016-03-14 13:01 CEtestCEtestCEtest.vcxproj
文件 1256 2016-03-14 12:53 CEtestCEtestCEtest.vcxproj.filters
文件 362 2016-03-14 13:19 CEtestCEtestCEtest.vcxproj.user
文件 2289 2010-11-16 06:20 CEtestCEtestCommonInitShader.cpp
文件 8974 2016-03-30 20:32 CEtestCEtestDebugCEtest.log
文件 306 2016-03-30 20:32 CEtestCEtestDebugCEtest.tlogCEtest.lastbuildstate
文件 4262 2016-03-30 20:32 CEtestCEtestDebugCEtest.tlogcl.command.1.tlog
文件 106064 2016-03-30 20:32 CEtestCEtestDebugCEtest.tlogCL.read.1.tlog
文件 4484 2016-03-30 20:32 CEtestCEtestDebugCEtest.tlogCL.write.1.tlog
文件 4328 2016-03-30 20:32 CEtestCEtestDebugCEtest.tloglink.command.1.tlog
文件 10106 2016-03-30 20:32 CEtestCEtestDebugCEtest.tloglink.read.1.tlog
文件 2120 2016-03-30 20:32 CEtestCEtestDebugCEtest.tloglink.write.1.tlog
文件 144657 2016-03-30 20:32 CEtestCEtestDebugInitShader.obj
文件 157150 2016-03-30 20:32 CEtestCEtestDebugSource.obj
文件 1043456 2016-03-30 20:32 CEtestCEtestDebugvc120.idb
文件 454656 2016-03-30 20:32 CEtestCEtestDebugvc120.pdb
文件 207360 2014-11-20 16:02 CEtestCEtestdllfreeglut.dll
文件 355840 2014-11-20 16:03 CEtestCEtestdllglew32.dll
文件 315904 1997-11-21 17:01 CEtestCEtestdllglu.dll
文件 136704 2013-08-22 12:06 CEtestCEtestdllglu32.dll
文件 180224 1999-07-29 15:48 CEtestCEtestdllGLUT32.DLL
文件 88 2016-03-14 12:02 CEtestCEtestfshader.glsl
文件 2166 2010-11-13 17:28 CEtestCEtestincludeAngel.h
文件 1290 2010-11-07 19:23 CEtestCEtestincludeCheckError.h
文件 60468 2014-11-27 13:15 CEtestCEtestincludeGLFGL.H
文件 7273 2014-11-27 13:15 CEtestCEtestincludeGLFGLU.H
文件 10152 2014-11-27 13:15 CEtestCEtestincludeGLFGLUT.H
文件 681 2014-11-27 13:15 CEtestCEtestincludeGLfreeglut.h
文件 9007 2014-11-27 13:15 CEtestCEtestincludeGLfreeglut_ext.h
文件 26523 2014-11-27 13:15 CEtestCEtestincludeGLfreeglut_std.h
............此处省略46个文件信息
#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] = ‘ ‘;
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 CEtestCEtestCEtest.vcxproj
文件 1256 2016-03-14 12:53 CEtestCEtestCEtest.vcxproj.filters
文件 362 2016-03-14 13:19 CEtestCEtestCEtest.vcxproj.user
文件 2289 2010-11-16 06:20 CEtestCEtestCommonInitShader.cpp
文件 8974 2016-03-30 20:32 CEtestCEtestDebugCEtest.log
文件 306 2016-03-30 20:32 CEtestCEtestDebugCEtest.tlogCEtest.lastbuildstate
文件 4262 2016-03-30 20:32 CEtestCEtestDebugCEtest.tlogcl.command.1.tlog
文件 106064 2016-03-30 20:32 CEtestCEtestDebugCEtest.tlogCL.read.1.tlog
文件 4484 2016-03-30 20:32 CEtestCEtestDebugCEtest.tlogCL.write.1.tlog
文件 4328 2016-03-30 20:32 CEtestCEtestDebugCEtest.tlogli
文件 10106 2016-03-30 20:32 CEtestCEtestDebugCEtest.tlogli
文件 2120 2016-03-30 20:32 CEtestCEtestDebugCEtest.tlogli
文件 144657 2016-03-30 20:32 CEtestCEtestDebugInitShader.obj
文件 157150 2016-03-30 20:32 CEtestCEtestDebugSource.obj
文件 1043456 2016-03-30 20:32 CEtestCEtestDebugvc120.idb
文件 454656 2016-03-30 20:32 CEtestCEtestDebugvc120.pdb
文件 207360 2014-11-20 16:02 CEtestCEtestdllfreeglut.dll
文件 355840 2014-11-20 16:03 CEtestCEtestdllglew32.dll
文件 315904 1997-11-21 17:01 CEtestCEtestdllglu.dll
文件 136704 2013-08-22 12:06 CEtestCEtestdllglu32.dll
文件 180224 1999-07-29 15:48 CEtestCEtestdllGLUT32.DLL
文件 88 2016-03-14 12:02 CEtestCEtestfshader.glsl
文件 2166 2010-11-13 17:28 CEtestCEtestincludeAngel.h
文件 1290 2010-11-07 19:23 CEtestCEtestincludeCheckError.h
文件 60468 2014-11-27 13:15 CEtestCEtestincludeGLFGL.H
文件 7273 2014-11-27 13:15 CEtestCEtestincludeGLFGLU.H
文件 10152 2014-11-27 13:15 CEtestCEtestincludeGLFGLUT.H
文件 681 2014-11-27 13:15 CEtestCEtestincludeGLfreeglut.h
文件 9007 2014-11-27 13:15 CEtestCEtestincludeGLfreeglut_ext.h
文件 26523 2014-11-27 13:15 CEtestCEtestincludeGLfreeglut_std.h
............此处省略46个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)