Content deleted Content added
m Task 18 (cosmetic): eval 26 templates: del empty params (38×); del |url-status= (8×); |
Make a broader link to the whole concept rather than linking individual words. The linked page will link to the individual words if they are relevant |
||
(44 intermediate revisions by 25 users not shown) | |||
Line 1:
{{short description|Simulation of light in computer graphics}}
'''Computer graphics lighting'''
== Light sources ==
Light sources allow for different ways to introduce light into graphics scenes.<ref>{{Cite news|url=https://garagefarm.net/blog/light-the-art-of-exposure|title=Light: The art of exposure|date=2020-11-11|work=GarageFarm|access-date=2020-11-11|language=en-US}}</ref><ref name=":
=== Point ===
Point sources emit light from a single point in all directions, with the intensity of the light decreasing with distance.<ref name=":
[[File:Real-time Raymarched Terrain.png|thumb|309x309px|A directional light source illuminating a terrain
=== Directional ===
A directional source (or distant source) uniformly lights a scene from one direction.<ref name=":8" /> Unlike a point source, the intensity of light produced by a directional source does not change with distance over the scale of the scene, as the directional source is treated as though it is extremely far away
=== Spotlight ===
A spotlight produces a directed [[cone]] of light.<ref name=":73">{{Cite web|url=https://www.cs.uic.edu/~jbell/CourseNotes/ComputerGraphics/LightingAndShading.html|title=Intro to Computer Graphics: Lighting and Shading|website=www.cs.uic.edu|access-date=2019-11-05}}</ref> The light becomes more intense as the viewer gets closer to the spotlight source and to the center of the light cone.<ref name=":73" /> An example of a spotlight is a flashlight.<ref name=":9" />
=== Area ===
Area lights are 3D objects which emit light. Whereas point lights and spot lights sources are considered infinitesimally small points, area lights are treated as physical shapes.<ref>{{cite conference |last1=Lagarde |first1=Sebastien |author-link1= |last2=de Rousiers |first2=Charles |author-link2= |date=Summer 2014 |title=Moving Frostbite to Physically Based Rendering 3.0 |url=https://www.ea.com/frostbite/news/moving-frostbite-to-pb |conference=SIGGRAPH |___location= |publisher= |pages= |id= |book-title=}}</ref> Area light produce softer shadows and more realistic lighting than point lights and spot lights.<ref>{{Cite book |last1=Pharr |first1=Matt |title=Physically Based Rendering: From Theory to Implementation |last2=Humphreys |first2=Greg |last3=Wenzel |first3=Jakob |publisher=Morgan Kaufmann |year=2016 |isbn=978-0128006450 |edition=3rd |language=English}}</ref>
=== Ambient ===
Ambient light sources illuminate objects even when no other light source is present.<ref name=":73" /> The intensity of ambient light is independent of direction, distance, and other objects, meaning the effect is completely uniform throughout the scene.<ref name=":73" /> This source ensures that objects are visible even in complete darkness.<ref name=":9" />
=== Lightwarp ===
A lightwarp is a technique of which an object in the geometrical world [[refracts]] light based on the [[Unit vector|direction]] and [[Intensity (physics)|intensity]] of the light. The light is then [[Wave function|warped]] using an ambient diffuse term with a range of the [[color spectrum]]. The light then may be [[reflectively]] scattered to produce a higher [[depth of field]], and [[refracted]]. The technique is used to produce a [[Style_(visual_arts)#Stylization|unique rendering style]] and can be used to limit [[overexposure]] of objects. Games such as [[Team Fortress 2]] use the rendering technique to create a [[cartoon]] [[cel shaded]] stylized look.<ref>{{Cite book|chapter-url=https://hal.inria.fr/inria-00449828|chapter=Radiance Scaling for Versatile Surface Enhancement|first1=Romain|last1=Vergne|first2=Romain|last2=Pacanowski|first3=Pascal|last3=Barla|first4=Xavier|last4=Granier|first5=Christophe|last5=Schlick|title=Proceedings of the 2010 ACM SIGGRAPH symposium on Interactive 3D Graphics and Games |date=February 19, 2010|pages=143–150 |publisher=ACM|via=hal.inria.fr|doi=10.1145/1730804.1730827|isbn=9781605589398 |s2cid=18291692 }}</ref>
===HDRI===
HDRI stands for High dynamic range image and is a 360° image that is wrapped around a [[3D modeling|3D model]] as an outdoor setting and uses the sun typically as a light source in the sky. The [[Texture mapping|textures]] from the model can reflect the direct and [[Shading#Ambient lighting|ambient light]] and colors from the HDRI.<ref>{{cite web | url=https://visao.ca/what-is-hdri/#:~:text=High%20dynamic%20range%20images%20are,look%20cartoonish%20and%20less%20professional. | title=What are HDRI images? | date=13 January 2021 }}</ref>
== Lighting interactions ==
In computer graphics, the overall effect of a light
[[File:Phong components revised.png|thumb|544x544px|Decomposition of lighting interactions
=== Diffuse ===
Diffuse lighting (or [[diffuse reflection]]) is the direct illumination of an object by an even amount of light interacting with a [[Scattering|light-scattering]] surface.<ref name=":
=== Ambient ===
Line 40 ⟶ 49:
==== Phong illumination model ====
{{Main|Phong reflection model}}
One of the most common
==== Blinn-Phong illumination model ====
Line 53 ⟶ 62:
{{Main articles|Ray tracing (graphics)}}
[[File:Ray-traced steel balls.jpg|thumb|Image rendered using ray tracing]]
Light sources emit rays that interact with various surfaces through absorption, reflection, or refraction.<ref name=":72" /> An observer of the scene would see any light source that reaches their eyes; a ray that does not reach the observer goes unnoticed.<ref>{{Cite web|url=https://developer.nvidia.com/rtx/raytracing|title=Introducing the NVIDIA RTX Ray Tracing Platform|date=2018-03-06|website=NVIDIA Developer|language=en|access-date=2019-11-08}}</ref> It is possible to simulate this by having all of the light sources emit rays and then compute how
==== Radiosity ====
Line 61 ⟶ 70:
==== Photon mapping ====
{{Main|Photon mapping}}
[[Photon]] mapping was created as a two-pass global illumination algorithm that is more efficient than
== Polygonal shading ==
{{Main|Shading}}
Polygonal [[shading]] is part of the [[Rasterisation|rasterization]] process where [[3D computer graphics|3D]] models are drawn as [[2D computer graphics|2D]] pixel images.<ref name=":4">{{Cite web|url=https://cglearn.codelight.eu/pub/computer-graphics/shading-and-lighting|title=Computer Graphics: Shading and Lighting|website=cglearn.codelight.eu|access-date=2019-10-30}}</ref> Shading applies a lighting model, in conjunction with the geometric attributes of the 3D model, to determine how lighting should be represented at each [[Fragment (computer graphics)|fragment]] (or pixel) of the resulting image.<ref name=":4" /> The [[Polygon mesh|polygons]] of the 3D model store the geometric values needed for the shading process.<ref name=":11">{{Cite web|url=http://math.hws.edu/graphicsbook/c4/s1.html|title=Introduction to Computer Graphics, Section 4.1 -- Introduction to Lighting|website=math.hws.edu}}</ref> This information includes [[Vertex (geometry)|vertex]] positional values and [[Normal (geometry)|surface normals]], but can contain optional data, such as [[Texture mapping|texture]] and [[Bump mapping|bump]] maps.<ref>{{Cite web|url=https://www.khronos.org/opengl/wiki/Vertex_Specification#Primitives|title=Vertex Specification - OpenGL Wiki|website=www.khronos.org|access-date=2019-11-06}}</ref>
[[File:Flatshading00.png|alt=|thumb|165x165px|An example of flat shading
[[File:Gouraudshading01.png|alt=|thumb|165x165px|An example of Gouraud shading
[[File:Phongshading00.png|alt=|thumb|165x165px|An example of Phong shading
=== Flat shading ===
Line 75 ⟶ 84:
=== Gouraud shading ===
[[Gouraud shading]] is a type of interpolated shading where the values inside of each polygon are a blend of its vertex values.<ref name=":4" /> Each vertex is given its own normal consisting of the average of the surface normals of the surrounding polygons.<ref name=":12" /> The lighting and shading at that vertex is then calculated using the average normal and the lighting model of choice.<ref name=":12" /> This process is repeated for all the vertices in the 3D model.<ref name=":7"
=== Phong shading ===
Line 81 ⟶ 90:
== Lighting effects ==
[[File:Miroir-cercle.jpg|thumb|A reflective material demonstrating caustics
=== Caustics ===
{{Main articles|Caustic (optics)}}
[[Caustic (optics)|Caustics]] are
=== Reflection mapping ===
Line 96 ⟶ 105:
== See also ==
*[[Per-pixel lighting]]
*[[Computer graphics]]
==References==
{{reflist}}
{{Computer graphics}}
{{DEFAULTSORT:Computer Graphics Lighting}}
[[Category:3D rendering]]
[[Category:Lighting
[[Category:Shading
|