|
Blender
V2.93
|
#include <gl_shader.hh>
Inherits blender::gpu::Shader.
Public Member Functions | |
Creation / Destruction | |
| GLShader (const char *name) | |
| ~GLShader () | |
Transform feedback | |
TODO(fclem): Should be replaced by compute shaders. | |
| void | transform_feedback_names_set (Span< const char * > name_list, const eGPUShaderTFBType geom_type) override |
| bool | transform_feedback_enable (GPUVertBuf *buf) override |
| void | transform_feedback_disable (void) override |
Binding | |
| void | bind (void) override |
| void | unbind (void) override |
Uniforms setters | |
| void | uniform_float (int location, int comp_len, int array_size, const float *data) override |
| void | uniform_int (int location, int comp_len, int array_size, const int *data) override |
GPUVertFormat from Shader | |
| void | vertformat_from_shader (GPUVertFormat *format) const override |
| int | program_handle_get (void) const override |
Public Member Functions inherited from blender::gpu::Shader | |
| const char *const | name_get (void) const |
| Shader (const char *name) | |
| virtual | ~Shader () |
Shader stage creation | |
| void | vertex_shader_from_glsl (MutableSpan< const char * > sources) override |
| void | geometry_shader_from_glsl (MutableSpan< const char * > sources) override |
| void | fragment_shader_from_glsl (MutableSpan< const char * > sources) override |
| bool | finalize (void) override |
Additional Inherited Members | |
Public Attributes inherited from blender::gpu::Shader | |
| ShaderInterface * | interface = nullptr |
Protected Member Functions inherited from blender::gpu::Shader | |
| void | print_log (Span< const char * > sources, char *log, const char *stage, const bool error) |
Protected Attributes inherited from blender::gpu::Shader | |
| char | name [64] |
Implementation of shader compilation and uniforms handling using OpenGL.
Definition at line 38 of file gl_shader.hh.
| GLShader::GLShader | ( | const char * | name | ) |
Definition at line 45 of file gl_shader.cc.
References BLI_assert, blender::gpu::GLContext::get(), blender::gpu::Shader::name, NULL, and blender::gpu::debug::object_label().
| GLShader::~GLShader | ( | ) |
Definition at line 56 of file gl_shader.cc.
References BLI_assert, blender::gpu::GLContext::get(), and NULL.
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 204 of file gl_shader.cc.
References BLI_assert.
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 175 of file gl_shader.cc.
References KDL::log(), new(), and blender::gpu::Shader::print_log().
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 170 of file gl_shader.cc.
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 165 of file gl_shader.cc.
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 429 of file gl_shader.cc.
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 262 of file gl_shader.cc.
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 234 of file gl_shader.cc.
References BLI_assert, GPU_SHADER_TFB_LINES, GPU_SHADER_TFB_NONE, GPU_SHADER_TFB_POINTS, GPU_SHADER_TFB_TRIANGLES, and blender::gpu::unwrap().
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 226 of file gl_shader.cc.
References blender::Span< T >::data(), and blender::Span< T >::size().
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 210 of file gl_shader.cc.
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 273 of file gl_shader.cc.
References BLI_assert, and data.
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 300 of file gl_shader.cc.
References BLI_assert, and data.
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 160 of file gl_shader.cc.
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 401 of file gl_shader.cc.
References calc_component_size(), get_fetch_mode_and_comp_type(), GPU_vertformat_attr_add(), GPU_vertformat_clear(), blender::gpu::Shader::name, and size().