Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

CeDoMain

Alter Hase

  • »CeDoMain« ist der Autor dieses Themas

Beiträge: 587

Wohnort: Ilmenau

Beruf: Student für Mechatronik

  • Private Nachricht senden

1

12.04.2014, 16:23

Suche ein DirectX Buch über Beleuchtung und Schattenberechnung

Hallo Liebe Community,

auf Davids Anregung hin habe ich hier einen neuen Thread aufgemacht! Ich habe Davids Buch "3D-Spieleprogrammierung mit DirectX 9 und C++" gelesen. Ich bin sehr begeistert! :thumbsup:

Nun suche ich nach einem Buch, dass einen ähnlich guten Mix zwischen Theorie und Quellcode bietet wie das oben genannte. Es soll von Beleuchtungs- und Schattenberechnung mit DirectX (9 || 11) und C++ handeln. Auch auf Deutsch wäre schön! Kann mir jemand ein Buch empfehlen?

Bin gespannt auf eure Vorschläge! ;)
Mit freundlichem Gruß
CeDo
Discord: #6996 | Skype: cedomain

Lass solche persönlichen Angriffe lieber bleiben, meine sind härter.

CeDoMain

Alter Hase

  • »CeDoMain« ist der Autor dieses Themas

Beiträge: 587

Wohnort: Ilmenau

Beruf: Student für Mechatronik

  • Private Nachricht senden

2

27.04.2014, 21:24

Hey Leute,

kennt keiner von euch ein Buch über das gesuchte Thema??? Oder woran scheiterts sonst?
Mit freundlichem Gruß
CeDo
Discord: #6996 | Skype: cedomain

Lass solche persönlichen Angriffe lieber bleiben, meine sind härter.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

27.04.2014, 22:29

Ich kenne zwar kein sehr gutes Buch über dieses Thema in ähnlicher Qualität wie das von David, ABER ich finde, wenn du dir die Informationen im Internet selbst zusammensuchst, kommst du deutlich besser ;)

Daher werfe ich dir einfach mal ein paar Brocken und links an den Kopf, die du kostenlos nutzen kannst:

Fang an dich über Beleuchtungsmodelle zu informieren, was die sind, welche es gibt.
Lerne über Diffuse-Beleuchtung, Specular-Beleuchtung/Specular-Highlights, BRDFs, Global&Local Illumination, Phong, Lambert, Cook-Torrance, Schlick, Fresnel-Effect (und Schlicks Approximation), sowie über (Self-)occlusion, Slope distribution functions, ...

Gute papers / präsentationen:
allgemein: http://www.cse.chalmers.se/edu/year/2011…007/rend_eq.pdf
allgemein: http://nccastaff.bournemouth.ac.uk/jmace…onModels4up.pdf
sehr ausführlich, allgemein: http://cs.fit.edu/~wds/classes/graphics/…illuminate.html
Cook-Torrance paper: http://www.cs.columbia.edu/~belhumeur/co…ok-torrance.pdf
Schlicks paper: http://www.cs.virginia.edu/~jdl/bib/appe…/schlick94b.pdf
Shadowmapping: http://www.rastertek.com/dx11tut40.html

Achja und auf jeden fall: HLSL und GLSL Shader Languages! ;)
EnvisionGame(); EnableGame(); AchieveGame(); - Visionen kann man viele haben. Sie umzusetzen und auf das Ergebnis stolz zu sein ist die eigentliche Kunst.

CeDoMain

Alter Hase

  • »CeDoMain« ist der Autor dieses Themas

Beiträge: 587

Wohnort: Ilmenau

Beruf: Student für Mechatronik

  • Private Nachricht senden

5

28.04.2014, 19:55

OK das reicht dicke!!! Vielen Dank dafür! :thumbsup:
Mit freundlichem Gruß
CeDo
Discord: #6996 | Skype: cedomain

Lass solche persönlichen Angriffe lieber bleiben, meine sind härter.

CeDoMain

Alter Hase

  • »CeDoMain« ist der Autor dieses Themas

Beiträge: 587

Wohnort: Ilmenau

Beruf: Student für Mechatronik

  • Private Nachricht senden

6

29.04.2014, 21:27

Ich finde Shadow Mapping eine sehr gute Lösung und habe auch schon wild im INET recherchiert. Bevor ich aber anfange zu Programmieren, will ich nochmal etwas klären, was mir das INET nicht beantworten konnte:

Beim Shadowmapping wird ja immer einmal aus der Sicht der Lichtquelle gerendert. Was mache ich jetzt, wenn ich nur ein Richtungslicht habe? Wie kann ich da Shadowmapping einsetzen? Weil ich habe ja keine Position, wo die Kamera hinkommt, sondern nur 'ne Richtung. Geht das überhaupt mit der Methode? Oder gibt es da einfachere (oder einfach andere) Möglichkeiten Schatten für ein "Sonnenlicht" zu berechnen?

PS: Ich finde es passt zwar noch zu meiner Frage, aber wenn das nicht mehr hier reinpasst - bitte melden!
PPS: Wenn ich das richtig verstanden habe ist HLSL für DirectX und GLSL für OpenGL!?
Mit freundlichem Gruß
CeDo
Discord: #6996 | Skype: cedomain

Lass solche persönlichen Angriffe lieber bleiben, meine sind härter.

7

29.04.2014, 22:31

Für Shadowmapping mit Richtungslicht gibt es mehrere Ansätze. Ich persönliche würde den einer orthografischen Projektionsmatrix bevorzugen. Andere Techniken die mir grad Spontan einfallen wären, die Lichtposition zu schätzen (da in der Realtime 3D Programmierung nicht immer alles 100% exakt sein muss) oder auch Raycasting

Ansonsten findest du sicher hier noch Antworten:
Orthographischer Ansatz für GLSL
http://www.opengl-tutorial.org/intermedi…shadow-mapping/
.. und für HLSL:
http://www.rastertek.com/dx11tut48.html

und für den Approximation approach findest du sicher Informationen hier:
http://www.gamedev.net/topic/380865-how-…-dynamic-scene/

Ansonsten fällt mir übrigens grad noch die Buchreihe von Wolfgang Engels ein (Shaderx1-7 & GPU pro1-6). Auch wenn die nicht ganz billig sind, sind sie DIE Quelle für Shadertechniken schlecht hin ;)


Zitat

Wenn ich das richtig verstanden habe ist HLSL für DirectX und GLSL für OpenGL!?

HLSL und GLSL sind High-Level Shader Languages, die letztendlich beide in Maschinencode für die GPU übersetzt werden. Ab es ist richtig, dass DirectX HLSL verwendet und OpenGL einen GLSL compiler mitbringt ;)
EnvisionGame(); EnableGame(); AchieveGame(); - Visionen kann man viele haben. Sie umzusetzen und auf das Ergebnis stolz zu sein ist die eigentliche Kunst.

Fireball

Alter Hase

Beiträge: 415

Wohnort: Werne

Beruf: Dipl. Inf.

  • Private Nachricht senden

8

30.04.2014, 09:33

Hier vielleicht auch mal schauen. Allerdings ist derzeit nur noch das Buch für Direct3d 11 verfügbar.

http://www.amazon.de/s/ref=ntt_athr_dp_s…ooks-de-intl-us

Schrompf

Alter Hase

Beiträge: 1 470

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

9

30.04.2014, 11:18

Technische Basis: Ein Richtungslicht kannst Du genauso wie ein Punktlicht oder Kegellicht behandeln - Du renderst die Szene aus Sicht der Lichtquelle, nur halt mit orthogonaler Projektion und nicht mit perspektivischer Projektion. Der Bereich, über den sich die ShadowMap eines Richtungslichts erstreckt, ist allerdings sehr groß. Daher gibt es darauf aufbauend eine Menge verschiedener Methoden, die Auflösung in Kameranähe zu verbessern.

Wenn Du sowas anfängst, programmiere erstmal eine schlichte Orthogonalprojektion. Nimm dafür nur mal zum Testen eine große ShadowMap... gern auch eine 4096er. Du solltest nur erstmal das Grundprinzip in Gang bekommen. Danach kannst Du mal nach weiterführenden Techniken googeln. Aktuell die meistverwendete Technik ist Parallel Split Shadow Mapping (PSSM) oder Cascaded Shadow Mapping (CSM).
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

Werbeanzeige