|
Blender
V2.59
|
#include "GL/glew.h"#include "MEM_guardedalloc.h"#include "DNA_customdata_types.h"#include "DNA_image_types.h"#include "DNA_material_types.h"#include "BLI_blenlib.h"#include "BLI_utildefines.h"#include "BLI_dynstr.h"#include "BLI_ghash.h"#include "BLI_heap.h"#include "GPU_material.h"#include "GPU_extensions.h"#include "BLO_sys_types.h"#include "gpu_codegen.h"#include <string.h>#include <stdarg.h>Go to the source code of this file.
Definition in file gpu_codegen.c.
| typedef enum GPUDataSource GPUDataSource |
| enum GPUDataSource |
| GPU_SOURCE_VEC_UNIFORM | |
| GPU_SOURCE_BUILTIN | |
| GPU_SOURCE_TEX_PIXEL | |
| GPU_SOURCE_TEX | |
| GPU_SOURCE_ATTRIB |
Definition at line 76 of file gpu_codegen.c.
| static void BLI_dynstr_printf | ( | DynStr * | dynstr, |
| const char * | format, | ||
| ... | |||
| ) | [static] |
Definition at line 173 of file gpu_codegen.c.
References BLI_dynstr_append(), and str.
Referenced by code_generate_vertex(), codegen_call_functions(), codegen_convert_datatype(), codegen_declare_tmps(), codegen_print_datatype(), and codegen_print_uniforms_functions().
| static char* code_generate_fragment | ( | ListBase * | nodes, |
| GPUOutput * | output, | ||
| const char * | UNUSEDname | ||
| ) | [static] |
Definition at line 694 of file gpu_codegen.c.
References BLI_dynstr_append(), BLI_dynstr_free(), BLI_dynstr_get_cstring(), BLI_dynstr_new(), codegen_call_functions(), codegen_declare_tmps(), codegen_print_uniforms_functions(), and codegen_set_unique_ids().
Referenced by GPU_generate_pass().
| static char* code_generate_vertex | ( | ListBase * | nodes | ) | [static] |
Definition at line 724 of file gpu_codegen.c.
References GPUInput::attribfirst, GPUInput::attribid, GPUInput::attribtype, BLI_dynstr_append(), BLI_dynstr_free(), BLI_dynstr_get_cstring(), BLI_dynstr_new(), BLI_dynstr_printf(), CD_TANGENT, datatoc_gpu_shader_vertex_glsl, ListBase::first, GPU_DATATYPE_STR, GPU_SOURCE_ATTRIB, GPUNode::inputs, GPUNode::next, GPUInput::next, GPUInput::source, and GPUInput::type.
Referenced by GPU_generate_pass().
| static void codegen_call_functions | ( | DynStr * | ds, |
| ListBase * | nodes, | ||
| GPUOutput * | finaloutput | ||
| ) | [static] |
Definition at line 643 of file gpu_codegen.c.
References GPUInput::attribid, BLI_dynstr_append(), BLI_dynstr_printf(), GPUInput::builtin, codegen_convert_datatype(), GPUInput::dynamicvec, ListBase::first, GPU_builtin_name(), GPU_SOURCE_ATTRIB, GPU_SOURCE_BUILTIN, GPU_SOURCE_TEX, GPU_SOURCE_TEX_PIXEL, GPU_SOURCE_VEC_UNIFORM, GPU_VEC4, GPUOutput::id, GPUInput::id, GPUNode::inputs, GPUInput::link, GPUNode::name, GPUNode::next, GPUOutput::next, GPUInput::next, GPUNodeLink::output, GPUNode::outputs, GPUInput::source, GPUInput::texid, GPUOutput::type, and GPUInput::type.
Referenced by code_generate_fragment().
| static void codegen_convert_datatype | ( | DynStr * | ds, |
| int | from, | ||
| int | to, | ||
| const char * | tmp, | ||
| int | id | ||
| ) | [static] |
Definition at line 389 of file gpu_codegen.c.
References BLI_dynstr_append(), BLI_dynstr_printf(), GPU_FLOAT, GPU_VEC2, GPU_VEC3, and GPU_VEC4.
Referenced by codegen_call_functions().
Definition at line 616 of file gpu_codegen.c.
References BLI_dynstr_append(), BLI_dynstr_printf(), codegen_input_has_texture(), GPUInput::definetex, ListBase::first, GPU_DATATYPE_STR, GPU_SOURCE_TEX_PIXEL, GPUOutput::id, GPUNode::inputs, GPUNode::next, GPUOutput::next, GPUInput::next, GPUNode::outputs, GPUInput::source, GPUInput::texid, and GPUOutput::type.
Referenced by code_generate_fragment().
| static int codegen_input_has_texture | ( | GPUInput * | input | ) | [static] |
Definition at line 447 of file gpu_codegen.c.
References GPUInput::ima, GPUInput::link, and GPUInput::tex.
Referenced by codegen_declare_tmps(), codegen_print_uniforms_functions(), and codegen_set_unique_ids().
| static void codegen_print_datatype | ( | DynStr * | ds, |
| int | type, | ||
| float * | data | ||
| ) | [static] |
Definition at line 432 of file gpu_codegen.c.
References BLI_dynstr_append(), BLI_dynstr_printf(), GPU_DATATYPE_STR, and i.
Referenced by codegen_print_uniforms_functions().
Definition at line 558 of file gpu_codegen.c.
References GPUInput::attribfirst, GPUInput::attribid, GPUInput::bindtex, BLI_dynstr_append(), BLI_dynstr_printf(), GPUInput::builtin, codegen_input_has_texture(), codegen_print_datatype(), GPUInput::dynamicvec, ListBase::first, GPU_builtin_name(), GPU_DATATYPE_STR, GPU_SOURCE_ATTRIB, GPU_SOURCE_BUILTIN, GPU_SOURCE_TEX, GPU_SOURCE_TEX_PIXEL, GPU_SOURCE_VEC_UNIFORM, gpu_str_prefix(), GPU_TEX1D, GPU_TEX2D, GPUInput::id, GPUNode::inputs, GPUNode::next, GPUInput::next, GPUInput::source, GPUInput::texid, GPUInput::textype, GPUInput::type, and GPUInput::vec.
Referenced by code_generate_fragment().
| static void codegen_set_unique_ids | ( | ListBase * | nodes | ) | [static] |
Definition at line 477 of file gpu_codegen.c.
References GPUInput::bindtex, BLI_ghash_free(), BLI_ghash_haskey(), BLI_ghash_insert(), BLI_ghash_lookup(), BLI_ghash_new(), BLI_ghashutil_ptrcmp(), BLI_ghashutil_ptrhash(), codegen_input_has_texture(), GPUInput::definetex, ListBase::first, GET_INT_FROM_POINTER, GPU_SOURCE_TEX, GPU_SOURCE_TEX_PIXEL, GPUOutput::id, GPUInput::id, GPUInput::ima, GPUNode::inputs, GPUInput::link, GPUNode::next, GPUOutput::next, GPUInput::next, NULL, GPUNode::outputs, SET_INT_IN_POINTER, GPUInput::source, GPUInput::tex, and GPUInput::texid.
Referenced by code_generate_fragment().
| GPUNodeLink* GPU_attribute | ( | int | type, |
| const char * | name | ||
| ) |
Definition at line 1158 of file gpu_codegen.c.
References GPUNodeLink::attribname, GPUNodeLink::attribtype, GPU_node_link_create(), and link().
Referenced by do_material_tex(), GPU_shadeinput_set(), and gpu_shader_geom().
| GPUNodeLink* GPU_builtin | ( | GPUBuiltin | builtin | ) |
Definition at line 1230 of file gpu_codegen.c.
References GPUNodeLink::builtin, GPU_node_link_create(), and link().
Referenced by do_material_tex(), GPU_shadeinput_set(), gpu_shader_camera(), gpu_shader_geom(), GPU_shaderesult_set(), lamp_get_visibility(), and shade_one_light().
| const char* GPU_builtin_name | ( | GPUBuiltin | builtin | ) |
Definition at line 457 of file gpu_codegen.c.
References GPU_INVERSE_OBJECT_MATRIX, GPU_INVERSE_VIEW_MATRIX, GPU_OBCOLOR, GPU_OBJECT_MATRIX, GPU_VIEW_MATRIX, GPU_VIEW_NORMAL, and GPU_VIEW_POSITION.
Referenced by codegen_call_functions(), codegen_print_uniforms_functions(), and GPU_material_construct_end().
| GPUNodeLink* GPU_dynamic_texture | ( | GPUTexture * | tex | ) |
Definition at line 1211 of file gpu_codegen.c.
References GPUNodeLink::dynamic, GPUNodeLink::dynamictex, GPU_node_link_create(), and link().
Referenced by shade_one_light().
| GPUNodeLink* GPU_dynamic_uniform | ( | float * | num | ) |
Definition at line 1178 of file gpu_codegen.c.
References GPUNodeLink::dynamic, GPU_node_link_create(), link(), NULL, GPUNodeLink::ptr1, and GPUNodeLink::ptr2.
Referenced by lamp_get_visibility(), and shade_one_light().
| void GPU_extensions_exit | ( | void | ) |
Definition at line 366 of file gpu_codegen.c.
References BLI_ghash_free(), defmaterial, ListBase::first, GPU_material_free(), Material::gpumaterial, MEM_freeN(), and NULL.
Referenced by GPG_Application::exitEngine(), and WM_exit().
| GPUPass* GPU_generate_pass | ( | ListBase * | nodes, |
| GPUNodeLink * | outlink, | ||
| GPUVertexAttribs * | attribs, | ||
| int * | builtins, | ||
| const char * | name | ||
| ) |
Definition at line 1398 of file gpu_codegen.c.
References code_generate_fragment(), code_generate_vertex(), datatoc_gpu_shader_material_glsl, GPU_nodes_extract_dynamic_inputs(), GPU_nodes_free(), gpu_nodes_get_builtin_flag(), gpu_nodes_get_vertex_attributes(), gpu_nodes_prune(), GPU_shader_create(), MEM_callocN(), MEM_freeN(), NULL, GPUNodeLink::output, GPUPass::output, and GPUPass::shader.
Referenced by GPU_material_construct_end().
| GPUNodeLink* GPU_image | ( | Image * | ima, |
| ImageUser * | iuser | ||
| ) |
Definition at line 1189 of file gpu_codegen.c.
References GPU_node_link_create(), GPUNodeLink::image, link(), GPUNodeLink::ptr1, and GPUNodeLink::ptr2.
Referenced by do_material_tex(), and gpu_shader_texture().
| static void GPU_inputs_free | ( | ListBase * | inputs | ) | [static] |
Definition at line 1064 of file gpu_codegen.c.
References BLI_freelistN(), GPUInput::dynamictex, ListBase::first, GPU_node_link_free(), GPU_texture_free(), GPUInput::link, GPUInput::next, and GPUInput::tex.
Referenced by GPU_node_free(), and GPU_pass_free().
| int GPU_link | ( | GPUMaterial * | mat, |
| const char * | name, | ||
| ... | |||
| ) |
Definition at line 1239 of file gpu_codegen.c.
References FUNCTION_QUAL_IN, GPU_lookup_function(), gpu_material_add_node(), GPU_node_begin(), GPU_node_end(), gpu_node_input_link(), GPU_node_output(), i, and link().
Referenced by add_to_diffuse(), do_colorband_blend(), do_material_tex(), do_specular_ramp(), GPU_material_from_blender(), GPU_shadeinput_set(), gpu_shader_material(), GPU_shaderesult_set(), lamp_get_visibility(), ramp_blend(), ramp_diffuse_result(), ramp_spec_result(), shade_one_light(), texture_rgb_blend(), and texture_value_blend().
| int GPU_link_changed | ( | GPUNodeLink * | link | ) |
Definition at line 1338 of file gpu_codegen.c.
References ListBase::first, GPUNode::inputs, GPUInput::link, GPUNode::name, GPUOutput::node, NULL, and GPUNodeLink::output.
Referenced by do_material_tex(), GPU_shaderesult_set(), and shade_one_light().
| GPUFunction* GPU_lookup_function | ( | const char * | name | ) |
Definition at line 354 of file gpu_codegen.c.
References BLI_ghash_lookup(), BLI_ghash_new(), BLI_ghashutil_strcmp(), BLI_ghashutil_strhash(), datatoc_gpu_shader_material_glsl, and gpu_parse_functions_string().
Referenced by GPU_link(), and GPU_stack_link().
| static GPUNode* GPU_node_begin | ( | const char * | name | ) | [static] |
Definition at line 916 of file gpu_codegen.c.
References MEM_callocN(), and GPUNode::name.
Referenced by GPU_link(), and GPU_stack_link().
| static void GPU_node_end | ( | GPUNode * | UNUSEDnode | ) | [static] |
Definition at line 925 of file gpu_codegen.c.
Referenced by GPU_link(), and GPU_stack_link().
| static void GPU_node_free | ( | GPUNode * | node | ) | [static] |
Definition at line 1078 of file gpu_codegen.c.
References BLI_freelistN(), ListBase::first, GPU_inputs_free(), GPU_node_link_free(), GPUNode::inputs, GPUOutput::link, MEM_freeN(), GPUOutput::next, NULL, GPUNodeLink::output, and GPUNode::outputs.
Referenced by GPU_nodes_free(), and gpu_nodes_prune().
| static void gpu_node_input_link | ( | GPUNode * | node, |
| GPUNodeLink * | link, | ||
| int | type | ||
| ) | [static] |
Definition at line 930 of file gpu_codegen.c.
References GPUNodeLink::attribname, GPUInput::attribname, GPUNodeLink::attribtype, GPUInput::attribtype, BLI_addtail(), BLI_strncpy(), GPUNodeLink::builtin, GPUInput::builtin, GPUNodeLink::dynamic, GPUNodeLink::dynamictex, GPUInput::dynamictex, GPUInput::dynamicvec, ListBase::first, GPU_SOURCE_ATTRIB, GPU_SOURCE_BUILTIN, GPU_SOURCE_TEX, GPU_SOURCE_TEX_PIXEL, GPU_SOURCE_VEC_UNIFORM, GPU_TEX1D, GPU_TEX2D, GPU_texture_create_1D(), GPU_texture_create_2D(), GPU_VEC4, GPUInput::ima, GPUNodeLink::image, GPUNode::inputs, GPUInput::iuser, link(), GPUInput::link, MEM_callocN(), MEM_dupallocN(), MEM_freeN(), GPUNode::name, GPUOutput::node, GPUInput::node, NULL, GPUNodeLink::output, GPUNodeLink::ptr1, GPUNodeLink::ptr2, GPUInput::source, GPUInput::tex, GPUInput::textarget, GPUNodeLink::texture, GPUNodeLink::texturesize, GPUInput::textype, GPUInput::type, GPUNodeLink::users, and GPUInput::vec.
Referenced by GPU_link(), gpu_node_input_socket(), and GPU_stack_link().
| static void gpu_node_input_socket | ( | GPUNode * | node, |
| GPUNodeStack * | sock | ||
| ) | [static] |
Definition at line 1031 of file gpu_codegen.c.
References gpu_node_input_link(), GPU_node_link_create(), link(), GPUNodeStack::link, GPUNodeLink::ptr1, GPUNodeStack::type, and GPUNodeStack::vec.
Referenced by GPU_stack_link().
| static GPUNodeLink* GPU_node_link_create | ( | int | type | ) | [static] |
Definition at line 891 of file gpu_codegen.c.
References link(), MEM_callocN(), GPUNodeLink::type, and GPUNodeLink::users.
Referenced by GPU_attribute(), GPU_builtin(), GPU_dynamic_texture(), GPU_dynamic_uniform(), GPU_image(), gpu_node_input_socket(), GPU_node_output(), GPU_socket(), GPU_texture(), and GPU_uniform().
| static void GPU_node_link_free | ( | GPUNodeLink * | link | ) | [static] |
Definition at line 900 of file gpu_codegen.c.
References GPUOutput::link, MEM_freeN(), NULL, GPUNodeLink::output, and GPUNodeLink::users.
Referenced by GPU_inputs_free(), and GPU_node_free().
| static void GPU_node_output | ( | GPUNode * | node, |
| int | type, | ||
| const char * | UNUSEDname, | ||
| GPUNodeLink ** | link | ||
| ) | [static] |
Definition at line 1045 of file gpu_codegen.c.
References BLI_addtail(), GPU_node_link_create(), GPUOutput::link, MEM_callocN(), GPUOutput::node, GPUNodeLink::output, GPUNode::outputs, and GPUOutput::type.
Referenced by GPU_link(), and GPU_stack_link().
Definition at line 775 of file gpu_codegen.c.
References GPUInput::bindtex, BLI_addtail(), BLI_remlink(), GPUInput::dynamicvec, ListBase::first, GPU_shader_bind(), GPU_shader_get_uniform(), GPU_shader_unbind(), GPU_SOURCE_ATTRIB, GPU_SOURCE_BUILTIN, GPUInput::id, GPUInput::ima, inputs, GPUNode::inputs, GPUPass::inputs, GPUNode::next, next, GPUInput::next, GPUPass::shader, GPUInput::shaderloc, GPUInput::shadername, GPUInput::source, GPUInput::tex, and GPUInput::texid.
Referenced by GPU_generate_pass().
| static void GPU_nodes_free | ( | ListBase * | nodes | ) | [static] |
Definition at line 1094 of file gpu_codegen.c.
References BLI_remlink(), ListBase::first, and GPU_node_free().
Referenced by GPU_generate_pass().
| static void gpu_nodes_get_builtin_flag | ( | ListBase * | nodes, |
| int * | builtin | ||
| ) | [static] |
Definition at line 1143 of file gpu_codegen.c.
References GPUInput::builtin, ListBase::first, GPU_SOURCE_BUILTIN, GPUNode::inputs, GPUNode::next, GPUInput::next, and GPUInput::source.
Referenced by GPU_generate_pass().
| static void gpu_nodes_get_vertex_attributes | ( | ListBase * | nodes, |
| GPUVertexAttribs * | attribs | ||
| ) | [static] |
Definition at line 1107 of file gpu_codegen.c.
References GPUInput::attribfirst, GPUInput::attribid, GPUInput::attribname, GPUInput::attribtype, BLI_strncpy(), ListBase::first, GPUVertexAttribs::glindex, GPU_MAX_ATTRIB, GPU_SOURCE_ATTRIB, GPUNode::inputs, GPUVertexAttribs::layer, GPUVertexAttribs::name, GPUNode::next, GPUInput::next, GPUInput::source, GPUVertexAttribs::totlayer, and GPUVertexAttribs::type.
Referenced by GPU_generate_pass().
| static void gpu_nodes_prune | ( | ListBase * | nodes, |
| GPUNodeLink * | outlink | ||
| ) | [static] |
Definition at line 1379 of file gpu_codegen.c.
References BLI_remlink(), ListBase::first, GPU_node_free(), gpu_nodes_tag(), GPUNode::next, next, and GPUNode::tag.
Referenced by GPU_generate_pass().
| static void gpu_nodes_tag | ( | GPUNodeLink * | link | ) | [static] |
Definition at line 1361 of file gpu_codegen.c.
References ListBase::first, GPUNode::inputs, GPUInput::link, GPUInput::next, GPUOutput::node, GPUNodeLink::output, and GPUNode::tag.
Referenced by gpu_nodes_prune().
| static void gpu_parse_functions_string | ( | GHash * | hash, |
| char * | code | ||
| ) | [static] |
Definition at line 242 of file gpu_codegen.c.
References BLI_ghash_insert(), FUNCTION_QUAL_IN, FUNCTION_QUAL_INOUT, FUNCTION_QUAL_OUT, GPU_DATATYPE_STR, GPU_SHADOW2D, gpu_str_prefix(), gpu_str_skip_token(), GPU_TEX1D, GPU_TEX2D, i, MAX_FUNCTION_NAME, MEM_callocN(), MEM_freeN(), and NULL.
Referenced by GPU_lookup_function().
| void GPU_pass_bind | ( | GPUPass * | pass, |
| double | time, | ||
| int | mipmap | ||
| ) |
Definition at line 830 of file gpu_codegen.c.
References GPUInput::bindtex, ListBase::first, GPU_shader_bind(), GPU_shader_uniform_texture(), GPU_texture_bind(), GPU_texture_from_blender(), GPUInput::ima, inputs, GPUPass::inputs, GPUInput::iuser, GPUInput::next, GPUPass::shader, GPUInput::shaderloc, GPUInput::tex, and GPUInput::texid.
Referenced by GPU_material_bind().
| void GPU_pass_free | ( | GPUPass * | pass | ) |
Definition at line 1443 of file gpu_codegen.c.
References GPU_inputs_free(), GPU_shader_free(), GPUPass::inputs, MEM_freeN(), and GPUPass::shader.
Referenced by GPU_material_free().
Definition at line 770 of file gpu_codegen.c.
References GPUPass::shader.
Referenced by GPU_material_bind_uniforms(), GPU_material_construct_end(), and gpu_material_set_attrib_id().
| void GPU_pass_unbind | ( | GPUPass * | pass | ) |
Definition at line 869 of file gpu_codegen.c.
References GPUInput::bindtex, ListBase::first, GPU_shader_unbind(), GPU_texture_unbind(), GPUInput::ima, inputs, GPUPass::inputs, GPUInput::next, GPUPass::shader, and GPUInput::tex.
Referenced by GPU_material_unbind().
| void GPU_pass_update_uniforms | ( | GPUPass * | pass | ) |
Definition at line 853 of file gpu_codegen.c.
References GPUInput::dynamicvec, ListBase::first, GPU_shader_uniform_vector(), GPUInput::ima, inputs, GPUPass::inputs, GPUInput::next, GPUPass::shader, GPUInput::shaderloc, GPUInput::tex, and GPUInput::type.
Referenced by GPU_material_bind_uniforms().
| GPUNodeLink* GPU_socket | ( | GPUNodeStack * | sock | ) |
Definition at line 1221 of file gpu_codegen.c.
References GPU_node_link_create(), link(), and GPUNodeLink::socket.
Referenced by gpu_shader_math(), and gpu_shader_vect_math().
| int GPU_stack_link | ( | GPUMaterial * | mat, |
| const char * | name, | ||
| GPUNodeStack * | in, | ||
| GPUNodeStack * | out, | ||
| ... | |||
| ) |
Definition at line 1275 of file gpu_codegen.c.
References FUNCTION_QUAL_IN, GPU_lookup_function(), gpu_material_add_node(), GPU_node_begin(), GPU_node_end(), gpu_node_input_link(), gpu_node_input_socket(), GPU_node_output(), GPU_NONE, i, link(), GPUNodeLink::socket, and GPUNodeStack::type.
Referenced by gpu_shader_camera(), gpu_shader_combrgb(), gpu_shader_curve_rgb(), gpu_shader_curve_vec(), gpu_shader_geom(), gpu_shader_hue_sat(), gpu_shader_invert(), gpu_shader_mapping(), gpu_shader_math(), gpu_shader_mix_rgb(), gpu_shader_normal(), gpu_shader_output(), gpu_shader_rgb(), gpu_shader_rgbtobw(), gpu_shader_seprgb(), gpu_shader_squeeze(), gpu_shader_texture(), gpu_shader_valtorgb(), gpu_shader_value(), and gpu_shader_vect_math().
| static int gpu_str_prefix | ( | const char * | str, |
| const char * | prefix | ||
| ) | [static] |
Definition at line 196 of file gpu_codegen.c.
Referenced by codegen_print_uniforms_functions(), and gpu_parse_functions_string().
| static char* gpu_str_skip_token | ( | char * | str, |
| char * | token, | ||
| int | max | ||
| ) | [static] |
Definition at line 209 of file gpu_codegen.c.
References ELEM5, ELEM6, and str.
Referenced by gpu_parse_functions_string().
| GPUNodeLink* GPU_texture | ( | int | size, |
| float * | pixels | ||
| ) |
Definition at line 1200 of file gpu_codegen.c.
References GPU_node_link_create(), link(), GPUNodeLink::ptr1, size(), GPUNodeLink::texture, and GPUNodeLink::texturesize.
Referenced by do_colorband_blend(), gpu_shader_curve_rgb(), gpu_shader_curve_vec(), gpu_shader_valtorgb(), and lamp_get_visibility().
| GPUNodeLink* GPU_uniform | ( | float * | num | ) |
Definition at line 1168 of file gpu_codegen.c.
References GPU_node_link_create(), link(), NULL, GPUNodeLink::ptr1, and GPUNodeLink::ptr2.
Referenced by do_colorband_blend(), do_material_tex(), gpu_get_input_link(), GPU_shadeinput_set(), gpu_shader_mapping(), gpu_shader_normal(), gpu_shader_rgb(), gpu_shader_value(), GPU_shaderesult_set(), lamp_get_visibility(), and shade_one_light().
Definition at line 4 of file gpu_shader_material.glsl.c.
Referenced by GPU_generate_pass(), and GPU_lookup_function().
Definition at line 7 of file gpu_shader_vertex.glsl.c.
Referenced by code_generate_vertex().
GHash* FUNCTION_HASH = NULL [static] |
Definition at line 192 of file gpu_codegen.c.
const char* GPU_DATATYPE_STR[17] [static] |
{"", "float", "vec2", "vec3", "vec4",
0, 0, 0, 0, "mat3", 0, 0, 0, 0, 0, 0, "mat4"}
Definition at line 84 of file gpu_codegen.c.
Referenced by code_generate_vertex(), codegen_declare_tmps(), codegen_print_datatype(), codegen_print_uniforms_functions(), and gpu_parse_functions_string().