|
StevEngine
StevEngine is a customizable C++ game engine.
|
Component for rendering 3D models. More...
#include <visuals/ModelRenderer.hpp>
Public Member Functions | |
| ModelRenderer (const Utilities::Model &model, const Material &material=Material(), Utilities::Vector3 position=Utilities::Vector3(), Utilities::Quaternion rotation=Utilities::Quaternion(), Utilities::Vector3 scale=Utilities::Vector3(1)) | |
| Create model renderer. | |
| ModelRenderer (Utilities::Stream &stream) | |
| Create model renderer from text serialized data. | |
| std::string | GetType () const |
| Get component type. | |
| Utilities::Stream | Export (Utilities::StreamType type) const |
| Serialize component to a stream. | |
| size_t | MeshCount () const |
| Get number of meshes in model. | |
| Renderer::Object & | GetObject (uint32_t index) |
| Get renderable object for mesh. | |
| Visuals::Material & | GetMaterials (uint32_t index) |
| Get material for mesh. | |
| void | AddShader (Renderer::ShaderProgram program) |
| Add shader program. | |
| void | RemoveShader (Renderer::ShaderType type) |
| Remove shader of specified type. | |
| void | Draw (const Utilities::Matrix4 &transform) |
| Draw model with transform. | |
| ~ModelRenderer () | |
| Clean up component resources. | |
Public Member Functions inherited from StevEngine::Component | |
| Component () | |
| Create new component. | |
| virtual | ~Component () |
| Clean up component resources. | |
| GameObject & | GetParent () const |
| Get parent GameObject. | |
| Scene & | GetScene () const |
| Get containing Scene. | |
| virtual void | Start () |
| Initialize component after creation. | |
| virtual void | Deactivate () |
| Clean up when component is deactivated. | |
| virtual void | Update (double deltaTime) |
| Update component logic. | |
Public Attributes | |
| Utilities::Vector3 | position = Utilities::Vector3() |
| Local position offset. | |
| Utilities::Quaternion | rotation = Utilities::Quaternion() |
| Local rotation offset. | |
| Utilities::Vector3 | scale = Utilities::Vector3(1) |
| Local scale modifier. | |
Additional Inherited Members | |
Protected Attributes inherited from StevEngine::Component | |
| std::vector< std::pair< Utilities::ID, std::string > > | handlers |
| Event handler registrations. | |
Component for rendering 3D models.
Handles rendering of 3D mesh data with materials and shaders. Supports multiple meshes per model with individual materials.
| StevEngine::Visuals::ModelRenderer::ModelRenderer | ( | const Utilities::Model & | model, |
| const Material & | material = Material(), | ||
| Utilities::Vector3 | position = Utilities::Vector3(), | ||
| Utilities::Quaternion | rotation = Utilities::Quaternion(), | ||
| Utilities::Vector3 | scale = Utilities::Vector3(1) ) |
Create model renderer.
| model | 3D model to render |
| material | Default material if model has none |
| position | Local position offset |
| rotation | Local rotation offset |
| scale | Local scale modifier |
| StevEngine::Visuals::ModelRenderer::ModelRenderer | ( | Utilities::Stream & | stream | ) |
Create model renderer from text serialized data.
| stream | Stream containing serialized component data |
| void StevEngine::Visuals::ModelRenderer::AddShader | ( | Renderer::ShaderProgram | program | ) |
Add shader program.
| program | Shader to add |
|
virtual |
Draw model with transform.
| transform | World transform matrix |
Reimplemented from StevEngine::Component.
|
virtual |
Serialize component to a stream.
| type | Type of stream to export to |
Reimplemented from StevEngine::Component.
|
inline |
Get material for mesh.
| index | Mesh index |
|
inline |
Get renderable object for mesh.
| index | Mesh index |
|
inlinevirtual |
|
inline |
Get number of meshes in model.
| void StevEngine::Visuals::ModelRenderer::RemoveShader | ( | Renderer::ShaderType | type | ) |
Remove shader of specified type.
| type | Type of shader to remove |