Three Gpu Pathtracing Versions Save

Path tracing renderer and utilities for three.js built on top of three-mesh-bvh.

v0.0.22

1 week ago

Fixed

  • Non visible meshes not being hidden when path traced.

v0.0.21

1 week ago

Fixed

  • Reverted transmission BRDF function changes resulting in black artifacts.

Added

  • WebGLPathTracer class for more easily intializing a path tracer.
  • Typescript definitions.

Changed

  • PathTracingRenderer, DynamicPathTracingSceneGenerator, and more classes have been deprecated in favor of WebGLPathTracer. See new README for API.
  • Remove IESLoader in favor of three.js' version.

v0.0.20

2 months ago

Fixed

  • Adjust peer dependency semver for three-mesh-bvh.

v0.0.19

2 months ago

Fixed

  • Ensure materials texture is never a degenerate dimension.
  • Handle completely black environment maps so they do not corrupt the image.

v0.0.18

2 months ago

Fixed

  • Transparent textures no longer have the color incorrectly premultiplied by the alpha.
  • Fix rounding error issue in tiled rendering logic causing some columns and rows of pixels to not be rendered to.
  • Improve hdr map info to be able to handle any texture type.
  • Path tracing scene generators no longer crash when an empty scene is provided.
  • Native three.js spot light not working correctly.
  • Env map clamping which was causing an incorrect circle of color to display at the poles.

Added

  • Support for stratified sampling in addition to PCG and Sobol under the RANDOM_TYPE flag.

Changed

  • Rendering objects with negative scales now requires three-mesh-bvh v0.7.2

v0.0.17

3 months ago

Added

  • Support for rendering geometry with inverted scales.

Changed

  • Upgrade to three-mesh-bvh v0.7.0.
  • AreaLights no longer render the light surface.
  • Disabled sobol sampling functionality related to MacOS crashes. It can be re-enabled with the FEATURE_SOBOL define flag.

Fixed

  • Models with a negative scale not rendering correctly.
  • Renderer crashing on MacOS devices.
  • Renderer crashing on Android devices.
  • Rendering not working at all on iOS devices due to lacking support for linearly interpolated Float32 textures.

v0.0.16

9 months ago

Fixed

  • Reverted change that caused NaN values on some hardware.

v0.0.15

11 months ago

Fixed

  • Missing file extension.

Added

  • CompatibilityDetector to determine whether the path tracer can run on the target platform.
  • DEBUG_MODE define to PhysicalPathTracingMaterial to render out ray depth.
  • GradientMapMaterial to map texture values to a color ramp.
  • Support for copy function to ShapedAreaLight, PhysicalCamera, and PhysicalSpotLight.

Changed

  • Fog hits no longer count as transparent surface bounces.
  • Remove precision workaround for Equirect map.
  • Significant refactoring to make more effective use of structs.

v0.0.14

1 year ago

image

Added

  • Support for volumetric fog material.
  • Disable sampling of the environment map if env intensity is set to 0.0 to improve direct light sampling rate.

Changed

  • Base color is now applied both on the way in and out of a transmissive material.
  • Improved performance of env map CDF processing.

Fixed

  • Area light shapes now consistently cast shadows in MIS and non MIS mode

New Demo Features

v0.0.13

1 year ago

image

Changed

  • TRANSPARENT_TRAVERSALS define to transmissiveBounces uniform.
  • EquirectUniformInfo now defaults to a white environment map so lighting is present by default.
  • Add "stepRayOrigin" function for reuse in the path tracer functions.

Added

  • Transmissive materials now traverse more bounces than non transmissive materials for improved quality. See transmissiveBounces uniform.
  • Support for russian roulette path termination after 3 bounces. See the FEATURE_RUSSIAN_ROULETTE flag.
  • QuiltPathTracingRenderer to enable rending for the Looking Glass Display.

Fixed

  • PathTracingSceneGenerator / Worker: include point lights and directional lights in the result.
  • Translucent and transparent meshes incorrectly completely blocking area and punctual lights.
  • Respect the Material "sheen" field.
  • Incorrectly squaring the sheen term.
  • Iridescence being incorrectly applied to materials.

New Demos