# Outline of Portalrendering2 project

Jan 13th, 2019
257
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
1. - Vector mathematics
2.   - Quaternions
3.   - Planes
4.
5. - 2D polygon (TRIANGLE) rendering
6.   - With texture mapping
7.   - With perspective correction
8.
9. - Multi-sided polygon rendering
10.   - Tesselation
11.
12. - Viewport
13.   - Frustum, created from 2D edgepoints
14.   - Pixel buffer (float vectors)
15.   - Z buffer
16.   - Prespective projection algorithms
17.
18. - 3D polygon rendering
19.   - Discard polygons that are facing opposite way
20.   - Clip against view frustum (set of planes)
21.   - Prespective projection
22.
23. - Scene rendering, part 1
24.   - Go through all polygons in the current sector
25.      - Project and clip
26.      - If the polygon is a portal, recurse using the 2D points as a frustum
27.      - If the polygon is not a portal, add it to one of the four draw-lists
28.   - Sort draw-lists: 0 = non-overlapping polygons (classic portal rendering), no sorting;
29.                      1 = Z-buffer polygons, nearest first
30.                      2 = Translucent polygons, farthest first
31.                      3 = Overlay polygons, farthest first
32.   - For each multi-sided polygon in the draw-list, render them.
33.
34. - Scene rendering, part 2: Projection
35.   - Compose the pixel map from carefully selected and cropped view plates
36.   - Each view plate is rendered as in part 1
37.
38. - Final step: HDR
39.   - Calculate brightness value for each pixel using current GlobalBrightness
40.   - Calculate an overall illumination value using a weighted average of the per-pixel brightness values
41.   - Adjust the GlobalBrightness using this illumination value
42.   - Calculate the average difference between brightness of previous and current frame
43.   - Calculate an “aggressivity” value using that difference
44.   - Calculate a per-pixel “ideal brightness” value, using current brightness, current overall illumination value and aggressiveness
45.   - Create two blurred-down versions of the per-pixel “ideal brightness” maps
46.   - Create a per-pixel brightness target map using a weighted average of previous frame brightness target map and the three “ideal brightness” maps
47.   - Render the picture by multiplying original pixels with the per-pixel brightness map and the GlobalBrightness; clamping with saturation and rendering with dithering.