Euphoria
Classes | Typedefs | Enumerations | Functions
Renderer

Classes

struct  eu::render::OpenglStates
 A "cache" for the current open gl state. More...
 
struct  eu::render::StateChanger
 A helper class to change both the opengl state and the cache. More...
 
struct  eu::render::UniformBufferSetup
 
struct  eu::render::CompiledUniformProp
 A compiled uniform buffer property that can be used in a shader. More...
 
struct  eu::render::UniformProp
 internal More...
 
struct  eu::render::UniformBufferCompiler
 
struct  eu::render::UniformBuffer
 
struct  eu::render::BoundUniformBuffer
 

Typedefs

using eu::render::BlendMode = std::tuple< Blend, Blend >
 Blend mode state consisting of src and dst blend functions.
 
using eu::render::StencilFunc = std::tuple< Compare, i32, u32 >
 Stencil function state consisiting of the compare function, the ref and the state.
 
using eu::render::StencilOp = std::tuple< StencilAction, StencilAction, StencilAction >
 Stencil operation state consisting of the stencil fail, depth fail and the pass action.
 

Enumerations

enum class  eu::render::Blend {
  eu::render::Blend::zero , eu::render::Blend::one , eu::render::Blend::src_color , eu::render::Blend::one_minus_src_color ,
  eu::render::Blend::dst_color , eu::render::Blend::one_minus_dst_color , eu::render::Blend::src_alpha , eu::render::Blend::one_minus_src_alpha ,
  eu::render::Blend::dst_alpha , eu::render::Blend::one_minus_dst_alpha , eu::render::Blend::constant_color , eu::render::Blend::one_minus_constant_color ,
  eu::render::Blend::constant_alpha , eu::render::Blend::one_minus_constant_alpha , eu::render::Blend::src_alpha_saturate , eu::render::Blend::src1_color ,
  eu::render::Blend::one_minus_src1_color , eu::render::Blend::src1_alpha , eu::render::Blend::one_minus_src1_alpha
}
 
enum class  eu::render::Compare {
  eu::render::Compare::always , eu::render::Compare::never , eu::render::Compare::less , eu::render::Compare::equal ,
  eu::render::Compare::less_equal , eu::render::Compare::greater , eu::render::Compare::not_equal , eu::render::Compare::greater_equal
}
 
enum class  eu::render::CullFace { eu::render::CullFace::front , eu::render::CullFace::back , eu::render::CullFace::front_and_back }
 
enum class  eu::render::RenderMode { eu::render::RenderMode::fill , eu::render::RenderMode::line , eu::render::RenderMode::point }
 
enum class  eu::render::StencilAction {
  eu::render::StencilAction::keep , eu::render::StencilAction::zero , eu::render::StencilAction::replace , eu::render::StencilAction::increase ,
  eu::render::StencilAction::increase_wrap , eu::render::StencilAction::decrease , eu::render::StencilAction::decrease_wrap , eu::render::StencilAction::invert
}
 
enum class  eu::render::UniformType {
  eu::render::UniformType::invalid , eu::render::UniformType::bool_type , eu::render::UniformType::int_type , eu::render::UniformType::float_type ,
  eu::render::UniformType::vec2 , eu::render::UniformType::vec3 , eu::render::UniformType::vec4 , eu::render::UniformType::mat4
}
 

Functions

void eu::render::bind_texture_2d (OpenglStates *states, const Uniform &uniform, const Texture2d &texture)
 
void eu::render::bind_texture_2d (OpenglStates *states, const Uniform &uniform, const FrameBuffer &texture)
 
void eu::render::bind_texture_cubemap (OpenglStates *states, const Uniform &uniform, const TextureCubemap &texture)
 

Detailed Description

Typedef Documentation

◆ BlendMode

#include <libs/render/src/render/opengl_states.h>

Blend mode state consisting of src and dst blend functions.

Definition at line 21 of file opengl_states.h.

◆ StencilFunc

#include <libs/render/src/render/opengl_states.h>

Stencil function state consisiting of the compare function, the ref and the state.

See also
StateChanger::stencil_func

Definition at line 25 of file opengl_states.h.

◆ StencilOp

#include <libs/render/src/render/opengl_states.h>

Stencil operation state consisting of the stencil fail, depth fail and the pass action.

Definition at line 28 of file opengl_states.h.

Enumeration Type Documentation

◆ Blend

#include <libs/render/src/render/blend.h>

Enumerator
zero 
one 
src_color 
one_minus_src_color 
dst_color 
one_minus_dst_color 
src_alpha 
one_minus_src_alpha 
dst_alpha 
one_minus_dst_alpha 
constant_color 
one_minus_constant_color 
constant_alpha 
one_minus_constant_alpha 
src_alpha_saturate 
src1_color 
one_minus_src1_color 
src1_alpha 
one_minus_src1_alpha 

Definition at line 10 of file blend.h.

◆ Compare

#include <libs/render/src/render/compare.h>

Enumerator
always 
never 
less 
equal 
less_equal 
greater 
not_equal 
greater_equal 

Definition at line 10 of file compare.h.

◆ CullFace

#include <libs/render/src/render/cullface.h>

Enumerator
front 
back 
front_and_back 

Definition at line 10 of file cullface.h.

◆ RenderMode

#include <libs/render/src/render/rendermode.h>

Enumerator
fill 
line 
point 

Definition at line 10 of file rendermode.h.

◆ StencilAction

#include <libs/render/src/render/stencilaction.h>

Enumerator
keep 

The currently stored stencil value is kept.

zero 

The stencil value is set to 0.

replace 

The stencil value is replaced with the reference value set with stencil_func.

increase 

The stencil value is increased by 1 if it is lower than the maximum value.

increase_wrap 

Same as increase, but wraps it back to 0 as soon as the maximum value is exceeded.

decrease 

The stencil value is decreased by 1 if it is higher than the minimum value.

decrease_wrap 

Same as decrease, but wraps it to the maximum value if it ends up lower than 0.

invert 

Bitwise inverts the current stencil buffer value.

Definition at line 11 of file stencilaction.h.

◆ UniformType

#include <libs/render/src/render/uniform_buffer.h>

Enumerator
invalid 
bool_type 
int_type 
float_type 
vec2 
vec3 
vec4 
mat4 

Definition at line 17 of file uniform_buffer.h.

Function Documentation

◆ bind_texture_2d() [1/2]

void eu::render::bind_texture_2d ( OpenglStates states,
const Uniform uniform,
const FrameBuffer texture 
)

◆ bind_texture_2d() [2/2]

void eu::render::bind_texture_2d ( OpenglStates states,
const Uniform uniform,
const Texture2d texture 
)

◆ bind_texture_cubemap()

void eu::render::bind_texture_cubemap ( OpenglStates states,
const Uniform uniform,
const TextureCubemap texture 
)