2#ifdef StevEngine_RENDERER_GL
4#include "main/Component.hpp"
5#include "utilities/Vector3.hpp"
6#include "utilities/Quaternion.hpp"
7#include "visuals/shaders/Shader.hpp"
47 virtual std::string
GetType()
const {
return "RenderComponent"; }
94 std::map<ShaderType, ShaderProgram>
shaders;
Component()
Create new component.
Definition Component.cpp:10
Standard renderable mesh object.
Definition Object.hpp:41
virtual std::string GetType() const
Get component type.
Definition RenderComponent.hpp:47
Object & GetObject()
Local scale modifier.
Definition RenderComponent.hpp:58
std::map< ShaderType, ShaderProgram > shaders
Shader programs by type.
Definition RenderComponent.hpp:94
void AddShader(ShaderProgram program)
Add shader program.
Definition RenderComponent.cpp:37
Utilities::Quaternion rotation
Local position offset.
Definition RenderComponent.hpp:51
virtual Utilities::Stream Export(Utilities::StreamType type) const
Serialize component to a stream.
Definition RenderComponent.cpp:46
RenderComponent(const Object &object)
Create render component.
Definition RenderComponent.cpp:10
Visuals::Material & GetMaterial()
Get material.
Definition RenderComponent.hpp:64
~RenderComponent()
Clean up component resources.
Definition RenderComponent.cpp:26
Utilities::Vector3 scale
Local rotation offset.
Definition RenderComponent.hpp:52
Object object
Renderable object.
Definition RenderComponent.hpp:92
void RemoveShader(ShaderType type)
Remove shader of specified type.
Definition RenderComponent.cpp:42
Compiled and linked shader program.
Definition ShaderProgram.hpp:22
4x4 matrix for 3D transformations
Definition Matrix4.hpp:12
Quaternion for 3D rotations.
Definition Quaternion.hpp:19
Stream for serialization of data.
Definition Stream.hpp:20
3D vector class
Definition Vector3.hpp:19
Material properties for rendering.
Definition Material.hpp:14
Core rendering system.
Definition Object.cpp:19