Maria GDK 5.0.0.738
Documentation of native code in develop branch
Loading...
Searching...
No Matches
STK::LODGraphicsModel Class Reference

#include <StkLODGraphicsModel.h>

Inheritance diagram for STK::LODGraphicsModel:
STK::GraphicsModel

Classes

struct  LODLevel
 

Public Member Functions

void setNumLevels (int n)
 
void setLODModel (int level, const std::shared_ptr< STK::GraphicsModel > &model, double err)
 
std::shared_ptr< STK::GraphicsModelgetLODModel (int level)
 
std::shared_ptr< STK::GraphicsModelcalcLODModel (double err)
 
void redraw (const Camera &cam, const Viewport &vp, int render_mask, const std::vector< std::shared_ptr< Uniform > > *uniforms) override
 
void drawShadowMap (const Camera &cam, const Viewport &vp, const STK::Camera &shd_cam, const Viewport &shd_vp, ShaderProgram *shader, ShaderProgram *tex_shader) override
 
void calcBoundingSphere (STK::Vector3f &center, double &radius) override
 
void calcBoundingBox (STK::Vector3f &min, STK::Vector3f &max) override
 
void filterChildren (const filter_fn &fn, std::vector< std::shared_ptr< GraphicsModel > > &matched) override
 
- Public Member Functions inherited from STK::GraphicsModel
 GraphicsModel (const std::string &name="")
 
void setName (const std::string &name)
 
const std::string & getName () const
 
virtual void filterChildren (const filter_fn &fn, std::vector< std::shared_ptr< GraphicsModel > > &matched)
 
void setTransform (const STK::Matrix4x4f &transform)
 
const STK::Matrix4x4fgetTransform () const
 
void setEnvironmentMap (const std::shared_ptr< STK::CubeMap > &env_map)
 
std::shared_ptr< STK::CubeMapgetEnvironmentMap ()
 
std::shared_ptr< const STK::CubeMapgetEnvironmentMap () const
 
void setWireframe (bool wireframe)
 
bool getWireframe () const
 
void setInvisible (bool invisible)
 
bool getInvisible () const
 
void setCastShadows (bool cast_shadows)
 
bool getCastShadows () const
 
void setDebugGraphics (bool debug_gfx)
 
bool getDebugGraphics () const
 
virtual void redraw (const STK::Camera &cam, const STK::Viewport &vp, int render_mask=STK::OpaqueMask, const std::vector< std::shared_ptr< STK::Uniform > > *uniforms=nullptr)=0
 
virtual void drawShadowMap (const STK::Camera &cam, const STK::Viewport &vp, const STK::Camera &shd_cam, const STK::Viewport &shd_vp, STK::ShaderProgram *shader, STK::ShaderProgram *tex_shader)=0
 
virtual void calcBoundingSphere (STK::Vector3f &center, double &radius)=0
 
virtual void calcBoundingBox (STK::Vector3f &min, STK::Vector3f &max)=0
 

Protected Attributes

std::vector< LODLevellod_levels_
 
- Protected Attributes inherited from STK::GraphicsModel
std::string name_
 
STK::Matrix4x4f transform_
 
std::shared_ptr< STK::CubeMapenv_map_
 
bool wireframe_
 
bool invisible_
 
bool cast_shadows_
 
bool debug_gfx_
 

Additional Inherited Members

- Public Types inherited from STK::GraphicsModel
using filter_fn = std::function< bool(const GraphicsModel &)>
 

Detailed Description

LODGraphicsModel - Short description. Detailed description.

Member Function Documentation

◆ calcBoundingBox()

void LODGraphicsModel::calcBoundingBox ( STK::Vector3f min,
STK::Vector3f max 
)
overridevirtual

Implements STK::GraphicsModel.

◆ calcBoundingSphere()

void LODGraphicsModel::calcBoundingSphere ( STK::Vector3f center,
double &  radius 
)
overridevirtual

Implements STK::GraphicsModel.

◆ calcLODModel()

std::shared_ptr< GraphicsModel > LODGraphicsModel::calcLODModel ( double  err)

Calculate the optimal LOD level for the given screen space error. This method returns the least detailed LOD level that has an error less than the given screen space error.

◆ drawShadowMap()

void LODGraphicsModel::drawShadowMap ( const Camera cam,
const Viewport vp,
const STK::Camera shd_cam,
const Viewport shd_vp,
ShaderProgram shader,
ShaderProgram tex_shader 
)
overridevirtual

Implements STK::GraphicsModel.

◆ filterChildren()

void LODGraphicsModel::filterChildren ( const filter_fn fn,
std::vector< std::shared_ptr< GraphicsModel > > &  matched 
)
overridevirtual

Append the children that match the filter function to the matched argument.

Reimplemented from STK::GraphicsModel.


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