Euphoria
Classes | Namespaces | Enumerations | Functions
world.h File Reference
#include "eu/core/scurve.h"
#include "eu/render/material.h"
#include "eu/core/vertex_layout.h"
#include "eu/render/space.h"
#include <unordered_set>

Go to the source code of this file.

Classes

struct  eu::render::CompiledGeom
 Represents a Geom on the GPU. More...
 
struct  eu::render::CompiledGeom_TransformInstance
 Represents a Geom on the GPU, instanced on a transform. More...
 
struct  eu::render::LocalAxis
 
struct  eu::render::MeshInstance
 Stores Geom + Material (aka a mesh) and its current transform. More...
 
struct  eu::render::MeshInstance_TransformInstanced
 Stores Geom + Material (aka a mesh) and its current transform but instanced for faster rendering. More...
 
struct  eu::render::DirectionalLight
 A directional light,. More...
 
struct  eu::render::PointLight
 A point light. More...
 
struct  eu::render::FrustumLight
 Like a spotlight but can be positioned with a transform, supports light cookies and can use a "view frustum" when culling. More...
 
struct  eu::render::Lights
 All lights in a world. More...
 
struct  eu::render::Skybox
 A skybox model with a cubemap texture. More...
 
struct  eu::render::World
 A list of objects to render. More...
 

Namespaces

namespace  eu
 
namespace  eu::core
 
namespace  eu::render
 

Enumerations

enum class  eu::render::Billboarding {
  eu::render::Billboarding::none , eu::render::Billboarding::screen , eu::render::Billboarding::screen_fast , eu::render::Billboarding::axial_y ,
  eu::render::Billboarding::axial_y_fast
}
 Defines the billboarding algorithm to use. More...
 

Functions

std::shared_ptr< CompiledGeomeu::render::compile_geom (DEBUG_LABEL_ARG_MANY const core::Geom &, const core::CompiledGeomVertexAttributes &layout)
 
std::shared_ptr< CompiledGeom_TransformInstanceeu::render::compile_geom_with_transform_instance (DEBUG_LABEL_ARG_MANY const core::Geom &, const core::CompiledGeomVertexAttributes &layout, std::size_t max_instances)
 
m4 eu::render::transform_from_rotation (const v3 &position, const Ypr &ypr)
 
m4 eu::render::transform_from_billboard (const v3 &position, Billboarding billboarding, const CompiledCamera &cc)
 
std::shared_ptr< MeshInstanceeu::render::make_mesh_instance (std::shared_ptr< CompiledGeom > geom, std::shared_ptr< Material > mat)
 
std::shared_ptr< MeshInstance_TransformInstancedeu::render::make_mesh_instance (std::shared_ptr< CompiledGeom_TransformInstance > geom, std::shared_ptr< Material > mat)
 
void eu::render::render_geom (const CompiledGeom &geom)
 
void eu::render::render_geom_instanced (const MeshInstance_TransformInstanced &instanced)
 
CameraVectors eu::render::create_vectors (const DirectionalLight &p)