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
Shader Effect Description.
Definition: shader_effect_description.h:54
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)
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)
Shader Feffect.
Definition: shader_effect.h:45
Texture object class.
Definition: texture.h:103
2D vector
Definition: vec2.h:76
3D vector
Definition: vec3.h:75
4D vector
Definition: vec4.h:75
Vertex Array Buffer.
Definition: vertex_array_buffer.h:46
Vertex Array Vector.
Definition: vertex_array_vector.h:43
ShaderLanguage
Shader language used.
Definition: graphic_context.h:248
VertexAttributeDataType
Primitives array description.
Definition: primitives_array.h:56