Blender V4.5
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

GPUShader * shader
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 261 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 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, shader, and ShaderKey().

◆ operator==()

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

Definition at line 283 of file eevee_material.hh.

References options, shader, and ShaderKey().

Member Data Documentation

◆ options

uint64_t blender::eevee::ShaderKey::options

Definition at line 263 of file eevee_material.hh.

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

◆ shader

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

Definition at line 262 of file eevee_material.hh.

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


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