14 BRDFLUTShader::BRDFLUTShader(
Renderer* renderer)
33 "shader/" + shaderVersion +
"/framebuffer",
34 "render_vertexshader.vert"
40 "shader/" + shaderVersion +
"/framebuffer/brdflut",
41 "render_brdflut_fragmentshader.frag"
static FrameBufferRenderShader * getFrameBufferRenderShader()
static Renderer * getRenderer()
static STATIC_DLL_IMPEXT Engine * instance
static constexpr int BRDFLUT_WIDTH
void initialize()
Initialize.
int32_t colorBufferTextureId
~BRDFLUTShader()
Public destructor.
static constexpr int BRDFLUT_HEIGHT
Frame buffer render shader.
virtual int32_t loadShader(int32_t type, const string &pathName, const string &fileName, const string &definitions=string(), const string &functions=string())=0
Loads a shader.
virtual void setViewPort(int32_t width, int32_t height)=0
Set up viewport parameter.
int32_t SHADER_FRAGMENT_SHADER
virtual void enableCulling(int contextIdx)=0
Enable culling.
virtual void enableDepthBufferTest()=0
Enable depth buffer test.
virtual void enableDepthBufferWriting()=0
Enable depth buffer writing.
virtual void unbindBufferObjects(int contextIdx)=0
Unbind buffer objects.
virtual void setClearColor(float red, float green, float blue, float alpha)=0
Set up clear color.
int32_t SHADER_VERTEX_SHADER
virtual int32_t createProgram(int type)=0
Creates a shader program.
int32_t CLEAR_COLOR_BUFFER_BIT
virtual bool isUsingProgramAttributeLocation()=0
virtual void updateViewPort()=0
Update viewport.
virtual void setProgramAttributeLocation(int32_t programId, int32_t location, const string &name)=0
Bind attribute to a input location.
virtual int32_t createFramebufferObject(int32_t depthBufferTextureId, int32_t colorBufferTextureId, int32_t cubeMapTextureId=0, int32_t cubeMapTextureIndex=0)=0
Creates a frame buffer object with depth texture attached.
virtual bool linkProgram(int32_t programId)=0
Links attached shaders to a program.
virtual void disableDepthBufferWriting()=0
Disable depth buffer writing.
void setLighting(int contextIdx, int32_t lighting)
Set current lighting model.
virtual void attachShaderToProgram(int32_t programId, int32_t shaderId)=0
Attaches a shader to a program.
virtual int32_t createGBufferGeometryTexture(int32_t width, int32_t height)=0
Creates a geometry buffer geometry texture.
virtual void drawTrianglesFromBufferObjects(int contextIdx, int32_t triangles, int32_t trianglesOffset)=0
Draw triangles from buffer objects.
virtual void bindFrameBuffer(int32_t frameBufferId)=0
Enables a framebuffer to be rendered.
virtual void clear(int32_t mask)=0
Clear render buffer with given mask.
virtual void disableCulling(int contextIdx)=0
Disable culling.
int32_t CONTEXTINDEX_DEFAULT
virtual void bindTextureCoordinatesBufferObject(int contextIdx, int32_t bufferObjectId)=0
Bind texture coordinates buffer object.
virtual void useProgram(int contextIdx, int32_t programId)=0
Use shader program.
virtual void bindVerticesBufferObject(int contextIdx, int32_t bufferObjectId)=0
Bind vertices buffer object.
virtual void disableDepthBufferTest()=0
Disable depth buffer test.
virtual const string getShaderVersion()=0