void wyc::xrenderer::initialize_shaders() { // register uniform blocks REGISTER_UNIFORM_BLOCK(gui_context); // load shader programs USE_SHADER(simple2d,"simple2d.vs","simple2d.fs",0); USE_SHADER(glyph,"simple2d.vs","glyph.fs",0); USE_SHADER(glyph_smooth,"simple2d.vs","glyph_smooth.fs",0); USE_SHADER(glyph_outline,"simple2d.vs","glyph_outline.fs",0); USE_SHADER(glyph_glow,"simple2d.vs","glyph_glow.fs",0); }
void enableGlobalShader(s_shader_capabilities_t *myShader) { //ConsoleMessage ("enableGlobalShader, have myShader %d",myShader->myShaderProgram); if (myShader == NULL) { TURN_GLOBAL_SHADER_OFF; return; }; getAppearanceProperties()->currentShaderProperties = myShader; USE_SHADER(myShader->myShaderProgram); }
/* finished rendering thisshape. */ void turnGlobalShaderOff(void) { ppRenderFuncs p = (ppRenderFuncs)gglobal()->RenderFuncs.prv; /* get rid of the shader */ getAppearanceProperties()->currentShaderProperties = NULL; USE_SHADER(0); /* set array booleans back to defaults */ p->shaderNormalArray = TRUE; p->shaderVertexArray = TRUE; p->shaderColourArray = FALSE; p->shaderTextureArray = FALSE; }