|
Blender
V2.93
|
#include "DNA_customdata_types.h"#include "DNA_listBase.h"#include "GPU_material.h"#include "GPU_shader.h"Go to the source code of this file.
Classes | |
| struct | GPUNode |
| struct | GPUNodeLink |
| struct | GPUOutput |
| struct | GPUInput |
| struct | GPUNodeGraphOutputLink |
| struct | GPUNodeGraph |
Typedefs | |
| typedef enum eGPUDataSource | eGPUDataSource |
| typedef struct GPUOutput | GPUOutput |
| typedef struct GPUInput | GPUInput |
| typedef struct GPUNodeGraphOutputLink | GPUNodeGraphOutputLink |
| typedef struct GPUNodeGraph | GPUNodeGraph |
Functions | |
| void | gpu_node_graph_prune_unused (GPUNodeGraph *graph) |
| void | gpu_node_graph_finalize_uniform_attrs (GPUNodeGraph *graph) |
| void | gpu_node_graph_free_nodes (GPUNodeGraph *graph) |
| void | gpu_node_graph_free (GPUNodeGraph *graph) |
| struct GPUNodeGraph * | gpu_material_node_graph (struct GPUMaterial *material) |
| struct GPUTexture ** | gpu_material_ramp_texture_row_set (struct GPUMaterial *mat, int size, float *pixels, float *row) |
| struct GSet * | gpu_material_used_libraries (struct GPUMaterial *material) |
Intermediate node graph for generating GLSL shaders.
Definition in file gpu_node_graph.h.
| typedef enum eGPUDataSource eGPUDataSource |
| typedef struct GPUNodeGraph GPUNodeGraph |
| typedef struct GPUNodeGraphOutputLink GPUNodeGraphOutputLink |
| enum eGPUDataSource |
Definition at line 38 of file gpu_node_graph.h.
| enum GPUNodeLinkType |
Definition at line 52 of file gpu_node_graph.h.
| struct GPUNodeGraph* gpu_material_node_graph | ( | struct GPUMaterial * | material | ) |
Definition at line 608 of file gpu_material.c.
References material.
Referenced by GPU_attribute(), GPU_color_band(), GPU_image(), GPU_image_tiled(), GPU_image_tiled_mapping(), GPU_link(), GPU_stack_link(), GPU_uniform_attribute(), and GPU_volume_grid().
| struct GPUTexture** gpu_material_ramp_texture_row_set | ( | struct GPUMaterial * | mat, |
| int | size, | ||
| float * | pixels, | ||
| float * | row | ||
| ) |
Definition at line 121 of file gpu_material.c.
References BLI_assert, CM_TABLE, GPUMaterial::coba_builder, GPUMaterial::coba_tex, GPUColorBandBuilder::current_layer, float(), MAX_COLOR_BAND, MEM_mallocN, NULL, GPUColorBandBuilder::pixels, size(), and UNUSED_VARS_NDEBUG.
Referenced by GPU_color_band().
| struct GSet* gpu_material_used_libraries | ( | struct GPUMaterial * | material | ) |
Definition at line 613 of file gpu_material.c.
References material.
Referenced by GPU_generate_pass(), GPU_link(), and GPU_stack_link().
| void gpu_node_graph_finalize_uniform_attrs | ( | GPUNodeGraph * | graph | ) |
Definition at line 328 of file gpu_node_graph.c.
References BLI_assert, BLI_ghashutil_strhash_p(), BLI_ghashutil_uinthash(), BLI_listbase_count(), BLI_listbase_sort(), GPUUniformAttrList::count, graph, GPUUniformAttrList::hash_code, GPUUniformAttrList::list, LISTBASE_FOREACH, and uniform_attr_sort_cmp().
Referenced by GPU_generate_pass().
| void gpu_node_graph_free | ( | GPUNodeGraph * | graph | ) |
Definition at line 807 of file gpu_node_graph.c.
References BLI_freelistN(), gpu_node_graph_free_nodes(), GPU_uniform_attr_list_free(), graph, LISTBASE_FOREACH, and MEM_SAFE_FREE.
Referenced by GPU_material_compile(), gpu_material_free_single(), and GPU_material_from_nodetree().
| void gpu_node_graph_free_nodes | ( | GPUNodeGraph * | graph | ) |
Definition at line 795 of file gpu_node_graph.c.
References BLI_pophead(), gpu_node_free(), graph, node, and NULL.
Referenced by GPU_material_compile(), GPU_material_from_nodetree(), and gpu_node_graph_free().
| void gpu_node_graph_prune_unused | ( | GPUNodeGraph * | graph | ) |
Definition at line 845 of file gpu_node_graph.c.
References BLI_freelinkN(), BLI_remlink(), GPUUniformAttrList::count, gpu_node_free(), gpu_nodes_tag(), graph, GPUUniformAttrList::list, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, MEM_SAFE_FREE, next, node, NULL, and tex.
Referenced by GPU_generate_pass().