Antkeeper  0.0.1
Namespaces | Classes | Typedefs | Enumerations
render Namespace Reference

High-level rendering. More...

Namespaces

 vertex_attribute_location
 Vertex attribute locations.
 

Classes

class  compositor
 
struct  context
 Context of a renderer. More...
 
class  material_variable_base
 Abstract base class for material variables. More...
 
class  material_variable
 Material variable. More...
 
class  material
 A material is associated with exactly one shader program and contains a set of material properties which can be uploaded to that shader program via shader inputs. More...
 
struct  model_group
 Part of a model which is associated with exactly one material. More...
 
class  model
 
struct  operation
 Atomic render operation. More...
 
class  pass
 Render pass. More...
 
class  bloom_pass
 Physically-based bloom render pass. More...
 
class  final_pass
 
class  material_pass
 Renders scene objects using their material-specified shaders and properties. More...
 
class  resample_pass
 Resamples a texture. More...
 
class  sky_pass
 
class  renderer
 
class  stage
 Abstract base class for a single stage in a render pipeline. More...
 
class  cascaded_shadow_map_stage
 Renders cascaded shadow maps for directional lights. More...
 
class  culling_stage
 Builds a set of scene objects visible to the current camera and stores it in the render context. More...
 
class  light_probe_stage
 Updates light probes. More...
 
class  queue_stage
 Builds render queues. More...
 

Typedefs

using matvar_bool = material_variable< bool >
 Boolean material variable. More...
 
using matvar_bvec2 = material_variable< math::bvec2 >
 2-dimensional boolean vector material variable. More...
 
using matvar_bvec3 = material_variable< math::bvec3 >
 3-dimensional boolean vector material variable. More...
 
using matvar_bvec4 = material_variable< math::bvec4 >
 4-dimensional boolean vector material variable. More...
 
using matvar_int = material_variable< int >
 Integer material variable. More...
 
using matvar_ivec2 = material_variable< math::ivec2 >
 2-dimensional integer vector material variable. More...
 
using matvar_ivec3 = material_variable< math::ivec3 >
 3-dimensional integer vector material variable. More...
 
using matvar_ivec4 = material_variable< math::ivec4 >
 4-dimensional integer vector material variable. More...
 
using matvar_uint = material_variable< unsigned int >
 Unsigned integer material variable. More...
 
using matvar_uvec2 = material_variable< math::uvec2 >
 2-dimensional unsigned integer vector material variable. More...
 
using matvar_uvec3 = material_variable< math::uvec3 >
 3-dimensional unsigned integer vector material variable. More...
 
using matvar_uvec4 = material_variable< math::uvec4 >
 4-dimensional unsigned integer vector material variable. More...
 
using matvar_float = material_variable< float >
 Floating-point material variable. More...
 
using matvar_fvec2 = material_variable< math::fvec2 >
 2-dimensional floating-point vector material variable. More...
 
using matvar_fvec3 = material_variable< math::fvec3 >
 3-dimensional floating-point vector material variable. More...
 
using matvar_fvec4 = material_variable< math::fvec4 >
 4-dimensional floating-point vector material variable. More...
 
using matvar_fmat2 = material_variable< math::fmat2 >
 2x2 floating-point matrix material variable. More...
 
using matvar_fmat3 = material_variable< math::fmat3 >
 3x3 floating-point matrix material variable. More...
 
using matvar_fmat4 = material_variable< math::fmat4 >
 4x4 floating-point matrix material variable. More...
 
using matvar_texture_1d = material_variable< std::shared_ptr< gl::texture_1d > >
 1-dimensional texture material variable. More...
 
using matvar_texture_2d = material_variable< std::shared_ptr< gl::texture_2d > >
 2-dimensional texture material variable. More...
 
using matvar_texture_3d = material_variable< std::shared_ptr< gl::texture_3d > >
 3-dimensional texture material variable. More...
 
using matvar_texture_cube = material_variable< std::shared_ptr< gl::texture_cube > >
 Cube texture material variable. More...
 

Enumerations

enum class  anti_aliasing_method : std::uint8_t { none , fxaa }
 Anti-aliasing methods. More...
 
enum class  material_blend_mode : std::uint8_t { opaque , masked , translucent }
 Material blend modes. More...
 
enum class  material_shadow_mode : std::uint8_t { none , opaque }
 Material shadow casting modes. More...
 
enum class  material_variable_type : std::uint8_t {
  bvec1 , bvec2 , bvec3 , bvec4 ,
  ivec1 , ivec2 , ivec3 , ivec4 ,
  uvec1 , uvec2 , uvec3 , uvec4 ,
  fvec1 , fvec2 , fvec3 , fvec4 ,
  fmat2 , fmat3 , fmat4 , texture_1d ,
  texture_2d , texture_3d , texture_cube
}
 Material variable data types. More...
 

Detailed Description

High-level rendering.

Typedef Documentation

◆ matvar_bool

using render::matvar_bool = typedef material_variable<bool>

Boolean material variable.

Definition at line 163 of file material-variable.hpp.

◆ matvar_bvec2

2-dimensional boolean vector material variable.

Definition at line 166 of file material-variable.hpp.

◆ matvar_bvec3

3-dimensional boolean vector material variable.

Definition at line 169 of file material-variable.hpp.

◆ matvar_bvec4

4-dimensional boolean vector material variable.

Definition at line 172 of file material-variable.hpp.

◆ matvar_float

using render::matvar_float = typedef material_variable<float>

Floating-point material variable.

Definition at line 199 of file material-variable.hpp.

◆ matvar_fmat2

2x2 floating-point matrix material variable.

Definition at line 211 of file material-variable.hpp.

◆ matvar_fmat3

3x3 floating-point matrix material variable.

Definition at line 214 of file material-variable.hpp.

◆ matvar_fmat4

4x4 floating-point matrix material variable.

Definition at line 217 of file material-variable.hpp.

◆ matvar_fvec2

2-dimensional floating-point vector material variable.

Definition at line 202 of file material-variable.hpp.

◆ matvar_fvec3

3-dimensional floating-point vector material variable.

Definition at line 205 of file material-variable.hpp.

◆ matvar_fvec4

4-dimensional floating-point vector material variable.

Definition at line 208 of file material-variable.hpp.

◆ matvar_int

using render::matvar_int = typedef material_variable<int>

Integer material variable.

Definition at line 175 of file material-variable.hpp.

◆ matvar_ivec2

2-dimensional integer vector material variable.

Definition at line 178 of file material-variable.hpp.

◆ matvar_ivec3

3-dimensional integer vector material variable.

Definition at line 181 of file material-variable.hpp.

◆ matvar_ivec4

4-dimensional integer vector material variable.

Definition at line 184 of file material-variable.hpp.

◆ matvar_texture_1d

using render::matvar_texture_1d = typedef material_variable<std::shared_ptr<gl::texture_1d> >

1-dimensional texture material variable.

Definition at line 220 of file material-variable.hpp.

◆ matvar_texture_2d

using render::matvar_texture_2d = typedef material_variable<std::shared_ptr<gl::texture_2d> >

2-dimensional texture material variable.

Definition at line 223 of file material-variable.hpp.

◆ matvar_texture_3d

using render::matvar_texture_3d = typedef material_variable<std::shared_ptr<gl::texture_3d> >

3-dimensional texture material variable.

Definition at line 226 of file material-variable.hpp.

◆ matvar_texture_cube

Cube texture material variable.

Definition at line 229 of file material-variable.hpp.

◆ matvar_uint

using render::matvar_uint = typedef material_variable<unsigned int>

Unsigned integer material variable.

Definition at line 187 of file material-variable.hpp.

◆ matvar_uvec2

2-dimensional unsigned integer vector material variable.

Definition at line 190 of file material-variable.hpp.

◆ matvar_uvec3

3-dimensional unsigned integer vector material variable.

Definition at line 193 of file material-variable.hpp.

◆ matvar_uvec4

4-dimensional unsigned integer vector material variable.

Definition at line 196 of file material-variable.hpp.

Enumeration Type Documentation

◆ anti_aliasing_method

enum render::anti_aliasing_method : std::uint8_t
strong

Anti-aliasing methods.

Enumerator
none 

No anti-aliasing.

fxaa 

Fast approximate anti-aliasing (FXAA).

Definition at line 30 of file anti-aliasing-method.hpp.

◆ material_blend_mode

enum render::material_blend_mode : std::uint8_t
strong

Material blend modes.

Enumerator
opaque 

Material is fully opaque.

masked 

Material has binary masked opacity.

translucent 

Material is translucent.

Definition at line 30 of file material-blend-mode.hpp.

◆ material_shadow_mode

enum render::material_shadow_mode : std::uint8_t
strong

Material shadow casting modes.

Enumerator
none 

Material does not cast shadows.

opaque 

Material casts fully opaque shadows.

Definition at line 30 of file material-shadow-mode.hpp.

◆ material_variable_type

enum render::material_variable_type : std::uint8_t
strong

Material variable data types.

Enumerator
bvec1 
bvec2 
bvec3 
bvec4 
ivec1 
ivec2 
ivec3 
ivec4 
uvec1 
uvec2 
uvec3 
uvec4 
fvec1 
fvec2 
fvec3 
fvec4 
fmat2 
fmat3 
fmat4 
texture_1d 
texture_2d 
texture_3d 
texture_cube 

Definition at line 30 of file material-variable-type.hpp.