postprocessing icon indicating copy to clipboard operation
postprocessing copied to clipboard

Add support for velocity rendering

Open vanruesc opened this issue 1 year ago • 0 comments

Description

Implement velocity rendering by extending ShaderLib with MRT shader code based on three's VelocityShader.

References:

  • https://github.com/mrdoob/three.js/blob/74d7dc8a5fb92e40758ec6b8fd08502c5ca019b3/examples/jsm/shaders/VelocityShader.js
  • https://github.com/mrdoob/three.js/blob/74d7dc8a5fb92e40758ec6b8fd08502c5ca019b3/examples/webgl_materials_channels.html
  • https://john-chapman-graphics.blogspot.com/2013/01/per-object-motion-blur.html
  • https://github.com/mrdoob/three.js/pull/29058/files

Tasks

  • [ ] Create and register the required pp_gbuffer_velocity_* shader chunks.
  • [ ] Update ShaderChunkExtensions to assign the shader chunks to three's materials.
  • [ ] Add GBuffer.VELOCITY and GData.VELOCITY.
  • [ ] Update GeometryPass to define a velocity texture config.
  • [ ] Update GBufferConfig, ClearFlags and ClearValues.
  • [ ] Update gbuffer demo to render velocity.

vanruesc avatar Feb 15 '24 16:02 vanruesc