StevEngine
StevEngine is a customizable C++ game engine.
Loading...
Searching...
No Matches
StevEngine::Visuals::TerrainRenderer Class Reference

Component for rendering heightmap terrain. More...

#include <visuals/TerrainRenderer.hpp>

Inheritance diagram for StevEngine::Visuals::TerrainRenderer:
StevEngine::Renderer::RenderComponent StevEngine::Component

Public Member Functions

 TerrainRenderer (const Utilities::TerrainData &data, Material material=Material(), bool smooth=true)
 Create terrain renderer.
 
 TerrainRenderer (Utilities::Stream &stream)
 Create terrain renderer from serialized data.
 
std::string GetType () const
 Get component type.
 
Utilities::Stream Export (Utilities::StreamType type) const
 Serialize component to a stream.
 
- Public Member Functions inherited from StevEngine::Renderer::RenderComponent
 RenderComponent (const Object &object)
 Create render component.
 
 RenderComponent (const Object &object, Utilities::Vector3 position, Utilities::Quaternion rotation, Utilities::Vector3 scale)
 Create render component with transform.
 
 RenderComponent (const Object &object, Utilities::Stream &stream)
 Create from serialized data.
 
ObjectGetObject ()
 Local scale modifier.
 
Visuals::MaterialGetMaterial ()
 Get material.
 
void AddShader (ShaderProgram program)
 Add shader program.
 
void RemoveShader (ShaderType type)
 Remove shader of specified type.
 
 ~RenderComponent ()
 Clean up component resources.
 
- Public Member Functions inherited from StevEngine::Component
 Component ()
 Create new component.
 
virtual ~Component ()
 Clean up component resources.
 
GameObjectGetParent () const
 Get parent GameObject.
 
SceneGetScene () const
 Get containing Scene.
 
virtual void Start ()
 Initialize component after creation.
 

Friends

class StevEngine::GameObject
 

Additional Inherited Members

- Public Attributes inherited from StevEngine::Renderer::RenderComponent
Utilities::Vector3 position = Utilities::Vector3()
 
Utilities::Quaternion rotation = Utilities::Quaternion()
 Local position offset.
 
Utilities::Vector3 scale = Utilities::Vector3(1, 1, 1)
 Local rotation offset.
 
- Protected Attributes inherited from StevEngine::Renderer::RenderComponent
Object object
 Renderable object.
 
std::map< ShaderType, ShaderProgramshaders
 Shader programs by type.
 
- Protected Attributes inherited from StevEngine::Component
std::vector< std::pair< Utilities::ID, std::string > > handlers
 Event handler registrations.
 

Detailed Description

Component for rendering heightmap terrain.

Handles rendering of terrain generated from heightmap data. Supports normal mapping and smooth/flat shading.

Constructor & Destructor Documentation

◆ TerrainRenderer() [1/2]

StevEngine::Visuals::TerrainRenderer::TerrainRenderer ( const Utilities::TerrainData & data,
Material material = Material(),
bool smooth = true )

Create terrain renderer.

Parameters
dataHeightmap terrain data
materialSurface material
smoothUse smooth normal calculation

◆ TerrainRenderer() [2/2]

StevEngine::Visuals::TerrainRenderer::TerrainRenderer ( Utilities::Stream & stream)

Create terrain renderer from serialized data.

Parameters
streamStream containing serialized component data

Member Function Documentation

◆ Export()

Utilities::Stream StevEngine::Visuals::TerrainRenderer::Export ( Utilities::StreamType type) const
virtual

Serialize component to a stream.

Parameters
typeType of stream to export to
Returns
Serialized stream

Reimplemented from StevEngine::Renderer::RenderComponent.

◆ GetType()

std::string StevEngine::Visuals::TerrainRenderer::GetType ( ) const
inlinevirtual

Get component type.

Returns
Type identifier string

Reimplemented from StevEngine::Renderer::RenderComponent.


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