33#include "../Render/graphic_context.h"
34#include "../Render/rasterizer_state_description.h"
35#include "../Render/blend_state_description.h"
36#include "../Render/depth_stencil_state_description.h"
37#include "../Render/storage_buffer.h"
38#include "../Render/uniform_buffer.h"
39#include "../Render/texture.h"
40#include "../Render/render_buffer.h"
41#include "../../Core/Resources/resource.h"
48 class ShaderEffectDescription_Impl;
60 void set_define(std::string name, std::string value =
"1");
292 std::shared_ptr<ShaderEffectDescription_Impl> impl;
Blend state description.
Definition blend_state_description.h:42
Floating point color description class (for float).
Definition color.h:799
DepthStencil state description.
Definition depth_stencil_state_description.h:42
Element Array Buffer.
Definition element_array_buffer.h:46
Element Array Vector.
Definition element_array_vector.h:43
Rasterizer state description.
Definition rasterizer_state_description.h:42
Render-buffer object class.
Definition render_buffer.h:47
Resource proxy of a specific type.
Definition resource.h:58
void set_attribute(std::string name, VertexArrayVector< unsigned char > &buffer, int size, bool normalize=false)
Definition shader_effect_description.h:89
void set_attribute(std::string name, VertexArrayVector< Vec4ui > &buffer, bool normalize=false)
Definition shader_effect_description.h:249
void set_attribute(std::string name, VertexArrayBuffer &buffer, int size, VertexAttributeDataType type, size_t offset=0, int stride=0, bool normalize=false)
void set_elements(ElementArrayVector< unsigned char > &element_array)
Definition shader_effect_description.h:284
void set_attribute(std::string name, VertexArrayVector< Vec2ub > &buffer, bool normalize=false)
Definition shader_effect_description.h:159
void set_define(std::string name, std::string value="1")
void set_attribute(std::string name, VertexArrayVector< Vec3f > &buffer)
Definition shader_effect_description.h:224
void set_attribute(std::string name, VertexArrayVector< Vec3ui > &buffer, bool normalize=false)
Definition shader_effect_description.h:214
void set_attribute(std::string name, VertexArrayVector< float > &buffer, int size, bool normalize=false)
Definition shader_effect_description.h:119
void set_attribute_uv_quad(std::string name)
friend class ShaderEffect
Definition shader_effect_description.h:294
void set_elements(ElementArrayVector< unsigned int > &element_array)
Definition shader_effect_description.h:274
void set_attribute(std::string name, VertexArrayVector< unsigned short > &buffer, bool normalize=false)
Definition shader_effect_description.h:134
void set_frag_data(std::string name, RenderBuffer buffer)
void set_attribute(std::string name, VertexArrayVector< Vec2b > &buffer, bool normalize=false)
Definition shader_effect_description.h:164
void set_attribute(std::string name, VertexArrayVector< Vec2ui > &buffer, bool normalize=false)
Definition shader_effect_description.h:179
void set_attribute(std::string name, VertexArrayVector< float > &buffer)
Definition shader_effect_description.h:154
void set_attribute(std::string name, VertexArrayVector< signed char > &buffer, bool normalize=false)
Definition shader_effect_description.h:129
DepthStencilStateDescription & depth_stencil()
void set_attribute(std::string name, VertexArrayVector< signed short > &buffer, bool normalize=false)
Definition shader_effect_description.h:139
void set_compute_shader(std::string code, ShaderLanguage language=ShaderLanguage::glsl)
void set_attribute(std::string name, VertexArrayVector< int > &buffer, int size, bool normalize=false)
Definition shader_effect_description.h:114
void set_attribute(std::string name, VertexArrayVector< unsigned char > &buffer, bool normalize=false)
Definition shader_effect_description.h:124
void set_attribute_screen_quad(std::string name)
ShaderEffectDescription()
void set_fragment_shader(std::string code, ShaderLanguage language=ShaderLanguage::glsl)
void set_attribute(std::string name, VertexArrayVector< short > &buffer, int size, bool normalize=false)
Definition shader_effect_description.h:104
void set_attribute(std::string name, VertexArrayVector< unsigned short > &buffer, int size, bool normalize=false)
Definition shader_effect_description.h:99
void set_attribute(std::string name, VertexArrayVector< Vec4f > &buffer)
Definition shader_effect_description.h:259
void set_attribute(std::string name, VertexArrayVector< Vec3b > &buffer, bool normalize=false)
Definition shader_effect_description.h:199
void set_depth_data(Texture texture)
void set_attribute(std::string name, VertexArrayVector< Vec3i > &buffer, bool normalize=false)
Definition shader_effect_description.h:219
void set_texture(std::string name, Resource< Texture > texture)
void set_attribute(std::string name, VertexArrayVector< Vec2i > &buffer, bool normalize=false)
Definition shader_effect_description.h:184
void set_stencil_data(Texture texture)
void set_attribute(std::string name, VertexArrayVector< Vec2s > &buffer, bool normalize=false)
Definition shader_effect_description.h:174
void set_uniform_block(std::string name, Resource< UniformBuffer > values)
void set_elements(ElementArrayVector< unsigned short > &element_array)
Definition shader_effect_description.h:279
void set_storage(std::string name, Resource< StorageBuffer > values)
void set_attribute(std::string name, VertexArrayVector< unsigned int > &buffer, bool normalize=false)
Definition shader_effect_description.h:144
void set_frag_data(std::string name, Texture texture)
void set_attribute(std::string name, VertexArrayVector< unsigned int > &buffer, int size, bool normalize=false)
Definition shader_effect_description.h:109
void set_vertex_shader(std::string code, ShaderLanguage language=ShaderLanguage::glsl)
void set_attribute(std::string name, VertexArrayVector< Vec3us > &buffer, bool normalize=false)
Definition shader_effect_description.h:204
void set_attribute(std::string name, VertexArrayVector< Vec4i > &buffer, bool normalize=false)
Definition shader_effect_description.h:254
void set_attribute(std::string name, VertexArrayVector< Vec2us > &buffer, bool normalize=false)
Definition shader_effect_description.h:169
void set_image(std::string name, Resource< Texture > texture)
void set_attribute(std::string name, VertexArrayVector< Vec3s > &buffer, bool normalize=false)
Definition shader_effect_description.h:209
void set_attribute(std::string name, VertexArrayVector< Vec4b > &buffer, bool normalize=false)
Definition shader_effect_description.h:234
void set_attribute(std::string name, VertexArrayVector< signed int > &buffer, bool normalize=false)
Definition shader_effect_description.h:149
void set_attribute(std::string name, VertexArrayVector< Vec4s > &buffer, bool normalize=false)
Definition shader_effect_description.h:244
void set_attribute(std::string name, VertexArrayVector< Vec2f > &buffer)
Definition shader_effect_description.h:189
RasterizerStateDescription & rasterizer()
void set_elements(ElementArrayBuffer &element_array, VertexAttributeDataType indices_type)
void set_attribute(std::string name, VertexArrayVector< Vec3ub > &buffer, bool normalize=false)
Definition shader_effect_description.h:194
void set_draw_count(int count)
BlendStateDescription & blend()
void set_depth_data(RenderBuffer buffer)
void set_attribute(std::string name, VertexArrayVector< char > &buffer, int size, bool normalize=false)
Definition shader_effect_description.h:94
void set_glsl_version(int version=330)
void set_attribute(std::string name, VertexArrayVector< Colorf > &buffer)
Definition shader_effect_description.h:264
void set_attribute(std::string name, VertexArrayVector< Vec4ub > &buffer, bool normalize=false)
Definition shader_effect_description.h:229
void set_stencil_data(RenderBuffer buffer)
void set_attribute(std::string name, VertexArrayVector< Vec4us > &buffer, bool normalize=false)
Definition shader_effect_description.h:239
void set_frag_data_to_back_buffer(std::string name)
Texture object class.
Definition texture.h:103
Vertex Array Buffer.
Definition vertex_array_buffer.h:46
Vertex Array Vector.
Definition vertex_array_vector.h:43
Vec4< unsigned char > Vec4ub
Definition vec4.h:393
Vec3< unsigned char > Vec3ub
Definition vec3.h:341
Vec4< unsigned int > Vec4ui
Definition vec4.h:397
Vec2< unsigned int > Vec2ui
Definition vec2.h:355
Vec2< unsigned short > Vec2us
Definition vec2.h:353
Vec3< unsigned short > Vec3us
Definition vec3.h:343
Vec4< char > Vec4b
Definition vec4.h:394
Vec4< float > Vec4f
Definition vec4.h:399
Vec3< unsigned int > Vec3ui
Definition vec3.h:345
Vec2< char > Vec2b
Definition vec2.h:352
Vec3< float > Vec3f
Definition vec3.h:347
Vec2< int > Vec2i
Definition vec2.h:356
Vec4< short > Vec4s
Definition vec4.h:396
Vec4< int > Vec4i
Definition vec4.h:398
Vec3< char > Vec3b
Definition vec3.h:342
Vec2< float > Vec2f
Definition vec2.h:357
Vec2< unsigned char > Vec2ub
Definition vec2.h:351
Vec3< short > Vec3s
Definition vec3.h:344
Vec2< short > Vec2s
Definition vec2.h:354
Vec3< int > Vec3i
Definition vec3.h:346
Vec4< unsigned short > Vec4us
Definition vec4.h:395
ShaderLanguage
Shader language used.
Definition graphic_context.h:248
VertexAttributeDataType
Primitives array description.
Definition primitives_array.h:56
@ glsl
Definition graphic_context.h:249
@ type_float
Definition primitives_array.h:63
@ type_short
Definition primitives_array.h:61
@ type_unsigned_byte
Definition primitives_array.h:57
@ type_int
Definition primitives_array.h:62
@ type_byte
Definition primitives_array.h:60
@ type_unsigned_short
Definition primitives_array.h:58
@ type_unsigned_int
Definition primitives_array.h:59