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_free_single(), 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_free_single(), 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(), GPU_material_from_callbacks(), GPU_material_from_nodetree(), and GPU_material_set_default().

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

Referenced by GPU_material_split_sub_function().

◆ graph

◆ has_displacement_output

bool GPUMaterial::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(), and GPU_material_output_surface().

◆ has_volume_output

bool GPUMaterial::has_volume_output

Definition at line 134 of file gpu_material.cc.

Referenced by GPU_material_has_volume_output(), and GPU_material_output_volume().

◆ 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(), and GPU_material_get_material().

◆ name

◆ optimization_status

◆ optimized_pass

◆ pass

◆ refcount

◆ 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(), and GPU_material_scene().

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

Referenced by GPU_material_free_single().

◆ 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.

Referenced by GPU_material_free_single().

◆ status

◆ ubo

GPUUniformBuf* GPUMaterial::ubo

◆ 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: