Skip to content

Commit

Permalink
GRAPHICS: Register text and texture shader programs
Browse files Browse the repository at this point in the history
  • Loading branch information
mirv-sillyfish authored and DrMcCoy committed Nov 17, 2018
1 parent ef9a748 commit 741e031
Showing 1 changed file with 58 additions and 0 deletions.
58 changes: 58 additions & 0 deletions src/graphics/shader/shader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@

#include "src/graphics/shader/shader.h"
#include "src/graphics/shader/shadercode.h"
#include "src/graphics/shader/shaderbuilder.h"

#include "src/graphics/aurora/texture.h"

Expand Down Expand Up @@ -105,6 +106,63 @@ void ShaderManager::init() {
fObj = getShaderObject("default/color.frag", Graphics::Shader::fragmentColor2xText, SHADER_FRAGMENT);
registerShaderProgram(vObj, fObj);
}

Graphics::Shader::ShaderDescriptor cripter;
cripter.declareInput(Graphics::Shader::ShaderDescriptor::INPUT_POSITION0);
cripter.declareInput(Graphics::Shader::ShaderDescriptor::INPUT_UV0);
cripter.declareInput(Graphics::Shader::ShaderDescriptor::INPUT_COLOUR);
cripter.declareSampler(Graphics::Shader::ShaderDescriptor::SAMPLER_TEXTURE_0,
Graphics::Shader::ShaderDescriptor::SAMPLER_2D);
cripter.connect(Graphics::Shader::ShaderDescriptor::SAMPLER_TEXTURE_0,
Graphics::Shader::ShaderDescriptor::INPUT_UV0,
Graphics::Shader::ShaderDescriptor::TEXTURE_DIFFUSE);
cripter.addPass(Graphics::Shader::ShaderDescriptor::TEXTURE_DIFFUSE,
Graphics::Shader::ShaderDescriptor::BLEND_ONE);
cripter.addPass(Graphics::Shader::ShaderDescriptor::X_COLOUR,
Graphics::Shader::ShaderDescriptor::BLEND_MULTIPLY);

Common::UString vertexStringFinal;
Common::UString fragmentStringFinal;
cripter.build(GfxMan.isGL3(), vertexStringFinal, fragmentStringFinal);
vObj = ShaderMan.getShaderObject("default/text.vert", vertexStringFinal, Shader::SHADER_VERTEX);
fObj = ShaderMan.getShaderObject("default/text.frag", fragmentStringFinal, Shader::SHADER_FRAGMENT);
registerShaderProgram(vObj, fObj);

cripter.clear();
cripter.declareInput(Graphics::Shader::ShaderDescriptor::INPUT_POSITION0);
cripter.declareInput(Graphics::Shader::ShaderDescriptor::INPUT_UV0);
cripter.declareSampler(Graphics::Shader::ShaderDescriptor::SAMPLER_TEXTURE_0,
Graphics::Shader::ShaderDescriptor::SAMPLER_2D);
cripter.connect(Graphics::Shader::ShaderDescriptor::SAMPLER_TEXTURE_0,
Graphics::Shader::ShaderDescriptor::INPUT_UV0,
Graphics::Shader::ShaderDescriptor::TEXTURE_DIFFUSE);
cripter.addPass(Graphics::Shader::ShaderDescriptor::TEXTURE_DIFFUSE,
Graphics::Shader::ShaderDescriptor::BLEND_ONE);

vertexStringFinal.clear();
fragmentStringFinal.clear();
cripter.build(GfxMan.isGL3(), vertexStringFinal, fragmentStringFinal);
vObj = ShaderMan.getShaderObject("default/texture.vert", vertexStringFinal, Shader::SHADER_VERTEX);
fObj = ShaderMan.getShaderObject("default/texture.frag", fragmentStringFinal, Shader::SHADER_FRAGMENT);
registerShaderProgram(vObj, fObj);

cripter.clear();
cripter.declareInput(Graphics::Shader::ShaderDescriptor::INPUT_POSITION0);
cripter.declareInput(Graphics::Shader::ShaderDescriptor::INPUT_UV0_MATRIX);
cripter.declareSampler(Graphics::Shader::ShaderDescriptor::SAMPLER_TEXTURE_0,
Graphics::Shader::ShaderDescriptor::SAMPLER_2D);
cripter.connect(Graphics::Shader::ShaderDescriptor::SAMPLER_TEXTURE_0,
Graphics::Shader::ShaderDescriptor::INPUT_UV0_MATRIX,
Graphics::Shader::ShaderDescriptor::TEXTURE_DIFFUSE);
cripter.addPass(Graphics::Shader::ShaderDescriptor::TEXTURE_DIFFUSE,
Graphics::Shader::ShaderDescriptor::BLEND_ONE);

vertexStringFinal.clear();
fragmentStringFinal.clear();
cripter.build(GfxMan.isGL3(), vertexStringFinal, fragmentStringFinal);
vObj = ShaderMan.getShaderObject("default/textureMatrix.vert", vertexStringFinal, Shader::SHADER_VERTEX);
fObj = ShaderMan.getShaderObject("default/texture.frag", Shader::SHADER_FRAGMENT);
registerShaderProgram(vObj, fObj);
}

void ShaderManager::deinit() {
Expand Down

0 comments on commit 741e031

Please sign in to comment.