Skip to content

Commit cfd69dd

Browse files
committed
Update _index.en.md
1 parent dcaf2c5 commit cfd69dd

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

manual/content/_index.en.md

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,27 +12,26 @@ weight: 10
1212
[![Version](https://badgen.net/npm/v/postprocessing)](https://www.npmjs.com/package/postprocessing)
1313
[![License](https://badgen.net/github/license/pmndrs/postprocessing)](https://github.com/pmndrs/postprocessing/blob/main/LICENSE.md)
1414

15-
Welcome to the postprocessing manual!
15+
> [!INFO]
16+
> This manual is currently under development.
1617
17-
## Motivation
18-
19-
The purpose of the postprocessing library is to provide advanced real-time image effects for the popular 3D library [three.js](https://threejs.org/). It was originally created based on the [three.js examples](https://threejs.org/examples/?q=postprocessing) in the context of a university research project in 2015 and continues to evolve as a free, open-source library.
18+
Postprocessing is an advanced, real-time image processing library for [three.js](https://threejs.org/). It was originally created based on the [three.js examples](https://threejs.org/examples/?q=postprocessing) in the context of a university research project in 2015 and continues to evolve as a free, open-source library.
2019

2120
## Compatibility Policy
2221

23-
Postprocessing aims to support the six most recent releases of three. Older releases may still work but are not officially supported. The release schedule of this library is not strictly tied to three, meaning that official support for the latest release can fall behind by a few days. Releases follow [semantic versioning](https://semver.org/).
22+
This library aims to support the six most recent releases of three. Older releases may still work but are not officially supported. The release schedule of this library is not strictly tied to three, meaning that official support for the latest release can fall behind by a few days. Releases follow [semantic versioning](https://semver.org/).
2423

2524
> [!NOTE]
2625
> Please note that this library is not compatible with three's own postprocessing examples due to API differences.
2726
2827
## Concepts
2928

30-
Postprocessing extends the common rendering workflow with fullscreen image manipulation tools. It uses render pipelines to group and run passes and connects resources through explicit inputs and outputs on the passes.
31-
32-
WIP
29+
Postprocessing extends the common rendering workflow with fullscreen image manipulation tools. It uses render pipelines to organize and run passes with explicit input/output management to facilitate smart resource usage and efficiency. Render logic and shaders are highly optimized to ensure production-ready performance and reliability across devices.
3330

3431
## Performance
3532

36-
This library provides an `EffectPass` that implements a structured mechanism for merging fullscreen effects into a single composite shader by gathering shader functions, varyings, uniforms, macros and individual blend functions. This minimizes the amount of render operations and makes it possible to combine many effects without the performance penalties of traditional pass chaining.
33+
This library provides an `EffectPass` that implements a structured mechanism for merging fullscreen effects into a single composite shader with configurable blend functions per effect. This minimizes the amount of render operations and makes it possible to combine many effects in interesting ways without the performance penalties of traditional pass chaining.
34+
35+
All fullscreen render operations also use a [single shared triangle](https://michaldrobot.com/2014/04/01/gcn-execution-patterns-in-full-screen-passes/) that fills the screen. Compared to using a quad, this approach harmonizes with modern GPU rasterization patterns and eliminates unnecessary fragment calculations along the screen diagonal. This is especially beneficial for effects that use complex fragment shaders.
3736

38-
All fullscreen render operations also use a [single shared triangle](https://michaldrobot.com/2014/04/01/gcn-execution-patterns-in-full-screen-passes/) that fills the screen. Compared to using a quad, this approach harmonizes with modern GPU rasterization patterns and eliminates unnecessary fragment calculations along the screen diagonal. This is especially beneficial for GPGPU passes and effects that use complex fragment shaders.
37+
Modern image effects rely on additional geometry data such as view space normals and fragment velocity. Postprocessing uses [MRT](https://registry.khronos.org/webgl/specs/latest/2.0/#3.7.11) under the hood to render this data as needed during the main scene render operation.

0 commit comments

Comments
 (0)