Blender  V3.3
Functions | Variables
eevee_shaders_extra.cc File Reference
#include "GPU_shader.h"
#include "BLI_string_ref.hh"
#include "gpu_shader_create_info.hh"
#include "eevee_private.h"

Go to the source code of this file.

Functions

void eevee_shader_extra_init ()
 
void eevee_shader_extra_exit ()
 
void eevee_shader_material_create_info_amend (GPUMaterial *gpumat, GPUCodegenOutput *codegen_, char *frag, char *vert, char *geom, char *defines)
 

Variables

static StageInterfaceInfostage_interface = nullptr
 

Detailed Description

This file is only there to handle ShaderCreateInfos.

Definition in file eevee_shaders_extra.cc.

Function Documentation

◆ eevee_shader_extra_exit()

void eevee_shader_extra_exit ( void  )

Definition at line 37 of file eevee_shaders_extra.cc.

References stage_interface.

Referenced by EEVEE_shaders_free().

◆ eevee_shader_extra_init()

void eevee_shader_extra_init ( void  )

◆ eevee_shader_material_create_info_amend()

void eevee_shader_material_create_info_amend ( GPUMaterial gpumat,
GPUCodegenOutput codegen_,
char *  frag,
char *  vert,
char *  geom,
char *  defines 
)

Hair attributes come from sampler buffer. Transfer attributes to sampler.

Volume grid attributes come from 3D textures. Transfer attributes to samplers.

Definition at line 42 of file eevee_shaders_extra.cc.

References blender::gpu::shader::ShaderCreateInfo::additional_info(), GPUCodegenOutput::attr_load, blender::gpu::shader::ShaderCreateInfo::auto_resource_location(), blender::gpu::shader::BARYCENTRIC_COORD, blender::gpu::shader::BATCH, blender::gpu::shader::ShaderCreateInfo::builtins(), GPUCodegenOutput::create_info, blender::gpu::shader::ShaderCreateInfo::define(), GPUCodegenOutput::displacement, blender::gpu::shader::FLOAT_3D, blender::gpu::shader::FLOAT_BUFFER, blender::gpu::shader::ShaderCreateInfo::fragment_source(), blender::gpu::shader::ShaderCreateInfo::fragment_source_generated, blender::gpu::shader::ShaderCreateInfo::geometry_layout(), blender::gpu::shader::ShaderCreateInfo::geometry_source(), blender::gpu::shader::ShaderCreateInfo::geometry_source_generated, GPU_material_flag_get(), GPU_material_uuid_get(), GPU_MATFLAG_BARYCENTRIC, GPU_MATFLAG_OBJECT_INFO, GPU_MATFLAG_SHADER_TO_RGBA, GPU_MATFLAG_SUBSURFACE, blender::gpu::shader::StageInterfaceInfo::inouts, input, blender::gpu::shader::StageInterfaceInfo::instance_name, blender::gpu::shader::ShaderCreateInfo::legacy_resource_location(), GPUCodegenOutput::material_functions, blender::gpu::shader::StageInterfaceInfo::name, blender::gpu::shader::ShaderCreateInfo::VertIn::name, options, blender::gpu::shader::ShaderCreateInfo::sampler(), stage_interface, GPUCodegenOutput::surface, blender::gpu::shader::TRIANGLE_STRIP, blender::gpu::shader::TRIANGLES, blender::gpu::shader::ShaderCreateInfo::VertIn::type, blender::gpu::shader::ShaderCreateInfo::typedef_source_generated, VAR_MAT_HAIR, VAR_MAT_MESH, VAR_MAT_POINTCLOUD, VAR_MAT_VOLUME, VAR_WORLD_BACKGROUND, VAR_WORLD_PROBE, blender::gpu::shader::ShaderCreateInfo::vertex_inputs_, blender::gpu::shader::ShaderCreateInfo::vertex_out(), blender::gpu::shader::ShaderCreateInfo::vertex_out_interfaces_, blender::gpu::shader::ShaderCreateInfo::vertex_source(), blender::gpu::shader::ShaderCreateInfo::vertex_source_generated, and GPUCodegenOutput::volume.

Referenced by eevee_material_post_eval().

Variable Documentation

◆ stage_interface

StageInterfaceInfo* stage_interface = nullptr
static