73 prepass_velocity_ps_ =
DRW_pass_create(
"Forward.Opaque.Prepass.Velocity",
78 prepass_culled_velocity_ps_ =
DRW_pass_create(
"Forward.Opaque.Prepass.Velocity",
83 DRW_pass_link(prepass_culled_ps_, prepass_culled_velocity_ps_);
153 (has_motion ? prepass_culled_velocity_ps_ : prepass_culled_ps_) :
154 (has_motion ? prepass_velocity_ps_ : prepass_ps_);
225 Framebuffer &prepass_fb,
226 Framebuffer &combined_fb,
@ DRW_STATE_DEPTH_LESS_EQUAL
#define DRW_shgroup_call_obmat(shgroup, geom, obmat)
#define DRW_shgroup_storage_block_ref(shgroup, name, ssbo)
void GPU_framebuffer_bind(GPUFrameBuffer *fb)
@ GPU_BARRIER_SHADER_IMAGE_ACCESS
struct GPUTexture GPUTexture
AOVsInfoDataBuf aovs_info
float background_opacity_get() const
DRWShadingGroup * prepass_transparent_add(::Material *blender_mat, GPUMaterial *gpumat)
DRWShadingGroup * prepass_opaque_add(::Material *blender_mat, GPUMaterial *gpumat, bool has_motion)
DRWShadingGroup * material_opaque_add(::Material *blender_mat, GPUMaterial *gpumat)
void render(const DRWView *view, Framebuffer &prepass_fb, Framebuffer &combined_fb, GPUTexture *depth_tx, GPUTexture *combined_tx)
DRWShadingGroup * material_transparent_add(::Material *blender_mat, GPUMaterial *gpumat)
RenderBuffers render_buffers
UtilityTexture utility_tx
TextureFromPool specular_color_tx
TextureFromPool emission_tx
TextureFromPool specular_light_tx
TextureFromPool normal_tx
TextureFromPool diffuse_light_tx
TextureFromPool diffuse_color_tx
void bind_resources(DRWShadingGroup *grp)
void sync(GPUMaterial *gpumat)
GPUBatch * DRW_cache_fullscreen_quad_get(void)
DRWShadingGroup * DRW_shgroup_material_create(struct GPUMaterial *material, DRWPass *pass)
void DRW_shgroup_uniform_float_copy(DRWShadingGroup *shgroup, const char *name, const float value)
void DRW_shgroup_state_disable(DRWShadingGroup *shgroup, DRWState state)
void DRW_shgroup_uniform_texture(DRWShadingGroup *shgroup, const char *name, const GPUTexture *tex)
void DRW_shgroup_state_enable(DRWShadingGroup *shgroup, DRWState state)
void DRW_pass_link(DRWPass *first, DRWPass *second)
void DRW_shgroup_barrier(DRWShadingGroup *shgroup, eGPUBarrier type)
void DRW_pass_sort_shgroup_z(DRWPass *pass)
DRWPass * DRW_pass_create(const char *name, DRWState state)
void DRW_shgroup_uniform_image_ref(DRWShadingGroup *shgroup, const char *name, GPUTexture **tex)
void DRW_draw_pass(DRWPass *pass)
void DRW_stats_group_start(const char *name)
void DRW_stats_group_end(void)
static float4x4 identity()