mirror of
https://github.com/edubart/otclient.git
synced 2025-10-17 13:03:27 +02:00
test shader effect
This commit is contained in:
@@ -22,3 +22,20 @@
|
||||
|
||||
#include "glbuffer.h"
|
||||
|
||||
GLBuffer::GLBuffer()
|
||||
{
|
||||
glGenBuffers(1, &m_id);
|
||||
if(!m_id)
|
||||
logFatal("Unable to create a simple GL buffer");
|
||||
}
|
||||
|
||||
void GLBuffer::bind()
|
||||
{
|
||||
gl
|
||||
}
|
||||
|
||||
void GLBuffer::release()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
@@ -23,8 +23,22 @@
|
||||
#ifndef GLBUFFER_H
|
||||
#define GLBUFFER_H
|
||||
|
||||
#include "declarations.h"
|
||||
|
||||
class GLBuffer
|
||||
{
|
||||
public:
|
||||
GLBuffer();
|
||||
~GLBuffer();
|
||||
|
||||
void write(const
|
||||
void bind();
|
||||
void release();
|
||||
|
||||
GLuint bufferId();
|
||||
|
||||
private:
|
||||
GLuint m_id;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@@ -47,6 +47,7 @@ void Painter::init()
|
||||
program->bindUniformLocation(PainterShaderProgram::COLOR_UNIFORM, "color");
|
||||
program->bindUniformLocation(PainterShaderProgram::OPACITY_UNIFORM, "opacity");
|
||||
program->bindUniformLocation(PainterShaderProgram::TEXTURE_UNIFORM, "texture");
|
||||
program->bindUniformLocation(PainterShaderProgram::TICKS_UNIFORM, "ticks");
|
||||
m_drawTexturedProgram = program;
|
||||
|
||||
program = PainterShaderProgramPtr(new PainterShaderProgram);
|
||||
@@ -57,6 +58,7 @@ void Painter::init()
|
||||
program->bindUniformLocation(PainterShaderProgram::PROJECTION_MATRIX_UNIFORM, "projectionMatrix");
|
||||
program->bindUniformLocation(PainterShaderProgram::COLOR_UNIFORM, "color");
|
||||
program->bindUniformLocation(PainterShaderProgram::OPACITY_UNIFORM, "opacity");
|
||||
program->bindUniformLocation(PainterShaderProgram::TICKS_UNIFORM, "ticks");
|
||||
m_drawSolidColorProgram = program;
|
||||
}
|
||||
|
||||
|
@@ -57,6 +57,8 @@ public:
|
||||
|
||||
void setCompositionMode(CompositionMode compositionMode);
|
||||
|
||||
GLfloat *getProjectionMatrix() { return (GLfloat*)m_projectionMatrix; }
|
||||
|
||||
private:
|
||||
PainterShaderProgramPtr m_drawTexturedProgram;
|
||||
PainterShaderProgramPtr m_drawSolidColorProgram;
|
||||
|
@@ -24,6 +24,7 @@
|
||||
#include "painter.h"
|
||||
#include "texture.h"
|
||||
#include "texturemanager.h"
|
||||
#include <framework/core/clock.h>
|
||||
|
||||
void PainterShaderProgram::setProjectionMatrix(float projectionMatrix[3][3])
|
||||
{
|
||||
@@ -76,6 +77,7 @@ void PainterShaderProgram::setTextureCoords(const GLfloat *textureCoords)
|
||||
void PainterShaderProgram::prepareForDraw()
|
||||
{
|
||||
assert(bind());
|
||||
setUniformValue(TICKS_UNIFORM, (GLfloat)g_clock.ticks());
|
||||
}
|
||||
|
||||
void PainterShaderProgram::drawTriangleStrip(int numVertices)
|
||||
|
@@ -35,7 +35,8 @@ public:
|
||||
TEXTURE_TRANSFORM_MATRIX_UNIFORM = 1,
|
||||
COLOR_UNIFORM = 2,
|
||||
OPACITY_UNIFORM = 3,
|
||||
TEXTURE_UNIFORM = 4
|
||||
TEXTURE_UNIFORM = 4,
|
||||
TICKS_UNIFORM = 5
|
||||
};
|
||||
|
||||
void setProjectionMatrix(GLfloat projectionMatrix[3][3]);
|
||||
|
@@ -21,6 +21,7 @@
|
||||
*/
|
||||
|
||||
#include "shader.h"
|
||||
#include <framework/core/resourcemanager.h>
|
||||
|
||||
Shader::Shader(Shader::ShaderType shaderType)
|
||||
{
|
||||
@@ -70,8 +71,7 @@ bool Shader::compileSourceCode(const std::string& sourceCode)
|
||||
|
||||
bool Shader::compileSourceFile(const std::string& sourceFile)
|
||||
{
|
||||
std::ifstream fin(sourceFile);
|
||||
std::string sourceCode((std::istreambuf_iterator<char>(fin)), std::istreambuf_iterator<char>());
|
||||
std::string sourceCode = g_resources.loadFile(sourceFile);
|
||||
return compileSourceCode(sourceCode);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user