#include <glshader.h>
Static Public Member Functions | |
| static GLShaderStatus | CreateFragmentShader (const std::string &, GLFragmentShader **) |
| static GLShaderStatus | CreateFragmentShader (const std::vector< std::string > &, GLFragmentShader **) |
| static GLShaderStatus | CreateProgram (const std::string &vs, const std::string &fs, GLProgram **) |
| static GLShaderStatus | CreateProgram (const std::vector< std::string > &vs, const std::vector< std::string > &fs, GLProgram **) |
| static GLShaderStatus | CreateProgram (const GLVertexShader &vs, const GLFragmentShader &fs, GLProgram **) |
| static GLShaderStatus | CreateVertexShader (const std::string &, GLVertexShader **) |
| static GLShaderStatus | CreateVertexShader (const std::vector< std::string > &, GLVertexShader **) |
|
||||||||||||
|
Definition at line 257 of file glshader.cpp. References CreateFragmentShader(). 00259 {
00260 vector<string> v;
00261 v.push_back(source);
00262 return CreateFragmentShader(v, fs);
00263 }
|
|
||||||||||||
|
Definition at line 219 of file glshader.cpp. References g_shaderLogFile, GLShader::getID(), GetInfoLog(), GL_FRAGMENT_SHADER_ARB, glx::glCreateShaderObjectARB, ShaderStatus_OK, and ShaderStatus_OutOfMemory. Referenced by ShaderManager::buildFragmentShader(), ShaderManager::buildRingsFragmentShader(), CreateFragmentShader(), and CreateProgram(). 00221 {
00222 GLint fsid = glx::glCreateShaderObjectARB(GL_FRAGMENT_SHADER_ARB);
00223
00224 GLFragmentShader* shader = new GLFragmentShader(fsid);
00225 if (!shader)
00226 return ShaderStatus_OutOfMemory;
00227
00228 GLShaderStatus status = shader->compile(source);
00229 if (status != ShaderStatus_OK)
00230 {
00231 if (g_shaderLogFile != NULL)
00232 {
00233 *g_shaderLogFile << "Error compiling fragment shader:\n";
00234 *g_shaderLogFile << GetInfoLog(shader->getID());
00235 }
00236 return status;
00237 }
00238
00239 *fs = shader;
00240
00241 return ShaderStatus_OK;
00242 }
|
|
||||||||||||||||
|
Definition at line 324 of file glshader.cpp. References CreateProgram(). 00327 {
00328 vector<string> vsSourceVec;
00329 vsSourceVec.push_back(vsSource);
00330 vector<string> fsSourceVec;
00331 fsSourceVec.push_back(fsSource);
00332
00333 return CreateProgram(vsSourceVec, fsSourceVec, progOut);
00334 }
|
|
||||||||||||||||
|
Definition at line 287 of file glshader.cpp. References CreateFragmentShader(), CreateProgram(), CreateVertexShader(), and ShaderStatus_OK. 00290 {
00291 GLVertexShader* vs = NULL;
00292 GLShaderStatus status = CreateVertexShader(vsSource, &vs);
00293 if (status != ShaderStatus_OK)
00294 return status;
00295
00296 GLFragmentShader* fs = NULL;
00297 status = CreateFragmentShader(fsSource, &fs);
00298 if (status != ShaderStatus_OK)
00299 {
00300 delete vs;
00301 return status;
00302 }
00303
00304 GLProgram* prog = NULL;
00305 status = CreateProgram(*vs, *fs, &prog);
00306 if (status != ShaderStatus_OK)
00307 {
00308 delete vs;
00309 delete fs;
00310 return status;
00311 }
00312
00313 *progOut = prog;
00314
00315 // No need to keep these around--the program doesn't reference them
00316 delete vs;
00317 delete fs;
00318
00319 return ShaderStatus_OK;
00320 }
|
|
||||||||||||||||
|
Definition at line 267 of file glshader.cpp. References GLProgram::attach(), glx::glCreateProgramObjectARB, ShaderStatus_OK, and ShaderStatus_OutOfMemory. Referenced by ShaderManager::buildProgram(), and CreateProgram(). 00270 {
00271 GLint progid = glx::glCreateProgramObjectARB();
00272
00273 GLProgram* prog = new GLProgram(progid);
00274 if (!prog)
00275 return ShaderStatus_OutOfMemory;
00276
00277 prog->attach(vs);
00278 prog->attach(fs);
00279
00280 *progOut = prog;
00281
00282 return ShaderStatus_OK;
00283 }
|
|
||||||||||||
|
Definition at line 246 of file glshader.cpp. References CreateVertexShader(). 00249 {
00250 vector<string> v;
00251 v.push_back(source);
00252 return CreateVertexShader(v, vs);
00253 }
|
|
||||||||||||
|
Definition at line 192 of file glshader.cpp. References g_shaderLogFile, GLShader::getID(), GetInfoLog(), GL_VERTEX_SHADER_ARB, glx::glCreateShaderObjectARB, ShaderStatus_OK, and ShaderStatus_OutOfMemory. Referenced by ShaderManager::buildRingsVertexShader(), ShaderManager::buildVertexShader(), CreateProgram(), and CreateVertexShader(). 00194 {
00195 GLint vsid = glx::glCreateShaderObjectARB(GL_VERTEX_SHADER_ARB);
00196
00197 GLVertexShader* shader = new GLVertexShader(vsid);
00198 if (!shader)
00199 return ShaderStatus_OutOfMemory;
00200
00201 GLShaderStatus status = shader->compile(source);
00202 if (status != ShaderStatus_OK)
00203 {
00204 if (g_shaderLogFile != NULL)
00205 {
00206 *g_shaderLogFile << "Error compiling vertex shader:\n";
00207 *g_shaderLogFile << GetInfoLog(shader->getID());
00208 }
00209 return status;
00210 }
00211
00212 *vs = shader;
00213
00214 return ShaderStatus_OK;
00215 }
|
1.4.1