34 #include "../Render/graphic_context.h"
35 #include "../Render/rasterizer_state_description.h"
36 #include "../Render/blend_state_description.h"
37 #include "../Render/depth_stencil_state_description.h"
38 #include "../Render/storage_buffer.h"
39 #include "../Render/uniform_buffer.h"
40 #include "../Render/texture.h"
41 #include "../Render/render_buffer.h"
42 #include "../../Core/Resources/resource.h"
49 class ShaderEffectDescription_Impl;
72 void set_define(std::string name, std::string value =
"1");
308 std::shared_ptr<ShaderEffectDescription_Impl> impl;
DepthStencil state description.
Definition: depth_stencil_state_description.h:43
void set_elements(ElementArrayVector< unsigned char > &element_array)
Definition: shader_effect_description.h:296
DepthStencilStateDescription & depth_stencil()
void set_define(std::string name, std::string value="1")
void set_uniform_block(std::string name, Resource< UniformBuffer > values)
Texture object class.
Definition: texture.h:104
void set_attribute(std::string name, VertexArrayVector< Vec3ub > &buffer, bool normalize=false)
Definition: shader_effect_description.h:206
void set_attribute(std::string name, VertexArrayVector< Vec2s > &buffer, bool normalize=false)
Definition: shader_effect_description.h:186
void set_frag_data_to_back_buffer(std::string name)
void set_attribute(std::string name, VertexArrayVector< signed char > &buffer, bool normalize=false)
Definition: shader_effect_description.h:141
BlendStateDescription & blend()
void set_stencil_data(Texture texture)
Vertex Array Buffer.
Definition: vertex_array_buffer.h:47
@ type_float
Definition: primitives_array.h:64
void set_attribute(std::string name, VertexArrayVector< Vec2ui > &buffer, bool normalize=false)
Definition: shader_effect_description.h:191
void set_attribute(std::string name, VertexArrayVector< char > &buffer, int size, bool normalize=false)
Definition: shader_effect_description.h:106
void set_draw_count(int count)
void set_attribute(std::string name, VertexArrayVector< float > &buffer)
Definition: shader_effect_description.h:166
ShaderLanguage
Shader language used.
Definition: graphic_context.h:249
void set_attribute(std::string name, VertexArrayVector< unsigned char > &buffer, bool normalize=false)
Definition: shader_effect_description.h:136
Rasterizer state description.
Definition: rasterizer_state_description.h:43
void set_attribute(std::string name, VertexArrayVector< Colorf > &buffer)
Definition: shader_effect_description.h:276
void set_texture(std::string name, Resource< Texture > texture)
void set_attribute_uv_quad(std::string name)
ShaderEffectDescription()
void set_attribute(std::string name, VertexArrayVector< Vec2i > &buffer, bool normalize=false)
Definition: shader_effect_description.h:196
void set_attribute(std::string name, VertexArrayVector< Vec3s > &buffer, bool normalize=false)
Definition: shader_effect_description.h:221
void set_stencil_data(RenderBuffer buffer)
@ type_unsigned_short
Definition: primitives_array.h:59
Blend state description.
Definition: blend_state_description.h:43
void set_attribute(std::string name, VertexArrayVector< unsigned short > &buffer, int size, bool normalize=false)
Definition: shader_effect_description.h:111
void set_glsl_version(int version=330)
void set_elements(ElementArrayBuffer &element_array, VertexAttributeDataType indices_type)
Shader Effect Description.
Definition: shader_effect_description.h:55
void set_attribute(std::string name, VertexArrayVector< unsigned int > &buffer, bool normalize=false)
Definition: shader_effect_description.h:156
void set_attribute(std::string name, VertexArrayVector< Vec4ui > &buffer, bool normalize=false)
Definition: shader_effect_description.h:261
void set_attribute(std::string name, VertexArrayBuffer &buffer, int size, VertexAttributeDataType type, size_t offset=0, int stride=0, bool normalize=false)
Floating point color description class (for float).
Definition: color.h:661
RasterizerStateDescription & rasterizer()
void set_depth_data(Texture texture)
void set_elements(ElementArrayVector< unsigned short > &element_array)
Definition: shader_effect_description.h:291
void set_depth_data(RenderBuffer buffer)
void set_attribute(std::string name, VertexArrayVector< Vec4i > &buffer, bool normalize=false)
Definition: shader_effect_description.h:266
void set_compute_shader(std::string code, ShaderLanguage language=shader_glsl)
void set_attribute(std::string name, VertexArrayVector< Vec4us > &buffer, bool normalize=false)
Definition: shader_effect_description.h:251
void set_attribute(std::string name, VertexArrayVector< Vec4ub > &buffer, bool normalize=false)
Definition: shader_effect_description.h:241
void set_attribute(std::string name, VertexArrayVector< Vec2us > &buffer, bool normalize=false)
Definition: shader_effect_description.h:181
void set_attribute(std::string name, VertexArrayVector< int > &buffer, int size, bool normalize=false)
Definition: shader_effect_description.h:126
void set_attribute(std::string name, VertexArrayVector< signed int > &buffer, bool normalize=false)
Definition: shader_effect_description.h:161
void set_attribute(std::string name, VertexArrayVector< Vec3b > &buffer, bool normalize=false)
Definition: shader_effect_description.h:211
2D vector
Definition: line.h:48
Vertex Array Vector.
Definition: vertex_array_vector.h:44
@ type_short
Definition: primitives_array.h:62
void set_attribute(std::string name, VertexArrayVector< Vec3f > &buffer)
Definition: shader_effect_description.h:236
void set_attribute(std::string name, VertexArrayVector< Vec4b > &buffer, bool normalize=false)
Definition: shader_effect_description.h:246
void set_frag_data(std::string name, RenderBuffer buffer)
void set_storage(std::string name, Resource< StorageBuffer > values)
void set_attribute(std::string name, VertexArrayVector< signed short > &buffer, bool normalize=false)
Definition: shader_effect_description.h:151
Element Array Buffer.
Definition: element_array_buffer.h:47
void set_attribute(std::string name, VertexArrayVector< Vec4f > &buffer)
Definition: shader_effect_description.h:271
@ shader_glsl
Definition: graphic_context.h:250
4D vector
Definition: size.h:47
void set_attribute(std::string name, VertexArrayVector< unsigned short > &buffer, bool normalize=false)
Definition: shader_effect_description.h:146
void set_attribute(std::string name, VertexArrayVector< float > &buffer, int size, bool normalize=false)
Definition: shader_effect_description.h:131
void set_attribute_screen_quad(std::string name)
void set_attribute(std::string name, VertexArrayVector< Vec2f > &buffer)
Definition: shader_effect_description.h:201
void set_elements(ElementArrayVector< unsigned int > &element_array)
Definition: shader_effect_description.h:286
void set_attribute(std::string name, VertexArrayVector< Vec3us > &buffer, bool normalize=false)
Definition: shader_effect_description.h:216
void set_attribute(std::string name, VertexArrayVector< Vec2ub > &buffer, bool normalize=false)
Definition: shader_effect_description.h:171
void set_attribute(std::string name, VertexArrayVector< unsigned char > &buffer, int size, bool normalize=false)
Definition: shader_effect_description.h:101
void set_attribute(std::string name, VertexArrayVector< Vec3ui > &buffer, bool normalize=false)
Definition: shader_effect_description.h:226
void set_attribute(std::string name, VertexArrayVector< Vec2b > &buffer, bool normalize=false)
Definition: shader_effect_description.h:176
void set_vertex_shader(std::string code, ShaderLanguage language=shader_glsl)
VertexAttributeDataType
Primitives array description.
Definition: primitives_array.h:57
void set_image(std::string name, Resource< Texture > texture)
@ type_unsigned_int
Definition: primitives_array.h:60
@ type_unsigned_byte
Definition: primitives_array.h:58
void set_fragment_shader(std::string code, ShaderLanguage language=shader_glsl)
Shader Feffect.
Definition: shader_effect.h:46
@ type_byte
Definition: primitives_array.h:61
Resource proxy of a specific type.
Definition: resource.h:59
void set_attribute(std::string name, VertexArrayVector< Vec3i > &buffer, bool normalize=false)
Definition: shader_effect_description.h:231
3D vector
Definition: line_ray.h:48
void set_attribute(std::string name, VertexArrayVector< short > &buffer, int size, bool normalize=false)
Definition: shader_effect_description.h:116
void set_attribute(std::string name, VertexArrayVector< Vec4s > &buffer, bool normalize=false)
Definition: shader_effect_description.h:256
void set_frag_data(std::string name, Texture texture)
@ type_int
Definition: primitives_array.h:63
Element Array Vector.
Definition: element_array_vector.h:44
void set_attribute(std::string name, VertexArrayVector< unsigned int > &buffer, int size, bool normalize=false)
Definition: shader_effect_description.h:121
Render-buffer object class.
Definition: render_buffer.h:48