|
Blender
V2.93
|
#include "DNA_customdata_types.h"#include "DNA_listBase.h"#include "BLI_sys_types.h"#include "GPU_texture.h"Go to the source code of this file.
Classes | |
| struct | GPUNodeStack |
| struct | GPUMaterialAttribute |
| struct | GPUMaterialTexture |
| struct | GPUMaterialVolumeGrid |
| struct | GPUUniformAttr |
| struct | GPUUniformAttrList |
Typedefs | |
| typedef struct GPUMaterial | GPUMaterial |
| typedef struct GPUNode | GPUNode |
| typedef struct GPUNodeLink | GPUNodeLink |
| typedef enum eGPUType | eGPUType |
| typedef enum eGPUBuiltin | eGPUBuiltin |
| typedef enum eGPUMatFlag | eGPUMatFlag |
| typedef struct GPUNodeStack | GPUNodeStack |
| typedef enum eGPUMaterialStatus | eGPUMaterialStatus |
| typedef enum eGPUVolumeDefaultValue | eGPUVolumeDefaultValue |
| typedef void(* | GPUMaterialEvalCallbackFn) (GPUMaterial *mat, int options, const char **vert_code, const char **geom_code, const char **frag_lib, const char **defines) |
| typedef struct GPUMaterialAttribute | GPUMaterialAttribute |
| typedef struct GPUMaterialTexture | GPUMaterialTexture |
| typedef struct GPUMaterialVolumeGrid | GPUMaterialVolumeGrid |
| typedef struct GPUUniformAttr | GPUUniformAttr |
| typedef struct GPUUniformAttrList | GPUUniformAttrList |
| typedef enum eGPUBuiltin eGPUBuiltin |
| typedef enum eGPUMaterialStatus eGPUMaterialStatus |
| typedef enum eGPUMatFlag eGPUMatFlag |
| typedef enum eGPUVolumeDefaultValue eGPUVolumeDefaultValue |
| typedef struct GPUMaterial GPUMaterial |
Definition at line 1 of file GPU_material.h.
| typedef struct GPUMaterialAttribute GPUMaterialAttribute |
| typedef void(* GPUMaterialEvalCallbackFn) (GPUMaterial *mat, int options, const char **vert_code, const char **geom_code, const char **frag_lib, const char **defines) |
Definition at line 137 of file GPU_material.h.
| typedef struct GPUMaterialTexture GPUMaterialTexture |
| typedef struct GPUMaterialVolumeGrid GPUMaterialVolumeGrid |
Definition at line 1 of file GPU_material.h.
| typedef struct GPUNodeLink GPUNodeLink |
Definition at line 1 of file GPU_material.h.
| typedef struct GPUNodeStack GPUNodeStack |
| typedef struct GPUUniformAttr GPUUniformAttr |
| typedef struct GPUUniformAttrList GPUUniformAttrList |
| enum eGPUBuiltin |
Definition at line 86 of file GPU_material.h.
| enum eGPUMaterialStatus |
| Enumerator | |
|---|---|
| GPU_MAT_FAILED | |
| GPU_MAT_QUEUED | |
| GPU_MAT_SUCCESS | |
Definition at line 126 of file GPU_material.h.
| enum eGPUMatFlag |
| Enumerator | |
|---|---|
| GPU_MATFLAG_DIFFUSE | |
| GPU_MATFLAG_GLOSSY | |
| GPU_MATFLAG_REFRACT | |
| GPU_MATFLAG_SSS | |
| GPU_MATFLAG_BARYCENTRIC | |
Definition at line 108 of file GPU_material.h.
| enum eGPUType |
| Enumerator | |
|---|---|
| GPU_NONE | |
| GPU_FLOAT | |
| GPU_VEC2 | |
| GPU_VEC3 | |
| GPU_VEC4 | |
| GPU_MAT3 | |
| GPU_MAT4 | |
| GPU_MAX_CONSTANT_DATA | |
| GPU_TEX1D_ARRAY | |
| GPU_TEX2D | |
| GPU_TEX2D_ARRAY | |
| GPU_TEX3D | |
| GPU_SHADOW2D | |
| GPU_TEXCUBE | |
| GPU_CLOSURE | |
| GPU_ATTR | |
Definition at line 59 of file GPU_material.h.
| Enumerator | |
|---|---|
| GPU_VOLUME_DEFAULT_0 | |
| GPU_VOLUME_DEFAULT_1 | |
Definition at line 132 of file GPU_material.h.
| GPUNodeLink* GPU_attribute | ( | GPUMaterial * | mat, |
| CustomDataType | type, | ||
| const char * | name | ||
| ) |
Definition at line 489 of file gpu_node_graph.c.
References GPUNodeLink::attr, GPU_constant(), gpu_material_node_graph(), GPU_MAX_CONSTANT_DATA, gpu_node_graph_add_attribute(), GPU_NODE_LINK_ATTR, gpu_node_link_create(), graph, GPUNodeLink::link_type, NULL, and type.
Referenced by gpu_shader_normal_map(), gpu_shader_vector_displacement(), node_shader_gpu_attribute(), node_shader_gpu_bsdf_principled(), node_shader_gpu_default_tex_coord(), node_shader_gpu_geometry(), node_shader_gpu_tangent(), node_shader_gpu_tex_coord(), node_shader_gpu_tex_image(), node_shader_gpu_uvmap(), and node_shader_gpu_vertex_color().
| GPUNodeLink* GPU_builtin | ( | eGPUBuiltin | builtin | ) |
Definition at line 619 of file gpu_node_graph.c.
References GPUNodeLink::builtin, GPU_NODE_LINK_BUILTIN, gpu_node_link_create(), and GPUNodeLink::link_type.
Referenced by get_gpulink_matrix_from_to(), gpu_shader_bevel(), gpu_shader_bump(), gpu_shader_camera(), gpu_shader_displacement(), gpu_shader_normal_map(), gpu_shader_particle_info(), gpu_shader_vector_displacement(), node_shader_gpu_bsdf_principled(), node_shader_gpu_default_tex_coord(), node_shader_gpu_emission(), node_shader_gpu_fresnel(), node_shader_gpu_geometry(), node_shader_gpu_layer_weight(), node_shader_gpu_object_info(), node_shader_gpu_tangent(), node_shader_gpu_tex_coord(), node_shader_gpu_tex_environment(), node_shader_gpu_tex_image(), and node_shader_gpu_wireframe().
| GPUNodeLink* GPU_color_band | ( | GPUMaterial * | mat, |
| int | size, | ||
| float * | pixels, | ||
| float * | row | ||
| ) |
Definition at line 575 of file gpu_node_graph.c.
References gpu_material_node_graph(), gpu_material_ramp_texture_row_set(), gpu_node_graph_add_texture(), GPU_NODE_LINK_COLORBAND, gpu_node_link_create(), GPU_SAMPLER_MAX, graph, GPUNodeLink::link_type, MEM_freeN, NULL, size(), and GPUNodeLink::texture.
Referenced by gpu_shader_curve_rgb(), gpu_shader_curve_vec(), gpu_shader_valtorgb(), node_shader_gpu_blackbody(), and node_shader_gpu_volume_principled().
| GPUNodeLink* GPU_constant | ( | const float * | num | ) |
Definition at line 523 of file gpu_node_graph.c.
References GPUNodeLink::data, GPU_NODE_LINK_CONSTANT, gpu_node_link_create(), and GPUNodeLink::link_type.
Referenced by GPU_attribute(), gpu_node_input_socket(), gpu_shader_bump(), gpu_shader_curve_rgb(), gpu_shader_curve_vec(), gpu_shader_math(), gpu_shader_mix_rgb(), gpu_shader_normal_map(), gpu_shader_valtorgb(), gpu_shader_vect_transform(), gpu_shader_vector_rotate(), GPU_uniform_attribute(), node_shader_gpu_ambient_occlusion(), node_shader_gpu_attribute(), node_shader_gpu_blackbody(), node_shader_gpu_bsdf_anisotropic(), node_shader_gpu_bsdf_glass(), node_shader_gpu_bsdf_glossy(), node_shader_gpu_bsdf_principled(), node_shader_gpu_eevee_specular(), node_shader_gpu_geometry(), node_shader_gpu_object_info(), node_shader_gpu_subsurface_scattering(), node_shader_gpu_tex_brick(), node_shader_gpu_tex_coord(), node_shader_gpu_tex_gradient(), node_shader_gpu_tex_magic(), node_shader_gpu_tex_voronoi(), node_shader_gpu_tex_wave(), and node_shader_gpu_volume_principled().
| GPUNodeLink* GPU_image | ( | GPUMaterial * | mat, |
| struct Image * | ima, | ||
| struct ImageUser * | iuser, | ||
| eGPUSamplerState | sampler_state | ||
| ) |
Definition at line 539 of file gpu_node_graph.c.
References gpu_material_node_graph(), gpu_node_graph_add_texture(), gpu_node_link_create(), GPU_NODE_LINK_IMAGE, graph, GPUNodeLink::link_type, NULL, and GPUNodeLink::texture.
Referenced by node_shader_gpu_tex_environment(), and node_shader_gpu_tex_image().
| GPUNodeLink* GPU_image_tiled | ( | GPUMaterial * | mat, |
| struct Image * | ima, | ||
| struct ImageUser * | iuser, | ||
| eGPUSamplerState | sampler_state | ||
| ) |
Definition at line 552 of file gpu_node_graph.c.
References gpu_material_node_graph(), gpu_node_graph_add_texture(), gpu_node_link_create(), GPU_NODE_LINK_IMAGE_TILED, graph, GPUNodeLink::link_type, NULL, and GPUNodeLink::texture.
Referenced by node_shader_gpu_tex_image().
| GPUNodeLink* GPU_image_tiled_mapping | ( | GPUMaterial * | mat, |
| struct Image * | ima, | ||
| struct ImageUser * | iuser | ||
| ) |
Definition at line 565 of file gpu_node_graph.c.
References gpu_material_node_graph(), gpu_node_graph_add_texture(), gpu_node_link_create(), GPU_NODE_LINK_IMAGE_TILED_MAPPING, GPU_SAMPLER_MAX, graph, GPUNodeLink::link_type, NULL, and GPUNodeLink::texture.
Referenced by node_shader_gpu_tex_image().
| bool GPU_link | ( | GPUMaterial * | mat, |
| const char * | name, | ||
| ... | |||
| ) |
Definition at line 629 of file gpu_node_graph.c.
References BLI_addtail(), FUNCTION_QUAL_IN, gpu_material_library_use_function(), gpu_material_node_graph(), gpu_material_used_libraries(), gpu_node_create(), gpu_node_input_link(), gpu_node_output(), graph, node, and params.
Referenced by gpu_shader_bevel(), gpu_shader_bump(), gpu_shader_camera(), gpu_shader_displacement(), gpu_shader_map_range(), gpu_shader_math(), gpu_shader_mix_rgb(), gpu_shader_normal_map(), gpu_shader_vect_transform(), gpu_uniformbuffer_link(), GPU_volume_grid(), node_shader_gpu_ambient_occlusion(), node_shader_gpu_bsdf_anisotropic(), node_shader_gpu_bsdf_diffuse(), node_shader_gpu_bsdf_glass(), node_shader_gpu_bsdf_glossy(), node_shader_gpu_bsdf_principled(), node_shader_gpu_bsdf_refraction(), node_shader_gpu_bsdf_toon(), node_shader_gpu_bsdf_translucent(), node_shader_gpu_bsdf_velvet(), node_shader_gpu_bump_tex_coord(), node_shader_gpu_default_tex_coord(), node_shader_gpu_eevee_specular(), node_shader_gpu_fresnel(), node_shader_gpu_geometry(), node_shader_gpu_layer_weight(), node_shader_gpu_subsurface_scattering(), node_shader_gpu_tangent(), node_shader_gpu_tex_coord(), node_shader_gpu_tex_environment(), node_shader_gpu_tex_image(), and node_shader_gpu_tex_mapping().
| void GPU_material_add_output_link_aov | ( | GPUMaterial * | material, |
| GPUNodeLink * | link, | ||
| int | hash | ||
| ) |
Definition at line 600 of file gpu_material.c.
References BLI_addtail(), hash, GPUNodeGraphOutputLink::hash, material, MEM_callocN, and GPUNodeGraphOutputLink::outlink.
Referenced by node_shader_gpu_output_aov().
| ListBase GPU_material_attributes | ( | GPUMaterial * | material | ) |
Definition at line 572 of file gpu_material.c.
References material.
Referenced by curve_cd_calc_used_gpu_layers(), and mesh_cd_calc_used_gpu_layers().
| void GPU_material_compile | ( | GPUMaterial * | mat | ) |
Definition at line 775 of file gpu_material.c.
References BLI_assert, GPU_MAT_FAILED, GPU_MAT_QUEUED, GPU_MAT_SUCCESS, gpu_node_graph_free(), gpu_node_graph_free_nodes(), GPU_pass_compile(), GPU_pass_release(), GPU_pass_shader_get(), GPUMaterial::graph, GPUMaterial::name, NULL, GPUMaterial::pass, and GPUMaterial::status.
Referenced by drw_deferred_shader_add(), drw_deferred_shader_compilation_exec(), and drw_deferred_shader_compilation_free().
| struct GPUUniformBuf* GPU_material_create_sss_profile_ubo | ( | void | ) |
Definition at line 564 of file gpu_material.c.
References GPU_uniformbuf_create.
| bool GPU_material_flag_get | ( | GPUMaterial * | mat, |
| eGPUMatFlag | flag | ||
| ) |
Definition at line 646 of file gpu_material.c.
References GPUMaterial::flag.
Referenced by EEVEE_material_bind_resources(), eevee_material_post_eval(), GPU_material_from_nodetree(), and material_opaque().
| void GPU_material_flag_set | ( | GPUMaterial * | mat, |
| eGPUMatFlag | flag | ||
| ) |
Definition at line 641 of file gpu_material.c.
References GPUMaterial::flag.
Referenced by node_shader_gpu_ambient_occlusion(), node_shader_gpu_bsdf_anisotropic(), node_shader_gpu_bsdf_diffuse(), node_shader_gpu_bsdf_glass(), node_shader_gpu_bsdf_glossy(), node_shader_gpu_bsdf_principled(), node_shader_gpu_bsdf_refraction(), node_shader_gpu_bsdf_toon(), node_shader_gpu_bsdf_translucent(), node_shader_gpu_bsdf_velvet(), node_shader_gpu_eevee_specular(), node_shader_gpu_geometry(), node_shader_gpu_shadertorgb(), node_shader_gpu_subsurface_scattering(), and node_shader_gpu_wireframe().
| void GPU_material_free | ( | struct ListBase * | gpumaterial | ) |
Definition at line 192 of file gpu_material.c.
References BLI_freelistN(), gpu_material_free_single(), LISTBASE_FOREACH, material, and MEM_freeN.
Referenced by BKE_material_copybuf_paste(), BKE_material_defaults_free_gpu(), BKE_material_eval(), BKE_world_eval(), ED_node_set_active(), GPU_materials_free(), material_free_data(), and world_free_data().
| GPUMaterial* GPU_material_from_nodetree | ( | Scene * | scene, |
| struct Material * | ma, | ||
| struct bNodeTree * | ntree, | ||
| ListBase * | gpumaterials, | ||
| const void * | engine_type, | ||
| const int | options, | ||
| const bool | is_volume_shader, | ||
| const char * | vert_code, | ||
| const char * | geom_code, | ||
| const char * | frag_lib, | ||
| const char * | defines, | ||
| const char * | name, | ||
| GPUMaterialEvalCallbackFn | callback | ||
| ) |
Definition at line 670 of file gpu_material.c.
References BLI_addtail(), BLI_assert, BLI_ghashutil_ptrcmp(), BLI_ghashutil_ptrhash(), BLI_gset_new(), BLI_snprintf(), BLI_string_joinN, callback, LinkData::data, GPUMaterial::engine_type, GPU_generate_pass(), GPU_MAT_FAILED, GPU_MAT_QUEUED, GPU_MAT_SUCCESS, GPU_material_flag_get(), GPU_material_from_nodetree_find(), gpu_material_ramp_texture_build(), GPU_MATFLAG_SSS, gpu_node_graph_free(), gpu_node_graph_free_nodes(), GPU_pass_shader_get(), GPUMaterial::graph, GPUMaterial::has_surface_output, GPUMaterial::has_volume_output, bNodeTree::id, GPUMaterial::is_volume_shader, GPUMaterial::ma, MEM_callocN, MEM_freeN, GPUMaterial::name, ntree, ntreeFreeLocalTree, ntreeGPUMaterialNodes, ntreeLocalize, NULL, options, GPUMaterial::options, GPUNodeGraph::outlink, GPUMaterial::pass, ID::py_instance, scene, GPUMaterial::scene, GPUMaterial::status, UNUSED_VARS, and GPUMaterial::used_libraries.
Referenced by DRW_shader_create_from_material(), and DRW_shader_create_from_world().
| GPUMaterial* GPU_material_from_nodetree_find | ( | struct ListBase * | gpumaterials, |
| const void * | engine_type, | ||
| int | options | ||
| ) |
Definition at line 651 of file gpu_material.c.
References GPUMaterial::engine_type, if(), LISTBASE_FOREACH, NULL, options, and GPUMaterial::options.
Referenced by DRW_shader_create_from_material(), DRW_shader_create_from_world(), DRW_shader_find_from_material(), DRW_shader_find_from_world(), and GPU_material_from_nodetree().
| struct Material* GPU_material_get_material | ( | GPUMaterial * | material | ) |
Definition at line 218 of file gpu_material.c.
References material.
Referenced by node_shader_gpu_object_info(), and node_shader_gpu_output_material().
| struct GPUPass* GPU_material_get_pass | ( | GPUMaterial * | material | ) |
Definition at line 207 of file gpu_material.c.
References material.
Referenced by DRW_shgroup_material_create().
| struct GPUShader* GPU_material_get_shader | ( | GPUMaterial * | material | ) |
Definition at line 212 of file gpu_material.c.
References GPU_pass_shader_get(), material, and NULL.
Referenced by eevee_lookdev_hdri_preview_init(), material_opaque(), material_shadow(), and material_transparent().
| bool GPU_material_has_surface_output | ( | GPUMaterial * | mat | ) |
Definition at line 626 of file gpu_material.c.
References GPUMaterial::has_surface_output.
Referenced by EEVEE_materials_cache_populate().
| bool GPU_material_has_volume_output | ( | GPUMaterial * | mat | ) |
Definition at line 631 of file gpu_material.c.
References GPUMaterial::has_volume_output.
Referenced by EEVEE_materials_cache_populate(), and EEVEE_volumes_cache_init().
| bool GPU_material_is_volume_shader | ( | GPUMaterial * | mat | ) |
Definition at line 636 of file gpu_material.c.
References GPUMaterial::is_volume_shader.
Referenced by node_shader_gpu_attribute().
| void GPU_material_output_link | ( | GPUMaterial * | material, |
| GPUNodeLink * | link | ||
| ) |
Definition at line 593 of file gpu_material.c.
References material.
Referenced by node_shader_gpu_output_material(), and node_shader_gpu_output_world().
| struct Scene* GPU_material_scene | ( | GPUMaterial * | material | ) |
Definition at line 202 of file gpu_material.c.
References material.
Referenced by DRW_deferred_shader_remove().
| void GPU_material_sss_profile_create | ( | GPUMaterial * | material, |
| float | radii[3], | ||
| const short * | falloff_type, | ||
| const float * | sharpness | ||
| ) |
Definition at line 502 of file gpu_material.c.
References copy_v3_v3(), GPU_uniformbuf_create, material, and NULL.
Referenced by node_shader_gpu_bsdf_principled(), and node_shader_gpu_subsurface_scattering().
| struct GPUUniformBuf* GPU_material_sss_profile_get | ( | GPUMaterial * | material, |
| int | sample_len, | ||
| struct GPUTexture ** | tex_profile | ||
| ) |
Definition at line 519 of file gpu_material.c.
References compute_sss_kernel(), compute_sss_translucence_kernel(), GPU_RGBA16F, GPU_texture_create_1d(), GPU_texture_free(), GPU_uniformbuf_update(), material, MEM_freeN, and NULL.
Referenced by EEVEE_subsurface_add_pass().
| eGPUMaterialStatus GPU_material_status | ( | GPUMaterial * | mat | ) |
Definition at line 619 of file gpu_material.c.
References GPUMaterial::status.
Referenced by drw_deferred_shader_compilation_exec(), DRW_shader_create_from_material(), DRW_shader_create_from_world(), DRW_shader_find_from_material(), DRW_shader_find_from_world(), EEVEE_material_get(), and EEVEE_volumes_cache_object_add().
| ListBase GPU_material_textures | ( | GPUMaterial * | material | ) |
Definition at line 577 of file gpu_material.c.
References material.
Referenced by DRW_shgroup_add_material_resources().
| GPUUniformAttrList* GPU_material_uniform_attributes | ( | GPUMaterial * | material | ) |
Definition at line 587 of file gpu_material.c.
References GPUUniformAttrList::count, material, and NULL.
Referenced by DRW_shgroup_add_material_resources().
| void GPU_material_uniform_buffer_create | ( | GPUMaterial * | material, |
| ListBase * | inputs | ||
| ) |
Create dynamic UBO from parameters
Definition at line 233 of file gpu_material.c.
References GPU_uniformbuf_create_from_list(), inputs, and material.
Referenced by codegen_process_uniforms_functions().
| struct GPUUniformBuf* GPU_material_uniform_buffer_get | ( | GPUMaterial * | material | ) |
Definition at line 223 of file gpu_material.c.
References material.
Referenced by DRW_shgroup_add_material_resources().
| ListBase GPU_material_volume_grids | ( | GPUMaterial * | material | ) |
Definition at line 582 of file gpu_material.c.
References material.
Referenced by EEVEE_volumes_cache_init(), and EEVEE_volumes_cache_object_add().
| void GPU_materials_free | ( | struct Main * | bmain | ) |
Definition at line 805 of file gpu_material.c.
References BKE_material_defaults_free_gpu(), GPU_material_free(), LISTBASE_FOREACH, Main::materials, and Main::worlds.
Referenced by outliner_id_remap_exec().
| void GPU_pass_cache_free | ( | void | ) |
Definition at line 1101 of file gpu_codegen.c.
References BLI_spin_end(), BLI_spin_lock(), BLI_spin_unlock(), gpu_pass_free(), GPUPass::next, next, pass_cache, and pass_cache_spin.
Referenced by WM_exit_ex().
| void GPU_pass_cache_garbage_collect | ( | void | ) |
Definition at line 1068 of file gpu_codegen.c.
References BLI_spin_lock(), BLI_spin_unlock(), gpu_pass_free(), GPUPass::next, next, pass_cache, pass_cache_spin, and PIL_check_seconds_timer().
Referenced by view3d_main_region_draw().
| void GPU_pass_cache_init | ( | void | ) |
Definition at line 1096 of file gpu_codegen.c.
References BLI_spin_init(), and pass_cache_spin.
Referenced by WM_init_opengl().
| bool GPU_stack_link | ( | GPUMaterial * | mat, |
| struct bNode * | node, | ||
| const char * | name, | ||
| GPUNodeStack * | in, | ||
| GPUNodeStack * | out, | ||
| ... | |||
| ) |
Definition at line 665 of file gpu_node_graph.c.
References BLI_addtail(), GPUNodeStack::end, FUNCTION_QUAL_IN, gpu_material_library_use_function(), gpu_material_node_graph(), gpu_material_used_libraries(), gpu_node_create(), gpu_node_input_link(), gpu_node_input_socket(), gpu_node_output(), GPU_NONE, graph, material, node, NULL, params, GPUNodeLink::socket, and type.
Referenced by gpu_shader_bevel(), gpu_shader_brightcontrast(), gpu_shader_bump(), gpu_shader_camera(), gpu_shader_clamp(), gpu_shader_combhsv(), gpu_shader_combrgb(), gpu_shader_combxyz(), gpu_shader_curve_rgb(), gpu_shader_curve_vec(), gpu_shader_displacement(), gpu_shader_hue_sat(), gpu_shader_invert(), gpu_shader_map_range(), gpu_shader_mapping(), gpu_shader_math(), gpu_shader_mix_rgb(), gpu_shader_normal(), gpu_shader_particle_info(), gpu_shader_rgb(), gpu_shader_rgbtobw(), gpu_shader_sephsv(), gpu_shader_seprgb(), gpu_shader_sepxyz(), gpu_shader_squeeze(), gpu_shader_tex_white_noise(), gpu_shader_valtorgb(), gpu_shader_value(), gpu_shader_vector_displacement(), gpu_shader_vector_math(), gpu_shader_vector_rotate(), node_shader_gpu_add_shader(), node_shader_gpu_ambient_occlusion(), node_shader_gpu_attribute(), node_shader_gpu_background(), node_shader_gpu_blackbody(), node_shader_gpu_bsdf_anisotropic(), node_shader_gpu_bsdf_diffuse(), node_shader_gpu_bsdf_glass(), node_shader_gpu_bsdf_glossy(), node_shader_gpu_bsdf_hair(), node_shader_gpu_bsdf_principled(), node_shader_gpu_bsdf_refraction(), node_shader_gpu_bsdf_toon(), node_shader_gpu_bsdf_translucent(), node_shader_gpu_bsdf_transparent(), node_shader_gpu_bsdf_velvet(), node_shader_gpu_eevee_specular(), node_shader_gpu_emission(), node_shader_gpu_fresnel(), node_shader_gpu_gamma(), node_shader_gpu_geometry(), node_shader_gpu_hair_info(), node_shader_gpu_layer_weight(), node_shader_gpu_light_falloff(), node_shader_gpu_light_path(), node_shader_gpu_mix_shader(), node_shader_gpu_object_info(), node_shader_gpu_output_aov(), node_shader_gpu_output_material(), node_shader_gpu_output_world(), node_shader_gpu_shadertorgb(), node_shader_gpu_subsurface_scattering(), node_shader_gpu_tangent(), node_shader_gpu_tex_brick(), node_shader_gpu_tex_checker(), node_shader_gpu_tex_coord(), node_shader_gpu_tex_environment(), node_shader_gpu_tex_gradient(), node_shader_gpu_tex_image(), node_shader_gpu_tex_magic(), node_shader_gpu_tex_sky(), node_shader_gpu_tex_voronoi(), node_shader_gpu_tex_wave(), node_shader_gpu_uvmap(), node_shader_gpu_vertex_color(), node_shader_gpu_volume_absorption(), node_shader_gpu_volume_principled(), node_shader_gpu_volume_scatter(), and node_shader_gpu_wireframe().
| GPUNodeLink* GPU_uniform | ( | const float * | num | ) |
Definition at line 531 of file gpu_node_graph.c.
References GPUNodeLink::data, gpu_node_link_create(), GPU_NODE_LINK_UNIFORM, and GPUNodeLink::link_type.
Referenced by gpu_shader_curve_rgb(), gpu_shader_curve_vec(), gpu_shader_normal(), gpu_shader_normal_map(), gpu_shader_valtorgb(), gpu_uniformbuffer_link(), node_shader_gpu_output_material(), node_shader_gpu_tex_brick(), node_shader_gpu_tex_coord(), node_shader_gpu_tex_image(), node_shader_gpu_tex_mapping(), and node_shader_gpu_tex_sky().
| void GPU_uniform_attr_list_copy | ( | GPUUniformAttrList * | dest, |
| GPUUniformAttrList * | src | ||
| ) |
Definition at line 314 of file gpu_node_graph.c.
References BLI_duplicatelist(), GPUUniformAttrList::count, GPUUniformAttrList::hash_code, and GPUUniformAttrList::list.
Referenced by drw_uniform_attrs_pool_ensure().
| void GPU_uniform_attr_list_free | ( | GPUUniformAttrList * | set | ) |
Definition at line 321 of file gpu_node_graph.c.
References BLI_freelistN(), GPUUniformAttrList::count, GPUUniformAttrList::hash_code, and GPUUniformAttrList::list.
Referenced by drw_uniform_attrs_pool_free_cb(), and gpu_node_graph_free().
| struct GHash* GPU_uniform_attr_list_hash_new | ( | const char * | info | ) |
Definition at line 309 of file gpu_node_graph.c.
References BLI_ghash_new(), uniform_attr_list_cmp(), and uniform_attr_list_hash().
Referenced by DRW_uniform_attrs_pool_new().
| GPUNodeLink* GPU_uniform_attribute | ( | GPUMaterial * | mat, |
| const char * | name, | ||
| bool | use_dupli | ||
| ) |
Definition at line 506 of file gpu_node_graph.c.
References GPU_constant(), gpu_material_node_graph(), GPU_MAX_CONSTANT_DATA, gpu_node_graph_add_uniform_attribute(), gpu_node_link_create(), GPU_NODE_LINK_UNIFORM_ATTR, graph, GPUNodeLink::link_type, NULL, and GPUNodeLink::uniform_attr.
Referenced by node_shader_gpu_attribute().
| GPUNodeLink* GPU_uniformbuf_link_out | ( | struct GPUMaterial * | mat, |
| struct bNode * | node, | ||
| struct GPUNodeStack * | stack, | ||
| const int | index | ||
| ) |
Definition at line 741 of file gpu_node_graph.c.
References gpu_uniformbuffer_link(), node, and SOCK_OUT.
Referenced by gpu_shader_rgb(), and gpu_shader_value().
| GPUNodeLink* GPU_volume_grid | ( | GPUMaterial * | mat, |
| const char * | name, | ||
| eGPUVolumeDefaultValue | default_value | ||
| ) |
Definition at line 588 of file gpu_node_graph.c.
References GPU_link(), gpu_material_node_graph(), gpu_node_graph_add_volume_grid(), gpu_node_link_create(), GPU_NODE_LINK_VOLUME_GRID, GPU_NODE_LINK_VOLUME_GRID_TRANSFORM, graph, GPUNodeLink::link_type, STREQ, GPUMaterialVolumeGrid::users, and GPUNodeLink::volume_grid.
Referenced by node_shader_gpu_attribute(), node_shader_gpu_volume_info(), and node_shader_gpu_volume_principled().