|
Blender V4.3
|
Public Attributes | |
| GPUPass * | pass |
| GPUPass * | optimized_pass |
| eGPUMaterialOptimizationStatus | optimization_status |
| double | creation_time |
| GPUUniformBuf * | ubo |
| eGPUMaterialStatus | status |
| eGPUMaterialFlag | flag |
| eGPUMaterialEngine | engine |
| uint64_t | uuid |
| int | generated_function_len |
| bool | is_volume_shader |
| Scene * | scene |
| Material * | ma |
| GPUTexture * | coba_tex |
| GPUColorBandBuilder * | coba_builder |
| GPUTexture * | sky_tex |
| GPUSkyBuilder * | sky_builder |
| GPUNodeGraph | graph |
| GPUMaterial * | default_mat |
| bool | has_surface_output |
| bool | has_volume_output |
| bool | has_displacement_output |
| GPUUniformBuf * | sss_profile |
| GPUTexture * | sss_tex_profile |
| bool | sss_enabled |
| float | sss_radii [3] |
| uint32_t | refcount |
| bool | do_batch_compilation |
| char | name [64] |
Definition at line 71 of file gpu_material.cc.
| GPUColorBandBuilder* GPUMaterial::coba_builder |
Builder for coba_tex.
Definition at line 118 of file gpu_material.cc.
Referenced by gpu_material_ramp_texture_build(), and gpu_material_ramp_texture_row_set().
| GPUTexture* GPUMaterial::coba_tex |
1D Texture array containing all color bands.
Definition at line 116 of file gpu_material.cc.
Referenced by gpu_material_ramp_texture_build(), and gpu_material_ramp_texture_row_set().
| double GPUMaterial::creation_time |
Definition at line 87 of file gpu_material.cc.
Referenced by GPU_material_optimization_ready(), and GPU_material_optimization_status_set().
| GPUMaterial* GPUMaterial::default_mat |
Default material reference used for PSO cache warming. Default materials may perform different operations, but the permutation will frequently share the same input PSO descriptors. This enables asynchronous PSO compilation as part of the deferred compilation pass, reducing runtime stuttering and responsiveness while compiling materials.
Definition at line 130 of file gpu_material.cc.
Referenced by gpu_material_finalize(), and GPU_material_from_nodetree().
| bool GPUMaterial::do_batch_compilation |
Definition at line 144 of file gpu_material.cc.
| eGPUMaterialEngine GPUMaterial::engine |
The engine type this material is compiled for.
Definition at line 103 of file gpu_material.cc.
Referenced by GPU_material_from_nodetree(), and GPU_material_optimize().
| eGPUMaterialFlag GPUMaterial::flag |
Some flags about the nodetree & the needed resources.
Definition at line 101 of file gpu_material.cc.
Referenced by gpu_material_finalize(), GPU_material_flag(), GPU_material_flag_get(), GPU_material_flag_set(), GPU_material_from_nodetree(), and GPU_material_recalc_flag_get().
| int GPUMaterial::generated_function_len |
Definition at line 107 of file gpu_material.cc.
| GPUNodeGraph GPUMaterial::graph |
Definition at line 124 of file gpu_material.cc.
Referenced by gpu_material_finalize(), GPU_material_from_callbacks(), GPU_material_from_nodetree(), and GPU_material_optimize().
| bool GPUMaterial::has_displacement_output |
Definition at line 135 of file gpu_material.cc.
Referenced by GPU_material_has_displacement_output().
| bool GPUMaterial::has_surface_output |
DEPRECATED: To remove.
Definition at line 133 of file gpu_material.cc.
Referenced by GPU_material_has_surface_output().
| bool GPUMaterial::has_volume_output |
Definition at line 134 of file gpu_material.cc.
Referenced by GPU_material_has_volume_output().
| bool GPUMaterial::is_volume_shader |
Object type for attribute fetching.
Definition at line 109 of file gpu_material.cc.
Referenced by GPU_material_from_nodetree().
| Material* GPUMaterial::ma |
Source material, might be null.
Definition at line 114 of file gpu_material.cc.
Referenced by GPU_material_from_nodetree().
| char GPUMaterial::name[64] |
Definition at line 147 of file gpu_material.cc.
Referenced by GPU_material_async_compile(), GPU_material_compile(), GPU_material_from_nodetree(), and GPU_material_optimize().
| eGPUMaterialOptimizationStatus GPUMaterial::optimization_status |
Definition at line 86 of file gpu_material.cc.
Referenced by gpu_material_finalize(), GPU_material_from_nodetree(), GPU_material_optimization_status(), GPU_material_optimization_status_set(), and GPU_material_optimize().
| GPUPass* GPUMaterial::optimized_pass |
Definition at line 78 of file gpu_material.cc.
Referenced by GPU_material_from_nodetree(), and GPU_material_optimize().
| GPUPass* GPUMaterial::pass |
Definition at line 74 of file gpu_material.cc.
Referenced by GPU_material_async_compile(), GPU_material_async_try_finalize(), GPU_material_compile(), gpu_material_finalize(), GPU_material_from_nodetree(), and GPU_material_optimize().
| uint32_t GPUMaterial::refcount |
Definition at line 142 of file gpu_material.cc.
Referenced by GPU_material_acquire(), and GPU_material_from_nodetree().
| Scene* GPUMaterial::scene |
DEPRECATED Currently only used for deferred compilation.
Definition at line 112 of file gpu_material.cc.
Referenced by GPU_material_from_nodetree().
| GPUSkyBuilder* GPUMaterial::sky_builder |
Builder for sky_tex.
Definition at line 122 of file gpu_material.cc.
Referenced by gpu_material_sky_texture_build(), and gpu_material_sky_texture_layer_set().
| GPUTexture* GPUMaterial::sky_tex |
2D Texture array containing all sky textures.
Definition at line 120 of file gpu_material.cc.
Referenced by gpu_material_sky_texture_build(), and gpu_material_sky_texture_layer_set().
| bool GPUMaterial::sss_enabled |
Definition at line 139 of file gpu_material.cc.
| GPUUniformBuf* GPUMaterial::sss_profile |
DEPRECATED: To remove.
Definition at line 137 of file gpu_material.cc.
| float GPUMaterial::sss_radii[3] |
Definition at line 140 of file gpu_material.cc.
| GPUTexture* GPUMaterial::sss_tex_profile |
Definition at line 138 of file gpu_material.cc.
| eGPUMaterialStatus GPUMaterial::status |
Compilation status. Do not use if shader is not GPU_MAT_SUCCESS.
Definition at line 99 of file gpu_material.cc.
Referenced by GPU_material_async_compile(), GPU_material_async_try_finalize(), GPU_material_compile(), gpu_material_finalize(), GPU_material_from_nodetree(), GPU_material_optimize(), GPU_material_status(), and GPU_material_status_set().
| GPUUniformBuf* GPUMaterial::ubo |
UBOs for this material parameters.
Definition at line 97 of file gpu_material.cc.
Referenced by GPU_material_from_nodetree().
| uint64_t GPUMaterial::uuid |
Definition at line 105 of file gpu_material.cc.
Referenced by GPU_material_from_nodetree(), and GPU_material_uuid_get().