Files
libsst/Include/ZRenderer/ZOpenGLShader.hpp
2026-04-03 00:22:39 -05:00

67 lines
1.0 KiB
C++

/*
ZOpenGLShader.hpp
Author: Chris Ertel <crertel@762studios.com>,
James Russell <jcrussell@762studios.com>
Created: 04/20/2011
Purpose:
OpenGL implementation of the shader interface.
License:
TODO
*/
#pragma once
#ifndef _ZOPENGLSHADER_HPP
#define _ZOPENGLSHADER_HPP
#include <ZRenderer/ZShaderBase.hpp>
#include <ZUtil/ZUtil.hpp>
#include <SST/SST_GLAPI.h>
//Forward Declarations
class ZOpenGLRenderer;
/*
OpenGL Shader Implementation.
*/
class ZOpenGLShader : public ZShaderBase
{
private:
DISABLE_COPY_AND_ASSIGN(ZOpenGLShader);
protected:
//The renderer that created us
ZOpenGLRenderer* Renderer;
//Method used to compile the shader
static void Compile_(ZThread* _thread, void* _shader);
public:
//OpenGL Shader Handle
GLuint GLHandle;
/*
Constructor.
@param _renderer - the current renderer instance
@param _type - the type of shader
*/
ZOpenGLShader(ZOpenGLRenderer* _renderer, ZShaderType _type);
/*
Destructor.
*/
virtual ~ZOpenGLShader();
//Subclass Override
virtual bool Compile();
};
#endif