Schatten (Computergrafik)
Schatten in der Computergrafik dienen zur Verankerung von Objekten in einer Szene. So kann man Aussagen über die Lage der Objekte in der Szene machen (Tiefe, Abstand zur Fläche). Weiterhin wird durch einen Schatten die Richtung der Beleuchtung hervorgehoben.
Man unterteilt den Schatten in Kernschatten (Umbra) und Halbschatten (Penumbra). Der Kernschatten ist der zentrale, deutlich abgegrenzte dunkle Teil im Zentrum, der Halbschatten das hellere den Kernschatten umgebende Gebiet. Letzterer ist sehr aufwendig zu berechnen, weshalb man beim Echtzeitrendern fast ausschließlich Punktlichtquellen einsetzt, die nur den Kernschatten generieren.
Eine andere Möglichkeit besteht darin, die Projektion eines schattenwerfenden Objekts von der Lichtquelle auf eine Ebene zu berechnen.<ref>Thant Tessman: Casting Shadows on Flat Surfaces. IRIS Universe 16 (Winter 1989): 16–19, {{#invoke:URIutil|{{#ifeq:1|1|linkISSN|targetISSN}}|1061-6608|0}}{{#ifeq:1|0|[!] }}{{#ifeq:0|1
|{{#switch:00
|11= (print/online)
|10= (print)
|01= (online)
}}
}}{{#ifeq:0|0
|{{#ifeq:0|0
|{{#if:{{#invoke:URIutil|isISSNvalid|1=1061-6608}}
|
|{{#invoke:TemplUtl|failure|ISSN ungültig}}}}}}
}}</ref> Um weiche Schatten zu rendern, kann eine flächige Lichtquelle durch mehrere Punktlichtquellen ersetzt werden; der resultierende Schatten ist die Summe der Schatten dieser Lichtquellen.<ref>Paul Heckbert, Michael Herf: Simulating Soft Shadows with Graphics Hardware. Technical Report CMU-CS-97-104, Carnegie Mellon University, Jan. 1997 (Online)</ref> Ebenfalls möglich ist es, einen harten Schatten zu verwischen<ref>Cyril Soler, François Sillion: Fast Calculation of Soft Shadow Textures Using Convolution. In SIGGRAPH ’98 Proceedings, S. 219–230. ACM, New York 1998, ISBN 0-89791-999-8 (Online)</ref> oder Farbverläufe<ref>Eric Haines: Soft Planar Shadows Using Plateaus. Journal of Graphics Tools 6, 1 (Sep. 2001): 19–27, {{#invoke:URIutil|{{#ifeq:1|1|linkISSN|targetISSN}}|1086-7651|0}}{{#ifeq:1|0|[!] }}{{#ifeq:0|1
|{{#switch:00
|11= (print/online)
|10= (print)
|01= (online)
}}
}}{{#ifeq:0|0
|{{#ifeq:0|0
|{{#if:{{#invoke:URIutil|isISSNvalid|1=1086-7651}}
|
|{{#invoke:TemplUtl|failure|ISSN ungültig}}}}}}
}} ({{#switch:
|0|=Vorlage:Toter Link/Core{{#if: http://tog.acm.org/editors/erich/plateaus.pdf | {{#if: PDF, 330 kB | PDF, 330 kB }} (Seite {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar{{#if: 2019-05 | , festgestellt im {{#invoke:DateTime|format|2019-05|F Y}} }}. Suche im Internet Archive ){{#if: 2019-05-12 09:49:50 InternetArchiveBot | {{#if: | | Vorlage:Toter Link/archivebot }} }} | (Seite {{#switch:|no|0|=|#default=dauerhaft }}nicht mehr abrufbar{{#if: 2019-05 | , festgestellt im {{#invoke:DateTime|format|2019-05|F Y}} }}.) }}{{#switch: |no|0|= |#default={{#if: || }} }}{{#invoke:TemplatePar|check |opt = inline= url= text= datum= date= archivebot= bot= botlauf= fix-attempted= checked= |cat = Wikipedia:Vorlagenfehler/Vorlage:Toter Link |errNS = 0 |template = Vorlage:Toter Link |format = |preview = 1 }}{{#if: http://tog.acm.org/editors/erich/plateaus.pdf | {{#if:{{#invoke:URLutil|isWebURL|http://tog.acm.org/editors/erich/plateaus.pdf}} || {{#if: || }} }} | {{#if: PDF, 330 kB | {{#if: || }} | {{#if: || }} }} }}{{#if: 2019-05 | {{#if:{{#invoke:DateTime|format|2019-05|F Y|noerror=1}} || {{#if: || }} }} }}{{#switch: |checked|deadurl|= |#default= {{#if: || }} }}|#default= https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Defekte_Weblinks&dwl=http://tog.acm.org/editors/erich/plateaus.pdf Die nachstehende Seite ist {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar]{{#if: 2019-05 | , festgestellt im {{#invoke:DateTime|format|2019-05|F Y}} }}. (Suche im Internet Archive. ) {{#if: 2019-05-12 09:49:50 InternetArchiveBot | {{#if: | | Vorlage:Toter Link/archivebot }} }}Vorlage:Toter Link/Core{{#switch: |no|0|= |#default= {{#if: || }} }}{{#invoke:TemplatePar|check |all = inline= url= |opt = datum= date= archivebot= bot= botlauf= fix-attempted= checked= |cat = Wikipedia:Vorlagenfehler/Vorlage:Toter Link |errNS = 0 |template = Vorlage:Toter Link |format = |preview = 1 }}{{#if: http://tog.acm.org/editors/erich/plateaus.pdf | {{#if:{{#invoke:URLutil|isWebURL|http://tog.acm.org/editors/erich/plateaus.pdf}} || {{#if: || }} }} }}{{#if: 2019-05 | {{#if:{{#invoke:DateTime|format|2019-05|F Y|noerror=1}} || {{#if: || }} }} }}{{#switch: |checked|deadurl|= |#default= {{#if: || }} }}[http://tog.acm.org/editors/erich/plateaus.pdf }})</ref> zu zeichnen. Zum Rendern von harten Schatten können auch sogenannte Shadow Volumes verwendet werden.<ref>Franklin Crow: Shadow Algorithms for Computer Graphics. ACM SIGGRAPH Computer Graphics 11, 2 (Summer 1977): 242–248, {{#invoke:URIutil|{{#ifeq:1|1|linkISSN|targetISSN}}|0097-8930|0}}{{#ifeq:1|0|[!]
}}{{#ifeq:0|1
|{{#switch:00
|11= (print/online)
|10= (print)
|01= (online)
}}
}}{{#ifeq:0|0
|{{#ifeq:0|0
|{{#if:{{#invoke:URIutil|isISSNvalid|1=0097-8930}}
|
|{{#invoke:TemplUtl|failure|ISSN ungültig}}}}}}
}}</ref> Eine weitere Möglichkeit sind Shadow Maps.<ref>Lance Williams: Casting Curved Shadows on Curved Surfaces. ACM SIGGRAPH Computer Graphics 12, 3 (Aug. 1978): 270–274</ref> Dabei wird die Szene in einen Z-Buffer aus der Sicht der Lichtquelle (Shadow Buffer) gezeichnet, sodass dieser die Distanz zu den nächsten beleuchteten Objekten enthält. Durch den Vergleich der Tiefeninformation im normalen Z-Buffer mit der Tiefeninformation im Shadow Buffer lässt sich ermitteln, ob ein Punkt im Schatten liegt.
Um die Schatten realistisch, also nach physikalischen Modellen, zu berechnen, wird viel Zeit benötigt. Beispiele für Algorithmen zum Erzeugen von fotorealistischen Schatten sind Diffuses Raytracing oder Radiosity.
Literatur
- David Rogers: Procedural Elements for Computer Graphics, S. 502–517. WCB/McGraw-Hill, Boston 1998, ISBN 0-07-053548-5
- Tomas Akenine-Möller, Eric Haines: Real-Time Rendering, S. 248–276. AK Peters, Natick, Mass. 2002, ISBN 1-56881-182-9
Einzelnachweise
<references/>