DubiousEngine  0.2.0
Simple Game Engine
Dubious::Renderer::Visible_object Class Reference

An object that can be seen. More...

#include <Visible_object.h>

Classes

struct  Silhouette
 Silhouette. More...
 

Public Member Functions

 Visible_object (const std::shared_ptr< Visible_model > &model, const std::shared_ptr< Visible_model > &shadow_model)
 Constructor. A Model is required. More...
 
 Visible_object (const Visible_object &)=delete
 
Visible_objectoperator= (const Visible_object &)=delete
 
void build_silhouette (const Math::Local_point &light_post, Silhouette &sil) const
 Builds a Silhououette for use with shadow casting. More...
 
Math::Coordinate_spacecoordinate_space ()
 Accessor. More...
 
std::shared_ptr< Visible_modelmodel () const
 Accessor. More...
 
std::shared_ptr< Visible_modelshadow_model () const
 Accessor. More...
 
std::shared_ptr< Object_renderer > & renderer ()
 Renderer. More...
 
std::shared_ptr< Shadow_renderer > & shadow_renderer ()
 Shadow Renderer. More...
 
Colorbase_color ()
 Accessor. More...
 

Detailed Description

An object that can be seen.

A VisibleObject is something that can be drawn within the scene. It's a pretty broad object used to define anything that is drawable. For this iteration of the engine I'm just making one kind of visible object and I will let it be able to draw with shadow or shine or whatever.

Constructor & Destructor Documentation

Dubious::Renderer::Visible_object::Visible_object ( const std::shared_ptr< Visible_model > &  model,
const std::shared_ptr< Visible_model > &  shadow_model 
)

Constructor. A Model is required.

Parameters
model- [in] the model representing this object
shadow_model- [in] the model that represents the shadow. This can be an empty pointer for non-shadow casting objects
Dubious::Renderer::Visible_object::Visible_object ( const Visible_object )
delete

Member Function Documentation

Color& Dubious::Renderer::Visible_object::base_color ( )
inline

Accessor.

void Dubious::Renderer::Visible_object::build_silhouette ( const Math::Local_point light_post,
Silhouette sil 
) const

Builds a Silhououette for use with shadow casting.

Parameters
light_post- [in] Position of the light in local coord space
sil- [out] The resulting Silhouette
Math::Coordinate_space& Dubious::Renderer::Visible_object::coordinate_space ( )
inline

Accessor.

std::shared_ptr<Visible_model> Dubious::Renderer::Visible_object::model ( ) const
inline

Accessor.

Visible_object& Dubious::Renderer::Visible_object::operator= ( const Visible_object )
delete
std::shared_ptr<Object_renderer>& Dubious::Renderer::Visible_object::renderer ( )
inline
std::shared_ptr<Visible_model> Dubious::Renderer::Visible_object::shadow_model ( ) const
inline

Accessor.

std::shared_ptr<Shadow_renderer>& Dubious::Renderer::Visible_object::shadow_renderer ( )
inline

Shadow Renderer.


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