Blender V4.3
GPUMaterial Struct Reference

Public Attributes

GPUPasspass
 
GPUPassoptimized_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
 
Scenescene
 
Materialma
 
GPUTexture * coba_tex
 
GPUColorBandBuildercoba_builder
 
GPUTexture * sky_tex
 
GPUSkyBuildersky_builder
 
GPUNodeGraph graph
 
GPUMaterialdefault_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]
 

Detailed Description

Definition at line 71 of file gpu_material.cc.

Member Data Documentation

◆ coba_builder

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().

◆ coba_tex

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().

◆ creation_time

double GPUMaterial::creation_time

◆ default_mat

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().

◆ do_batch_compilation

bool GPUMaterial::do_batch_compilation

Definition at line 144 of file gpu_material.cc.

◆ engine

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().

◆ flag

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().

◆ generated_function_len

int GPUMaterial::generated_function_len

Definition at line 107 of file gpu_material.cc.

◆ graph

◆ has_displacement_output

bool GPUMaterial::has_displacement_output

Definition at line 135 of file gpu_material.cc.

Referenced by GPU_material_has_displacement_output().

◆ has_surface_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().

◆ has_volume_output

bool GPUMaterial::has_volume_output

Definition at line 134 of file gpu_material.cc.

Referenced by GPU_material_has_volume_output().

◆ is_volume_shader

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().

◆ ma

Material* GPUMaterial::ma

Source material, might be null.

Definition at line 114 of file gpu_material.cc.

Referenced by GPU_material_from_nodetree().

◆ name

char GPUMaterial::name[64]

◆ optimization_status

◆ optimized_pass

GPUPass* GPUMaterial::optimized_pass

Definition at line 78 of file gpu_material.cc.

Referenced by GPU_material_from_nodetree(), and GPU_material_optimize().

◆ pass

◆ refcount

uint32_t GPUMaterial::refcount

Definition at line 142 of file gpu_material.cc.

Referenced by GPU_material_acquire(), and GPU_material_from_nodetree().

◆ scene

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().

◆ sky_builder

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().

◆ sky_tex

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().

◆ sss_enabled

bool GPUMaterial::sss_enabled

Definition at line 139 of file gpu_material.cc.

◆ sss_profile

GPUUniformBuf* GPUMaterial::sss_profile

DEPRECATED: To remove.

Definition at line 137 of file gpu_material.cc.

◆ sss_radii

float GPUMaterial::sss_radii[3]

Definition at line 140 of file gpu_material.cc.

◆ sss_tex_profile

GPUTexture* GPUMaterial::sss_tex_profile

Definition at line 138 of file gpu_material.cc.

◆ status

◆ ubo

GPUUniformBuf* GPUMaterial::ubo

UBOs for this material parameters.

Definition at line 97 of file gpu_material.cc.

Referenced by GPU_material_from_nodetree().

◆ uuid

uint64_t GPUMaterial::uuid

Definition at line 105 of file gpu_material.cc.

Referenced by GPU_material_from_nodetree(), and GPU_material_uuid_get().


The documentation for this struct was generated from the following file: