|
Blender
V2.93
|
Go to the source code of this file.
Classes | |
| struct | GPUPass |
Typedefs | |
| typedef struct GPUPass | GPUPass |
Functions | |
| GPUPass * | GPU_generate_pass (struct GPUMaterial *material, struct GPUNodeGraph *graph, const char *vert_code, const char *geom_code, const char *frag_lib, const char *defines) |
| struct GPUShader * | GPU_pass_shader_get (GPUPass *pass) |
| bool | GPU_pass_compile (GPUPass *pass, const char *shname) |
| void | GPU_pass_release (GPUPass *pass) |
| void | gpu_codegen_init (void) |
| void | gpu_codegen_exit (void) |
Generate shader code from the intermediate node graph.
Definition in file gpu_codegen.h.
| void gpu_codegen_exit | ( | void | ) |
Definition at line 1120 of file gpu_codegen.c.
References BKE_material_defaults_free_gpu(), and GPU_shader_free_builtin_shaders().
Referenced by GPU_exit().
| void gpu_codegen_init | ( | void | ) |
Definition at line 1116 of file gpu_codegen.c.
Referenced by GPU_init().
| GPUPass* GPU_generate_pass | ( | struct GPUMaterial * | material, |
| struct GPUNodeGraph * | graph, | ||
| const char * | vert_code, | ||
| const char * | geom_code, | ||
| const char * | frag_lib, | ||
| const char * | defines | ||
| ) |
Definition at line 839 of file gpu_codegen.c.
References BLI_LINKS_PREPEND, BLI_spin_lock(), BLI_spin_unlock(), BLI_strdup(), BLI_strdupcat(), code_generate_fragment(), code_generate_geometry(), code_generate_interface(), code_generate_vertex(), GPUPass::compiled, GPUPass::defines, GPUPass::fragmentcode, GPUPass::geometrycode, gpu_material_library_generate_code(), gpu_material_used_libraries(), gpu_node_graph_finalize_uniform_attrs(), gpu_node_graph_prune_unused(), gpu_pass_cache_lookup(), gpu_pass_cache_resolve_collision(), gpu_pass_hash(), gpu_pass_is_valid(), GPU_SOURCE_BUILTIN, graph, hash, GPUPass::hash, LISTBASE_FOREACH, material, MEM_callocN, MEM_freeN, MEM_SAFE_FREE, GPUPass::next, node, NULL, pass_cache, pass_cache_spin, GPUPass::refcount, GPUPass::shader, and GPUPass::vertexcode.
Referenced by GPU_material_from_nodetree().
| bool GPU_pass_compile | ( | GPUPass * | pass, |
| const char * | shname | ||
| ) |
Definition at line 1025 of file gpu_codegen.c.
References GPUPass::compiled, GPUPass::defines, GPUPass::fragmentcode, GPUPass::geometrycode, gpu_pass_shader_validate(), GPU_shader_create(), GPU_shader_free(), NULL, shader(), GPUPass::shader, and GPUPass::vertexcode.
Referenced by GPU_material_compile().
| void GPU_pass_release | ( | GPUPass * | pass | ) |
Definition at line 1049 of file gpu_codegen.c.
References BLI_assert, and GPUPass::refcount.
Referenced by GPU_material_compile(), and gpu_material_free_single().
Definition at line 826 of file gpu_codegen.c.
References GPUPass::shader.
Referenced by DRW_shgroup_material_create(), drw_shgroup_material_create_ex(), GPU_material_compile(), GPU_material_from_nodetree(), and GPU_material_get_shader().