CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
GLShader.hpp
Go to the documentation of this file.
1//
2// CeresEngine - A game development framework
3//
4// Created by Rogiel Sulzbach.
5// Copyright (c) 2018-2022 Rogiel Sulzbach. All rights reserved.
6//
7
8#pragma once
9
10#include "OpenGL.hpp"
11
13
14namespace CeresEngine {
15
16 class GLShaderProgram;
17 class GLCommandBuffer;
18
41
76
77} // namespace CeresEngine
unsigned int GLuint
Definition GLLoader.hpp:733
A retain-release type of smart pointer.
Definition SmartPtr.hpp:132
Definition GLCommandBuffer.hpp:23
Definition OpenGL.hpp:117
Definition GLShader.hpp:19
GPUShaderDescriptor mDescriptor
The shader descriptor.
Definition GLShader.hpp:28
GLShader(GLDevicePtr device, const GPUShaderDescriptor &descriptor)
GLObjectHandle<&glad_glCreateShader, &glad_glDeleteShader, false > shaderID
The OpenGL shader module object.
Definition GLShader.hpp:25
GPUShaderReflectionDescriptor mReflectionDescriptor
The shader reflection descriptor.
Definition GLShader.hpp:31
GLuint handle() const
Definition GLShader.hpp:39
const GPUShaderDescriptor descriptorGL
A structure that describes the shader and it's properties.
Definition GLShader.hpp:22
Definition GLShader.hpp:42
GPUShaderReflectionDescriptor mReflectionDescriptor
The shader reflection descriptor.
Definition GLShader.hpp:54
GPUShaderProgramDescriptor mDescriptor
The shader descriptor.
Definition GLShader.hpp:51
void activate(GLCommandBuffer &commandBuffer) const
Activates the shader for rendering in OpenGL.
GLPipelineLayoutPtr mPipelineLayout
The pipeline layout for this shader program.
Definition GLShader.hpp:58
const GPUShaderProgramDescriptor descriptorGL
A structure that describes the shader program and it's properties.
Definition GLShader.hpp:45
GLObjectHandle<&glad_glCreateProgram, &glad_glDeleteProgram, false > programID
The OpenGL shader program object.
Definition GLShader.hpp:48
GPUPipelineLayoutPtr getPipelineLayout() const override
The pipeline layout deduced for this shader program.
Definition GLShader.hpp:66
GLuint handle() const
Definition GLShader.hpp:74
GLShaderProgram(GLDevicePtr device, const GPUShaderProgramDescriptor &descriptor)
GPUDevice & device
The owning device this object was created from.
Definition Common.hpp:55
Definition GPUShader.hpp:256
Definition GPUShader.hpp:361
const Descriptor & descriptor
A structure that describes the object and it's properties.
Definition Common.hpp:69
Definition Application.hpp:19
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
Definition OpenGL.hpp:130
Shader source and binary code descriptor structure.
Definition GPUShader.hpp:193
Descriptor structure for shader programs.
Definition GPUShader.hpp:303
Shader reflection descriptor structure.
Definition GPUShader.hpp:108