EEVEE-Next: Motion Blur new implementation
The new implementation leverage compute shaders to reduce the number of passes and complexity. The max blur amount is now detected automatically, replacing the property in the render panel by a simple checkbox. The dilation algorithm has also been rewritten from scratch into a 1 pass algorithm that does the dilation more efficiently and more precisely. Some differences with the old implementation can be observed in areas with complex motion.
This commit is contained in:
@@ -162,6 +162,35 @@ class RENDER_PT_eevee_motion_blur(RenderButtonsPanel, Panel):
|
||||
col.prop(props, "motion_blur_steps", text="Steps")
|
||||
|
||||
|
||||
class RENDER_PT_eevee_next_motion_blur(RenderButtonsPanel, Panel):
|
||||
bl_label = "Motion Blur"
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
COMPAT_ENGINES = {'BLENDER_EEVEE_NEXT'}
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return (context.engine in cls.COMPAT_ENGINES)
|
||||
|
||||
def draw_header(self, context):
|
||||
scene = context.scene
|
||||
props = scene.eevee
|
||||
self.layout.prop(props, "use_motion_blur", text="")
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.use_property_split = True
|
||||
scene = context.scene
|
||||
props = scene.eevee
|
||||
|
||||
layout.active = props.use_motion_blur
|
||||
col = layout.column()
|
||||
col.prop(props, "motion_blur_position", text="Position")
|
||||
col.prop(props, "motion_blur_shutter")
|
||||
col.separator()
|
||||
col.prop(props, "motion_blur_depth_scale")
|
||||
col.prop(props, "motion_blur_steps", text="Steps")
|
||||
|
||||
|
||||
class RENDER_PT_eevee_depth_of_field(RenderButtonsPanel, Panel):
|
||||
bl_label = "Depth of Field"
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
@@ -756,6 +785,7 @@ classes = (
|
||||
RENDER_PT_eevee_film,
|
||||
|
||||
RENDER_PT_eevee_next_sampling,
|
||||
RENDER_PT_eevee_next_motion_blur,
|
||||
RENDER_PT_eevee_next_film,
|
||||
|
||||
RENDER_PT_gpencil,
|
||||
|
||||
Reference in New Issue
Block a user