Blender
V3.3
|
#include <eevee_pipeline.hh>
Public Member Functions | |
ForwardPipeline (Instance &inst) | |
DRWShadingGroup * | material_add (::Material *blender_mat, GPUMaterial *gpumat) |
DRWShadingGroup * | prepass_add (::Material *blender_mat, GPUMaterial *gpumat, bool has_motion) |
Forward Pass | |
Handles alpha blended surfaces and NPR materials (using Closure to RGBA). | |
void | sync () |
DRWShadingGroup * | material_opaque_add (::Material *blender_mat, GPUMaterial *gpumat) |
DRWShadingGroup * | prepass_opaque_add (::Material *blender_mat, GPUMaterial *gpumat, bool has_motion) |
DRWShadingGroup * | material_transparent_add (::Material *blender_mat, GPUMaterial *gpumat) |
DRWShadingGroup * | prepass_transparent_add (::Material *blender_mat, GPUMaterial *gpumat) |
void | render (const DRWView *view, Framebuffer &prepass_fb, Framebuffer &combined_fb, GPUTexture *depth_tx, GPUTexture *combined_tx) |
Definition at line 51 of file eevee_pipeline.hh.
|
inline |
Definition at line 66 of file eevee_pipeline.hh.
|
inline |
Definition at line 70 of file eevee_pipeline.hh.
References GPU_material_flag_get(), GPU_MATFLAG_TRANSPARENT, material_opaque_add(), and material_transparent_add().
Referenced by blender::eevee::PipelineModule::material_add().
DRWShadingGroup * blender::eevee::ForwardPipeline::material_opaque_add | ( | ::Material * | blender_mat, |
GPUMaterial * | gpumat | ||
) |
Definition at line 100 of file eevee_pipeline.cc.
References blender::eevee::RenderBuffers::aov_color_tx, blender::eevee::RenderBuffers::aov_value_tx, blender::eevee::Film::aovs_info, blender::eevee::RenderBuffers::diffuse_color_tx, blender::eevee::RenderBuffers::diffuse_light_tx, DRW_shgroup_material_create(), DRW_shgroup_storage_block_ref, DRW_shgroup_uniform_image_ref(), DRW_shgroup_uniform_texture(), blender::eevee::RenderBuffers::emission_tx, blender::eevee::Instance::film, MA_BL_CULL_BACKFACE, blender::eevee::RenderBuffers::normal_tx, blender::eevee::Instance::pipelines, blender::eevee::Instance::render_buffers, blender::eevee::RenderBuffers::specular_color_tx, blender::eevee::RenderBuffers::specular_light_tx, and blender::eevee::PipelineModule::utility_tx.
Referenced by material_add().
DRWShadingGroup * blender::eevee::ForwardPipeline::material_transparent_add | ( | ::Material * | blender_mat, |
GPUMaterial * | gpumat | ||
) |
Definition at line 162 of file eevee_pipeline.cc.
References DRW_shgroup_material_create(), DRW_shgroup_state_disable(), DRW_shgroup_state_enable(), DRW_STATE_BLEND_CUSTOM, DRW_STATE_CULL_BACK, DRW_STATE_WRITE_COLOR, DRW_STATE_WRITE_DEPTH, and MA_BL_CULL_BACKFACE.
Referenced by material_add().
|
inline |
Definition at line 77 of file eevee_pipeline.hh.
References GPU_material_flag_get(), GPU_MATFLAG_TRANSPARENT, prepass_opaque_add(), and prepass_transparent_add().
Referenced by blender::eevee::PipelineModule::material_add().
DRWShadingGroup * blender::eevee::ForwardPipeline::prepass_opaque_add | ( | ::Material * | blender_mat, |
GPUMaterial * | gpumat, | ||
bool | has_motion | ||
) |
Definition at line 148 of file eevee_pipeline.cc.
References blender::eevee::VelocityModule::bind_resources(), DRW_shgroup_material_create(), MA_BL_CULL_BACKFACE, and blender::eevee::Instance::velocity.
Referenced by prepass_add().
DRWShadingGroup * blender::eevee::ForwardPipeline::prepass_transparent_add | ( | ::Material * | blender_mat, |
GPUMaterial * | gpumat | ||
) |
Definition at line 205 of file eevee_pipeline.cc.
References DRW_shgroup_material_create(), DRW_shgroup_state_disable(), DRW_shgroup_state_enable(), DRW_STATE_BLEND_CUSTOM, DRW_STATE_CULL_BACK, DRW_STATE_WRITE_COLOR, DRW_STATE_WRITE_DEPTH, MA_BL_CULL_BACKFACE, and MA_BL_HIDE_BACKFACE.
Referenced by prepass_add().
void blender::eevee::ForwardPipeline::render | ( | const DRWView * | view, |
Framebuffer & | prepass_fb, | ||
Framebuffer & | combined_fb, | ||
GPUTexture * | depth_tx, | ||
GPUTexture * | combined_tx | ||
) |
Definition at line 224 of file eevee_pipeline.cc.
References DRW_draw_pass(), DRW_pass_sort_shgroup_z(), DRW_stats_group_end(), DRW_stats_group_start(), GPU_framebuffer_bind(), UNUSED_VARS, and view.
Referenced by blender::eevee::ShadingView::render().
void blender::eevee::ForwardPipeline::sync | ( | ) |
Definition at line 68 of file eevee_pipeline.cc.
References DRW_pass_create(), DRW_pass_link(), DRW_STATE_CULL_BACK, DRW_STATE_DEPTH_EQUAL, DRW_STATE_DEPTH_LESS, DRW_STATE_DEPTH_LESS_EQUAL, DRW_STATE_WRITE_COLOR, DRW_STATE_WRITE_DEPTH, and state.
Referenced by blender::eevee::PipelineModule::sync().