realtime:screenspace

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
realtime:screenspace [2026/04/16 18:54] – [Core Concept] mhrealtime:screenspace [2026/04/16 19:19] (current) – [Core Concept] mh
Line 7: Line 7:
 Instead of computing how light interacts with geometry, they **reuse what the camera has already rendered** and manipulate it to produce the desired visual result. Instead of computing how light interacts with geometry, they **reuse what the camera has already rendered** and manipulate it to produce the desired visual result.
  
-<WRAP center tip> +  → If it is not visible on the screen, it does not exist. 
-**→ If it is not visible on the screen, it does not exist.** +
-</WRAP>+
  
  
Line 17: Line 16:
 Three main spaces to think in: Three main spaces to think in:
  
-  * World Space → physical simulation, lighting, PBR +  * **World Space** → physical simulation, lighting, PBR 
-  * View Space → camera-relative tricks (Matcap, etc.) +  * **View Space** → camera-relative tricks (Matcap, etc.) 
-  * Screen Space → pixel-perfect control of final image+  * **Screen Space** → pixel-perfect control of final image
  
 Screen Space sits at the top of the stack: Screen Space sits at the top of the stack:
  
-→ Not simulation   +  * Not simulation   
-→ Not approximation   +  Not approximation   
-→ Final perception control+  Final perception control
  
  
Line 36: Line 35:
 Solution: Solution:
  
-→ Only compute what the camera already sees   +  * Only compute what the camera already sees   
-→ Reuse existing rendered data   +  Reuse existing rendered data   
-→ Fake the rest+  Fake the rest
  
 This led to the rise of: This led to the rise of:
Line 57: Line 56:
 </code> </code>
  
-Strength:+ 
 +=== Strength: ===
   * extremely fast   * extremely fast
   * visually convincing   * visually convincing
  
-Weakness:+=== Weakness: === 
   * blind to anything off-screen   * blind to anything off-screen
   * can break at edges or occlusions   * can break at edges or occlusions
Line 68: Line 69:
 ===== Screen Space Materials ===== ===== Screen Space Materials =====
  
-A Screen Space material ignores object-based shading and instead displays content aligned with the camera view.+A Screen Space material **ignores object-based shading** and instead **displays content aligned with the camera view**.
  
-Think of it as: +  → geometry becomes a canvas   
- +  → the screen becomes the reference
-→ geometry becomes a canvas   +
-→ the screen becomes the reference+
  
 Properties: Properties:
Line 90: Line 89:
  
  
-===== Key Consequence =====+==== Key Consequence ==== 
 + 
 +  → color texture(screenX, screenY)
  
-<code> 
-color = texture(screen_x, screen_y) 
-</code> 
  
 The material is evaluated per pixel on screen, not per surface in space. The material is evaluated per pixel on screen, not per surface in space.
  
-→ UVs become secondary   +  * UVs become secondary   
-→ normals become irrelevant   +  normals become irrelevant   
-→ lighting is bypassed+  lighting is bypassed
  
  
 ===== Screen Space Reflections (SSR) ===== ===== Screen Space Reflections (SSR) =====
  
-SSR uses screen space to approximate reflections.+**SSR** uses screen space to **approximate reflections**.
  
 Instead of tracing rays in 3D: Instead of tracing rays in 3D:
  
-→ sample the already rendered image   +  → sample the already rendered image   
-→ reuse visible pixels as reflection data+  → reuse visible pixels as reflection data
  
-Limitations:+=== Limitations: ===
  
   * cannot reflect off-screen objects   * cannot reflect off-screen objects
Line 118: Line 116:
   * unstable in fast motion   * unstable in fast motion
  
-Relation to Screen Space materials:+=== Relation to Screen Space materials: ===
  
   * same coordinate system (screen space)   * same coordinate system (screen space)
Line 127: Line 125:
 ===== Other Screen Space Techniques ===== ===== Other Screen Space Techniques =====
  
-Common siblings:+=== Common siblings: ===
  
-  * SSAO → fake contact shadows using depth +  * **SSAO** → fake contact shadows using depth 
-  * Screen Space Refraction → distort background using screen data +  * **Screen Space Refraction** → distort background using screen data 
-  * SSGI → approximate bounced light +  * **SSGI** → approximate bounced light 
-  * Screen Space Shadows → cheap shadow approximation +  * **Screen Space Shadows** → cheap shadow approximation 
-  * Screen Space Decals → project textures after rendering+  * **Screen Space Decals** → project textures after rendering
  
-All share:+=== All share: ===
  
-→ operate on the final image   +  → operate on the final image   
-→ avoid expensive world simulation+  → avoid expensive world simulation
  
  
 ===== Real-Time Philosophy ===== ===== Real-Time Philosophy =====
  
-Screen Space is part of a larger doctrine:+Screen Space is **part of a larger doctrine**:
  
 <code> <code>
Line 149: Line 147:
 </code> </code>
  
-In real-time systems:+=== In real-time systems: ===
  
-→ simulation is expensive   +  * simulation is expensive   
-→ approximation is common   +  approximation is common   
-→ screen space is strategic control+  screen space is strategic control
  
  
 ===== Practical Use (Immersive / Media Servers) ===== ===== Practical Use (Immersive / Media Servers) =====
  
-In immersive environments, Screen Space shifts from optimization to precision.+In immersive environments, Screen Space **shifts from optimization to precision**.
  
 Used for: Used for:
Line 167: Line 165:
   * stable overlays and UI elements   * stable overlays and UI elements
  
-Key advantage:+=== Key advantage: === 
  
-→ What you see = what you output+  → What you see = what you output
  
  
Line 179: Line 177:
   * no depth awareness beyond visible data   * no depth awareness beyond visible data
  
-Use when:+=== Use when: ===
  
-→ control > realism+  → control > realism
  
  
 ===== Final Rune ===== ===== Final Rune =====
  
-Screen Space techniques do not simulate the world.+Screen Space techniques **do not simulate the world**.
  
-They control what the audience perceives, using only what is already visible.+They **control what the audience perceives**, using only what is already visible.
  
-→ Geometry becomes support   +  → Geometry becomes support   
-→ The screen becomes truth+  → The screen becomes truth
  • realtime/screenspace.1776358497.txt.gz
  • Last modified: 2026/04/16 18:54
  • by mh