LightsprintSDK 2021.08.08
rr_gl::UberProgram Class Referenceabstract

#include <UberProgram.h>

Inheritance diagram for rr_gl::UberProgram:
rr::RRUniformlyAllocated

Public Member Functions

virtual ProgramgetProgram (const char *defines)=0
 
virtual ~UberProgram ()
 
- Public Member Functions inherited from rr::RRUniformlyAllocated
void * operator new (std::size_t n)
 
void * operator new[] (std::size_t n)
 
void operator delete (void *p, std::size_t n)
 
void operator delete[] (void *p, std::size_t n)
 

Static Public Member Functions

static UberProgramcreate (const rr::RRString &vertexShaderFileName, const rr::RRString &fragmentShaderFileName)
 

Protected Member Functions

 UberProgram ()
 

Detailed Description

GLSL program with preprocessor parameters changeable at runtime.

GLSL is language used by OpenGL API for writing shaders.

Constructor & Destructor Documentation

◆ ~UberProgram()

virtual rr_gl::UberProgram::~UberProgram ( )
inlinevirtual

◆ UberProgram()

rr_gl::UberProgram::UberProgram ( )
inlineprotected

Member Function Documentation

◆ getProgram()

virtual Program * rr_gl::UberProgram::getProgram ( const char *  defines)
pure virtual

Returns program for given set of defines.

◆ create()

static UberProgram * rr_gl::UberProgram::create ( const rr::RRString vertexShaderFileName,
const rr::RRString fragmentShaderFileName 
)
static

Creates UberProgram from vertex and fragment shaders stored in text files.

Parameters
vertexShaderFileNameFile name of GLSL vertex shader source code.
fragmentShaderFileNameFile name of GLSL fragment shader source code.