Blender V4.3
blender::eevee::ShaderKey Struct Reference

#include <eevee_material.hh>

Public Member Functions

 ShaderKey (GPUMaterial *gpumat, ::Material *blender_mat, eMaterialProbe probe_capture)
 
uint64_t hash () const
 
bool operator< (const ShaderKey &k) const
 
bool operator== (const ShaderKey &k) const
 

Public Attributes

GPUShadershader
 
uint64_t options
 

Detailed Description

Key used to find the sub-pass that already renders objects with the same shader. This avoids the cost associated with shader switching. This is below the material binning. Should only include pipeline options that are not baked in the shader itself.

Definition at line 256 of file eevee_material.hh.

Constructor & Destructor Documentation

◆ ShaderKey()

blender::eevee::ShaderKey::ShaderKey ( GPUMaterial * gpumat,
::Material * blender_mat,
eMaterialProbe probe_capture )
inline

Member Function Documentation

◆ hash()

uint64_t blender::eevee::ShaderKey::hash ( ) const
inline

Definition at line 268 of file eevee_material.hh.

References options.

◆ operator<()

bool blender::eevee::ShaderKey::operator< ( const ShaderKey & k) const
inline

Definition at line 273 of file eevee_material.hh.

References options, and shader.

◆ operator==()

bool blender::eevee::ShaderKey::operator== ( const ShaderKey & k) const
inline

Definition at line 278 of file eevee_material.hh.

References options, and shader.

Member Data Documentation

◆ options

uint64_t blender::eevee::ShaderKey::options

Definition at line 258 of file eevee_material.hh.

Referenced by hash(), operator<(), operator==(), and ShaderKey().

◆ shader

GPUShader* blender::eevee::ShaderKey::shader

Definition at line 257 of file eevee_material.hh.

Referenced by operator<(), and operator==().


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