MCPcopy Create free account
hub / github.com/DaedalusX64/daedalus / InitShaderProgram

Function InitShaderProgram

Source/SysGL/HLEGraphics/RendererGL.cpp:468–512  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

466}
467
468static void InitShaderProgram(ShaderProgram * program, const ShaderConfiguration & config, GLuint shader_program)
469{
470 program->config = config;
471 program->program = shader_program;
472 program->uloc_project = glGetUniformLocation(shader_program, "uProject");
473 program->uloc_primcol = glGetUniformLocation(shader_program, "uPrimColour");
474 program->uloc_envcol = glGetUniformLocation(shader_program, "uEnvColour");
475 program->uloc_primlodfrac = glGetUniformLocation(shader_program, "uPrimLODFrac");
476
477 program->uloc_foo = glGetUniformLocation(shader_program, "uFoo");
478
479 program->uloc_tileclamp[0] = glGetUniformLocation(shader_program, "uTileClampEnable0");
480 program->uloc_tiletl[0] = glGetUniformLocation(shader_program, "uTileTL0");
481 program->uloc_tilebr[0] = glGetUniformLocation(shader_program, "uTileBR0");
482 program->uloc_tileshift[0] = glGetUniformLocation(shader_program, "uTileShift0");
483 program->uloc_tilemask[0] = glGetUniformLocation(shader_program, "uTileMask0");
484 program->uloc_tilemirror[0] = glGetUniformLocation(shader_program, "uTileMirror0");
485 program->uloc_texscale[0] = glGetUniformLocation(shader_program, "uTexScale0");
486 program->uloc_texture [0] = glGetUniformLocation(shader_program, "uTexture0");
487
488 program->uloc_tileclamp[1] = glGetUniformLocation(shader_program, "uTileClampEnable1");
489 program->uloc_tiletl[1] = glGetUniformLocation(shader_program, "uTileTL1");
490 program->uloc_tilebr[1] = glGetUniformLocation(shader_program, "uTileBR1");
491 program->uloc_tileshift[1] = glGetUniformLocation(shader_program, "uTileShift1");
492 program->uloc_tilemask[1] = glGetUniformLocation(shader_program, "uTileMask1");
493 program->uloc_tilemirror[1] = glGetUniformLocation(shader_program, "uTileMirror1");
494 program->uloc_texscale[1] = glGetUniformLocation(shader_program, "uTexScale1");
495 program->uloc_texture[1] = glGetUniformLocation(shader_program, "uTexture1");
496
497 GLuint attrloc;
498 attrloc = glGetAttribLocation(program->program, "in_pos");
499 glBindBuffer(GL_ARRAY_BUFFER, gVBOs[kPositionBuffer]);
500 glEnableVertexAttribArray(attrloc);
501 glVertexAttribPointer(attrloc, 3, GL_FLOAT, GL_FALSE, 0, 0);
502
503 attrloc = glGetAttribLocation(program->program, "in_uv");
504 glBindBuffer(GL_ARRAY_BUFFER, gVBOs[kTexCoordBuffer]);
505 glEnableVertexAttribArray(attrloc);
506 glVertexAttribPointer(attrloc, 2, GL_SHORT, GL_FALSE, 0, 0);
507
508 attrloc = glGetAttribLocation(program->program, "in_col");
509 glBindBuffer(GL_ARRAY_BUFFER, gVBOs[kColorBuffer]);
510 glEnableVertexAttribArray(attrloc);
511 glVertexAttribPointer(attrloc, 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, 0);
512}
513
514void RendererGL::MakeShaderConfigFromCurrentState(ShaderConfiguration * config) const
515{

Callers 1

GetShaderForConfigFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected