GUInity
Public Member Functions | List of all members
GLFWGraphicsSystem Class Reference
Inheritance diagram for GLFWGraphicsSystem:
GraphicsSystem

Public Member Functions

virtual ~GLFWGraphicsSystem ()
 
 GLFWGraphicsSystem ()
 
virtual int init (int width, int height) override
 
virtual void shutdown () override
 
virtual void swap () override
 
virtual void clear () override
 
virtual void createDebugShader () override
 
virtual int getScreenWidth () override
 
virtual int getScreenHeight () override
 
virtual void render (shared_ptr< Camera > camera, const physx::PxRenderBuffer &rb, const glm::vec4 &color) override
 
virtual void render (shared_ptr< Camera > camera, vector< shared_ptr< MeshRenderer >> &renderers, vector< shared_ptr< Light >> &lights) override
 
virtual void renderGUI (vector< shared_ptr< UIWidget >> uiWidgetVector) override
 
virtual void generateVertexArrays (const GLuint id, GLuint &vao) override
 
virtual void generateBuffer (const GLuint id, GLuint &bo, GLenum type, int size, void *dataPointer, GLenum drawType) override
 
virtual void deleteBuffer (GLuint size, GLuint &bo) override
 
virtual GLuint createShader (GLenum shaderType) override
 
virtual void deleteShader (GLuint shaderID) override
 
virtual void compileShader (GLuint shaderID, GLuint size, const char *dataPointer) override
 
virtual void attachAndLinkShader (GLuint ProgramID, GLuint VertexShaderID, GLuint FragmentShaderID) override
 
virtual GLuint createShaderProgram () override
 
virtual GLint getUniformLocation (GLuint programID, const char *name) override
 
virtual shared_ptr< TexturegetDefaultTexture () override
 
void disableNonUsedTextures (int nTextures) const
 
bool setUniform4fv (const GLuint &shaderProgram, const GLchar *uniformName, int count, GLfloat *value)
 
bool setUniform3fv (const GLuint &shaderProgram, const GLchar *uniformName, int count, GLfloat *value)
 
bool setUniform1f (const GLuint &shaderProgram, const GLchar *uniformName, GLfloat value)
 
bool setUniformMatrix4fv (const GLuint &shaderProgram, const GLchar *uniformName, int count, GLboolean transpose, GLfloat *value)
 
- Public Member Functions inherited from GraphicsSystem
 GraphicsSystem (GraphicsSystem const &)
 
void operator= (GraphicsSystem const &)
 
virtual shared_ptr< GLFWwindow > getWindow ()
 

Additional Inherited Members

- Static Public Member Functions inherited from GraphicsSystem
static GraphicsSystemgetInstance ()
 
- Protected Attributes inherited from GraphicsSystem
shared_ptr< GLFWwindow > window
 
shared_ptr< ShaderdebugShader
 
shared_ptr< MaterialdebugMaterial
 
shared_ptr< ShaderguiShader
 
shared_ptr< MaterialguiMaterial
 
glm::mat4 GUIMatrix
 

Constructor & Destructor Documentation

virtual GLFWGraphicsSystem::~GLFWGraphicsSystem ( )
inlinevirtual

Default Destructor

GLFWGraphicsSystem::GLFWGraphicsSystem ( )
inline

Default Constructor. Virtual because it inherits from GraphicsSystem

Member Function Documentation

void GLFWGraphicsSystem::attachAndLinkShader ( GLuint  ProgramID,
GLuint  VertexShaderID,
GLuint  FragmentShaderID 
)
overridevirtual

Merge VertexShader and FragmentShader to one

Implements GraphicsSystem.

void GLFWGraphicsSystem::clear ( )
overridevirtual

Clear buffers

Implements GraphicsSystem.

void GLFWGraphicsSystem::compileShader ( GLuint  shaderID,
GLuint  size,
const char *  dataPointer 
)
overridevirtual

Compile the shader

Implements GraphicsSystem.

void GLFWGraphicsSystem::createDebugShader ( )
overridevirtual

create debug shader to display Physics information on the screen

Implements GraphicsSystem.

GLuint GLFWGraphicsSystem::createShader ( GLenum  shaderType)
overridevirtual

Creates a new shader

Implements GraphicsSystem.

GLuint GLFWGraphicsSystem::createShaderProgram ( )
overridevirtual

Creates a new shader program

Merge VertexShader and FragmentShader to one

Implements GraphicsSystem.

void GLFWGraphicsSystem::deleteBuffer ( GLuint  size,
GLuint &  bo 
)
overridevirtual

Release buffer

Implements GraphicsSystem.

void GLFWGraphicsSystem::deleteShader ( GLuint  shaderID)
overridevirtual

Release shader

Implements GraphicsSystem.

void GLFWGraphicsSystem::disableNonUsedTextures ( int  nTextures) const

Disable Textures that have are not needed for the current draw call

Disable Textures that are not needed for the current draw call

void GLFWGraphicsSystem::generateBuffer ( const GLuint  size,
GLuint &  bo,
GLenum  type,
int  dataSize,
void *  dataPointer,
GLenum  drawType 
)
overridevirtual

Generates a new Buffer Array

Implements GraphicsSystem.

void GLFWGraphicsSystem::generateVertexArrays ( const GLuint  id,
GLuint &  vao 
)
overridevirtual

Generates a new Vertex Array - Used for mesh vertice data

Implements GraphicsSystem.

shared_ptr< Texture > GLFWGraphicsSystem::getDefaultTexture ( )
overridevirtual

Gets the uniform location for a string in a shader

Implements GraphicsSystem.

int GLFWGraphicsSystem::getScreenHeight ( )
overridevirtual

screen height Getter

Implements GraphicsSystem.

int GLFWGraphicsSystem::getScreenWidth ( )
overridevirtual

screen width Getter

Implements GraphicsSystem.

GLint GLFWGraphicsSystem::getUniformLocation ( GLuint  programID,
const char *  name 
)
overridevirtual

Gets the uniform location for a string in a shader

Implements GraphicsSystem.

int GLFWGraphicsSystem::init ( int  width,
int  height 
)
overridevirtual

Initialize the system, create the window and such

Implements GraphicsSystem.

void GLFWGraphicsSystem::render ( shared_ptr< Camera camera,
const physx::PxRenderBuffer &  rb,
const glm::vec4 &  color 
)
overridevirtual

Renders Physics information on screen from the camera point of view

Implements GraphicsSystem.

void GLFWGraphicsSystem::render ( shared_ptr< Camera camera,
vector< shared_ptr< MeshRenderer >> &  renderers,
vector< shared_ptr< Light >> &  lights 
)
overridevirtual

Renders meshes on the screen from the camera point of view

Implements GraphicsSystem.

void GLFWGraphicsSystem::renderGUI ( vector< shared_ptr< UIWidget >>  uiWidgetVector)
overridevirtual

Render Widgets on screen

Implements GraphicsSystem.

void GLFWGraphicsSystem::shutdown ( )
overridevirtual

Shutdown the system, destroy window and release any allocated memory

Implements GraphicsSystem.

void GLFWGraphicsSystem::swap ( )
overridevirtual

Swap buffers

Implements GraphicsSystem.


The documentation for this class was generated from the following files: