Euphoria
world.h File Reference
#include <unordered_set>
#include <memory>
#include "eu/core/scurve.h"
#include "eu/render/material.h"
#include "eu/core/vertex_layout.h"
#include "eu/render/space.h"

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)