Classes

class  clan::Scene
 
class  clan::SceneCache
 
class  clan::SceneCamera
 
class  clan::SceneCullProvider
 Interface for finding the potential visible set (PVS) for a set of objects. More...
 
class  clan::SceneCullProxy
 
class  clan::SceneItem
 
class  clan::SceneLight
 
class  clan::SceneLightProbe
 
class  clan::SceneModel
 
class  clan::SceneObject
 
class  clan::SceneParticleEmitter
 
class  clan::ScenePass
 

Enumerations

enum  clan::SceneLight::Type { clan::SceneLight::type_omni, clan::SceneLight::type_directional, clan::SceneLight::type_spot, clan::SceneLight::type_sun }
 
enum  clan::SceneParticleEmitter::Type { clan::SceneParticleEmitter::type_omni, clan::SceneParticleEmitter::type_spot }
 

Functions

 clan::Scene::Scene ()
 
 clan::Scene::Scene (GraphicContext &gc, const ResourceManager &resources, const std::string &shader_path)
 
 clan::SceneCamera::SceneCamera ()
 
 clan::SceneCamera::SceneCamera (Scene &scene)
 
 clan::SceneLight::SceneLight ()
 
 clan::SceneLight::SceneLight (Scene &scene)
 
 clan::SceneLightProbe::SceneLightProbe ()
 
 clan::SceneLightProbe::SceneLightProbe (Scene &scene)
 
 clan::SceneModel::SceneModel ()
 
 clan::SceneModel::SceneModel (GraphicContext &gc, Scene &scene, const std::string &model_name)
 
 clan::SceneModel::SceneModel (GraphicContext &gc, Scene &scene, std::shared_ptr< ModelData > model_data)
 
 clan::SceneObject::SceneObject ()
 
 clan::SceneObject::SceneObject (Scene &scene, const SceneModel &model, const Vec3f &position=Vec3f(0.0f), const Quaternionf &orientation=Quaternionf(), const Vec3f &scale=Vec3f(1.0f))
 
 clan::SceneParticleEmitter::SceneParticleEmitter ()
 
 clan::SceneParticleEmitter::SceneParticleEmitter (Scene &scene)
 
 clan::ScenePass::ScenePass ()
 
 clan::ScenePass::ScenePass (std::shared_ptr< ScenePass_Impl > impl)
 
virtual clan::SceneCache::~SceneCache ()
 
virtual clan::SceneCullProvider::~SceneCullProvider ()
 
virtual clan::SceneItem::~SceneItem ()
 
ScenePass clan::Scene::add_pass (const std::string &name, const std::string &insert_before=std::string())
 
virtual SceneCullProxy * clan::SceneCullProvider::create_proxy (SceneItem *item, const AxisAlignedBoundingBox &aabb)=0
 
virtual std::vector< SceneItem * > clan::SceneCullProvider::cull (const FrustumPlanes &frustum)=0
 
virtual std::vector< SceneItem * > clan::SceneCullProvider::cull (const Vec3f &point)=0
 
virtual void clan::SceneCullProvider::delete_proxy (SceneCullProxy *proxy)=0
 
Mat4f clan::Scene::eye_to_projection () const
 
Callback_v1< GraphicContext & > & clan::ScenePass::func_run ()
 
static SceneCache & clan::SceneCache::get (const ResourceManager &resources)
 
virtual AxisAlignedBoundingBox clan::SceneCullProvider::get_aabb (SceneCullProxy *proxy)=0
 
Vec3f clan::SceneParticleEmitter::get_acceleration () const
 
float clan::SceneLight::get_ambient_illumination () const
 
float clan::SceneLight::get_aspect_ratio () const
 
float clan::SceneLight::get_attenuation_end () const
 
float clan::SceneLight::get_attenuation_start () const
 
const SceneCamera & clan::Scene::get_camera () const
 
SceneCamera & clan::Scene::get_camera ()
 
Vec3f clan::SceneLightProbe::get_color () const
 
Vec3f clan::SceneLight::get_color () const
 
float clan::SceneParticleEmitter::get_end_size () const
 
float clan::SceneParticleEmitter::get_falloff () const
 
float clan::SceneLight::get_falloff () const
 
float clan::SceneCamera::get_field_of_view () const
 
std::string clan::SceneParticleEmitter::get_gradient_texture () const
 
float clan::SceneLight::get_hotspot () const
 
template<typename Type >
Resource< Type > clan::Scene::get_inout (const std::string &name)
 
ResourceContainer & clan::Scene::get_inout_container ()
 
float clan::SceneParticleEmitter::get_life_span () const
 
virtual std::shared_ptr
< ModelData > 
clan::SceneCache::get_model_data (const std::string &name)=0
 
const std::string & clan::ScenePass::get_name () const
 
Quaternionf clan::SceneObject::get_orientation () const
 
Quaternionf clan::SceneCamera::get_orientation () const
 
Quaternionf clan::SceneParticleEmitter::get_orientation () const
 
Quaternionf clan::SceneLight::get_orientation () const
 
std::string clan::SceneParticleEmitter::get_particle_texture () const
 
float clan::SceneParticleEmitter::get_particles_per_second () const
 
Vec3f clan::SceneLightProbe::get_position () const
 
Vec3f clan::SceneObject::get_position () const
 
Vec3f clan::SceneCamera::get_position () const
 
Vec3f clan::SceneParticleEmitter::get_position () const
 
Vec3f clan::SceneLight::get_position () const
 
float clan::SceneLightProbe::get_radius () const
 
Vec3f clan::SceneObject::get_scale () const
 
SceneLight clan::SceneLight::get_shadow_source () const
 
float clan::SceneParticleEmitter::get_speed () const
 
float clan::SceneParticleEmitter::get_start_size () const
 
virtual Resource< Texture > clan::SceneCache::get_texture (GraphicContext &gc, const std::string &name, bool linear)=0
 
Type clan::SceneParticleEmitter::get_type () const
 
Type clan::SceneLight::get_type () const
 
bool clan::SceneLight::is_light_caster () const
 
bool clan::SceneLightProbe::is_null () const
 
bool clan::SceneObject::is_null () const
 
bool clan::SceneLight::is_null () const
 
bool clan::SceneParticleEmitter::is_null () const
 
bool clan::ScenePass::is_null () const
 
bool clan::SceneCamera::is_null () const
 
bool clan::SceneModel::is_null () const
 
bool clan::Scene::is_null () const
 
bool clan::SceneLight::is_rectangle_shape () const
 
bool clan::SceneLight::is_shadow_caster () const
 
SceneObject & clan::SceneObject::move (Vec3f offset)
 
void clan::SceneObject::moved (float units_moved)
 
void clan::SceneObject::play_animation (const std::string &name)
 
void clan::Scene::remove_pass (const std::string &name)
 
void clan::Scene::render (GraphicContext &gc)
 
SceneObject & clan::SceneObject::rotate (float dir, float up, float tilt)
 
static void clan::SceneCache::set (ResourceManager &resources, const std::shared_ptr< SceneCache > &cache)
 
virtual void clan::SceneCullProvider::set_aabb (SceneCullProxy *proxy, const AxisAlignedBoundingBox &aabb)=0
 
void clan::SceneParticleEmitter::set_acceleration (const Vec3f &acceleration)
 
void clan::SceneLight::set_ambient_illumination (float factor)
 
void clan::SceneLight::set_aspect_ratio (float aspect)
 
void clan::SceneLight::set_attenuation_end (float attenuation_end)
 
void clan::SceneLight::set_attenuation_start (float attenuation_start)
 
void clan::Scene::set_camera (const SceneCamera &camera)
 
void clan::SceneLightProbe::set_color (const Vec3f &color)
 
void clan::SceneLight::set_color (Vec3f color)
 
void clan::Scene::set_cull_oct_tree (const AxisAlignedBoundingBox &aabb)
 
void clan::Scene::set_cull_oct_tree (const Vec3f &aabb_min, const Vec3f &aabb_max)
 
void clan::Scene::set_cull_oct_tree (float max_size)
 
void clan::SceneParticleEmitter::set_end_size (float size)
 
void clan::SceneParticleEmitter::set_falloff (float falloff)
 
void clan::SceneLight::set_falloff (float falloff)
 
void clan::SceneCamera::set_field_of_view (float fov)
 
void clan::SceneParticleEmitter::set_gradient_texture (const std::string &texture)
 
void clan::SceneLight::set_hotspot (float hotspot)
 
void clan::SceneParticleEmitter::set_life_span (float life_span)
 
void clan::SceneLight::set_light_caster (bool casts_light)
 
void clan::SceneObject::set_light_probe_receiver (bool enable)
 
void clan::SceneObject::set_orientation (const Quaternionf &orientation)
 
void clan::SceneCamera::set_orientation (const Quaternionf &orientation)
 
void clan::SceneParticleEmitter::set_orientation (const Quaternionf &orientation)
 
void clan::SceneLight::set_orientation (const Quaternionf &orientation)
 
void clan::SceneParticleEmitter::set_particle_texture (const std::string &texture)
 
void clan::SceneParticleEmitter::set_particles_per_second (float pps)
 
void clan::SceneLightProbe::set_position (const Vec3f &position)
 
void clan::SceneObject::set_position (const Vec3f &position)
 
void clan::SceneCamera::set_position (const Vec3f &position)
 
void clan::SceneParticleEmitter::set_position (const Vec3f &position)
 
void clan::SceneLight::set_position (const Vec3f &position)
 
void clan::SceneLightProbe::set_radius (float radius)
 
void clan::SceneLight::set_rectangle_shape (bool rectangle)
 
void clan::SceneObject::set_scale (const Vec3f &scale)
 
void clan::SceneLight::set_shadow_caster (bool casts_shadows)
 
void clan::SceneLight::set_shadow_source (SceneLight light)
 
void clan::Scene::set_skybox_gradient (GraphicContext &gc, std::vector< Colorf > &colors)
 
void clan::SceneParticleEmitter::set_speed (float speed)
 
void clan::SceneParticleEmitter::set_start_size (float size)
 
void clan::SceneParticleEmitter::set_type (Type type)
 
void clan::SceneLight::set_type (Type type)
 
void clan::Scene::set_viewport (const Rect &box)
 
void clan::Scene::show_skybox_stars (bool enable)
 
void clan::Scene::unproject (const Vec2i &screen_pos, Vec3f &out_ray_start, Vec3f &out_ray_direction)
 
void clan::SceneObject::update (float time_elapsed)
 
void clan::Scene::update (GraphicContext &gc, float time_elapsed)
 
virtual void clan::SceneCache::update_textures (GraphicContext &gc, float time_elapsed)=0
 
Mat4f clan::Scene::world_to_eye () const
 
Mat4f clan::Scene::world_to_projection () const
 

Variables

static int clan::Scene::draw_calls
 
static std::vector
< GPUTimer::Result > 
clan::Scene::gpu_results
 
static int clan::Scene::instances_drawn
 
static int clan::Scene::models_drawn
 
static int clan::Scene::scene_visits
 
static int clan::Scene::triangles_drawn
 

Friends

class clan::SceneCamera::Scene
 
class clan::SceneCamera::Scene_Impl
 
class clan::Scene::SceneCamera
 
class clan::Scene::SceneLight
 
class clan::Scene::SceneLightProbe
 
class clan::Scene::SceneModel
 
class clan::SceneModel::SceneObject
 
class clan::Scene::SceneObject
 
class clan::Scene::SceneParticleEmitter
 
class clan::Scene::ScenePass
 

Detailed Description

Enumeration Type Documentation

Enumerator
type_omni 
type_directional 
type_spot 
type_sun 
Enumerator
type_omni 
type_spot 

Function Documentation

clan::Scene::Scene ( )
clan::Scene::Scene ( GraphicContext gc,
const ResourceManager resources,
const std::string &  shader_path 
)
clan::SceneCamera::SceneCamera ( )
clan::SceneCamera::SceneCamera ( Scene scene)
clan::SceneLight::SceneLight ( )
clan::SceneLight::SceneLight ( Scene scene)
clan::SceneLightProbe::SceneLightProbe ( )
clan::SceneLightProbe::SceneLightProbe ( Scene scene)
clan::SceneModel::SceneModel ( )
clan::SceneModel::SceneModel ( GraphicContext gc,
Scene scene,
const std::string &  model_name 
)
clan::SceneModel::SceneModel ( GraphicContext gc,
Scene scene,
std::shared_ptr< ModelData model_data 
)
clan::SceneObject::SceneObject ( )
clan::SceneObject::SceneObject ( Scene scene,
const SceneModel model,
const Vec3f position = Vec3f(0.0f),
const Quaternionf orientation = Quaternionf(),
const Vec3f scale = Vec3f(1.0f) 
)
clan::SceneParticleEmitter::SceneParticleEmitter ( )
clan::SceneParticleEmitter::SceneParticleEmitter ( Scene scene)
clan::ScenePass::ScenePass ( )
clan::ScenePass::ScenePass ( std::shared_ptr< ScenePass_Impl >  impl)
virtual clan::SceneCache::~SceneCache ( )
inlinevirtual
virtual clan::SceneCullProvider::~SceneCullProvider ( )
inlinevirtual
virtual clan::SceneItem::~SceneItem ( )
inlinevirtual
ScenePass clan::Scene::add_pass ( const std::string &  name,
const std::string &  insert_before = std::string() 
)
virtual SceneCullProxy* clan::SceneCullProvider::create_proxy ( SceneItem item,
const AxisAlignedBoundingBox aabb 
)
pure virtual
virtual std::vector<SceneItem *> clan::SceneCullProvider::cull ( const FrustumPlanes frustum)
pure virtual
virtual std::vector<SceneItem *> clan::SceneCullProvider::cull ( const Vec3f point)
pure virtual
virtual void clan::SceneCullProvider::delete_proxy ( SceneCullProxy proxy)
pure virtual
Mat4f clan::Scene::eye_to_projection ( ) const
Callback_v1<GraphicContext &>& clan::ScenePass::func_run ( )
static SceneCache& clan::SceneCache::get ( const ResourceManager resources)
static
virtual AxisAlignedBoundingBox clan::SceneCullProvider::get_aabb ( SceneCullProxy proxy)
pure virtual
Vec3f clan::SceneParticleEmitter::get_acceleration ( ) const
float clan::SceneLight::get_ambient_illumination ( ) const
float clan::SceneLight::get_aspect_ratio ( ) const
float clan::SceneLight::get_attenuation_end ( ) const
float clan::SceneLight::get_attenuation_start ( ) const
const SceneCamera& clan::Scene::get_camera ( ) const
SceneCamera& clan::Scene::get_camera ( )
Vec3f clan::SceneLightProbe::get_color ( ) const
Vec3f clan::SceneLight::get_color ( ) const
float clan::SceneParticleEmitter::get_end_size ( ) const
float clan::SceneParticleEmitter::get_falloff ( ) const
float clan::SceneLight::get_falloff ( ) const
float clan::SceneCamera::get_field_of_view ( ) const
std::string clan::SceneParticleEmitter::get_gradient_texture ( ) const
float clan::SceneLight::get_hotspot ( ) const
template<typename Type >
Resource<Type> clan::Scene::get_inout ( const std::string &  name)
inline
ResourceContainer& clan::Scene::get_inout_container ( )
float clan::SceneParticleEmitter::get_life_span ( ) const
virtual std::shared_ptr<ModelData> clan::SceneCache::get_model_data ( const std::string &  name)
pure virtual
const std::string& clan::ScenePass::get_name ( ) const
Quaternionf clan::SceneObject::get_orientation ( ) const
Quaternionf clan::SceneCamera::get_orientation ( ) const
Quaternionf clan::SceneParticleEmitter::get_orientation ( ) const
Quaternionf clan::SceneLight::get_orientation ( ) const
std::string clan::SceneParticleEmitter::get_particle_texture ( ) const
float clan::SceneParticleEmitter::get_particles_per_second ( ) const
Vec3f clan::SceneLightProbe::get_position ( ) const
Vec3f clan::SceneObject::get_position ( ) const
Vec3f clan::SceneCamera::get_position ( ) const
Vec3f clan::SceneParticleEmitter::get_position ( ) const
Vec3f clan::SceneLight::get_position ( ) const
float clan::SceneLightProbe::get_radius ( ) const
Vec3f clan::SceneObject::get_scale ( ) const
SceneLight clan::SceneLight::get_shadow_source ( ) const
float clan::SceneParticleEmitter::get_speed ( ) const
float clan::SceneParticleEmitter::get_start_size ( ) const
virtual Resource<Texture> clan::SceneCache::get_texture ( GraphicContext gc,
const std::string &  name,
bool  linear 
)
pure virtual
Type clan::SceneParticleEmitter::get_type ( ) const
Type clan::SceneLight::get_type ( ) const
bool clan::SceneLight::is_light_caster ( ) const
bool clan::SceneLightProbe::is_null ( ) const
inline
bool clan::SceneObject::is_null ( ) const
inline
bool clan::SceneLight::is_null ( ) const
inline
bool clan::SceneParticleEmitter::is_null ( ) const
inline
bool clan::ScenePass::is_null ( ) const
bool clan::SceneCamera::is_null ( ) const
bool clan::SceneModel::is_null ( ) const
bool clan::Scene::is_null ( ) const
bool clan::SceneLight::is_rectangle_shape ( ) const
bool clan::SceneLight::is_shadow_caster ( ) const
SceneObject& clan::SceneObject::move ( Vec3f  offset)
void clan::SceneObject::moved ( float  units_moved)
void clan::SceneObject::play_animation ( const std::string &  name)
void clan::Scene::remove_pass ( const std::string &  name)
void clan::Scene::render ( GraphicContext gc)
SceneObject& clan::SceneObject::rotate ( float  dir,
float  up,
float  tilt 
)
static void clan::SceneCache::set ( ResourceManager resources,
const std::shared_ptr< SceneCache > &  cache 
)
static
virtual void clan::SceneCullProvider::set_aabb ( SceneCullProxy proxy,
const AxisAlignedBoundingBox aabb 
)
pure virtual
void clan::SceneParticleEmitter::set_acceleration ( const Vec3f acceleration)
void clan::SceneLight::set_ambient_illumination ( float  factor)
void clan::SceneLight::set_aspect_ratio ( float  aspect)
void clan::SceneLight::set_attenuation_end ( float  attenuation_end)
void clan::SceneLight::set_attenuation_start ( float  attenuation_start)
void clan::Scene::set_camera ( const SceneCamera camera)
void clan::SceneLightProbe::set_color ( const Vec3f color)
void clan::SceneLight::set_color ( Vec3f  color)
void clan::Scene::set_cull_oct_tree ( const AxisAlignedBoundingBox aabb)
void clan::Scene::set_cull_oct_tree ( const Vec3f aabb_min,
const Vec3f aabb_max 
)
void clan::Scene::set_cull_oct_tree ( float  max_size)
void clan::SceneParticleEmitter::set_end_size ( float  size)
void clan::SceneParticleEmitter::set_falloff ( float  falloff)
void clan::SceneLight::set_falloff ( float  falloff)
void clan::SceneCamera::set_field_of_view ( float  fov)
void clan::SceneParticleEmitter::set_gradient_texture ( const std::string &  texture)
void clan::SceneLight::set_hotspot ( float  hotspot)
void clan::SceneParticleEmitter::set_life_span ( float  life_span)
void clan::SceneLight::set_light_caster ( bool  casts_light)
void clan::SceneObject::set_light_probe_receiver ( bool  enable)
void clan::SceneObject::set_orientation ( const Quaternionf orientation)
void clan::SceneCamera::set_orientation ( const Quaternionf orientation)
void clan::SceneParticleEmitter::set_orientation ( const Quaternionf orientation)
void clan::SceneLight::set_orientation ( const Quaternionf orientation)
void clan::SceneParticleEmitter::set_particle_texture ( const std::string &  texture)
void clan::SceneParticleEmitter::set_particles_per_second ( float  pps)
void clan::SceneLightProbe::set_position ( const Vec3f position)
void clan::SceneObject::set_position ( const Vec3f position)
void clan::SceneCamera::set_position ( const Vec3f position)
void clan::SceneParticleEmitter::set_position ( const Vec3f position)
void clan::SceneLight::set_position ( const Vec3f position)
void clan::SceneLightProbe::set_radius ( float  radius)
void clan::SceneLight::set_rectangle_shape ( bool  rectangle)
void clan::SceneObject::set_scale ( const Vec3f scale)
void clan::SceneLight::set_shadow_caster ( bool  casts_shadows)
void clan::SceneLight::set_shadow_source ( SceneLight  light)
void clan::Scene::set_skybox_gradient ( GraphicContext gc,
std::vector< Colorf > &  colors 
)
void clan::SceneParticleEmitter::set_speed ( float  speed)
void clan::SceneParticleEmitter::set_start_size ( float  size)
void clan::SceneParticleEmitter::set_type ( Type  type)
void clan::SceneLight::set_type ( Type  type)
void clan::Scene::set_viewport ( const Rect box)
void clan::Scene::show_skybox_stars ( bool  enable)
void clan::Scene::unproject ( const Vec2i screen_pos,
Vec3f out_ray_start,
Vec3f out_ray_direction 
)
void clan::SceneObject::update ( float  time_elapsed)
void clan::Scene::update ( GraphicContext gc,
float  time_elapsed 
)
virtual void clan::SceneCache::update_textures ( GraphicContext gc,
float  time_elapsed 
)
pure virtual
Mat4f clan::Scene::world_to_eye ( ) const
Mat4f clan::Scene::world_to_projection ( ) const

Variable Documentation

int clan::Scene::draw_calls
static
std::vector<GPUTimer::Result> clan::Scene::gpu_results
static
int clan::Scene::instances_drawn
static
int clan::Scene::models_drawn
static
int clan::Scene::scene_visits
static
int clan::Scene::triangles_drawn
static

Friends

friend class Scene
friend
friend class Scene_Impl
friend
friend class SceneCamera
friend
friend class SceneLight
friend
friend class SceneLightProbe
friend
friend class SceneModel
friend
friend class SceneObject
friend
friend class SceneObject
friend
friend class SceneParticleEmitter
friend
friend class ScenePass
friend