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

dx11

unregistriert

1

19.10.2011, 13:35

Per Pixel Lighting

Hoffe so heißt es^^
Naja also ich habe mich jetzt mal ein bisschen in Shader reingearbeitet.
Mein ziel ist ein Taschenlampe oder Öl Laterne darzustellen die ein Raum ausleuchtet( Mit lichtabschwächung).
Mein Ansatz: Ein Shader zu Schreiben der das macht ^^
Nunja nun zu dem Problem ich weiß nicht wie ich so ein Shader schreiben soll. Und vorallem wie ich ihn verwenden soll das ich das Licht an und aus machen kann^^
Eine Bitte: Bitte nicht so super schwere Tutorials und wenn doch ne kleine erklärung wäre sehr freundlich ;)
Verwende DirectX 9.0c
Danke
MfG

TGGC

1x Rätselkönig

Beiträge: 1 799

Beruf: Software Entwickler

  • Private Nachricht senden

2

19.10.2011, 14:09

Ganz einfach, du musst den Shader mit der Tastatur eintippen. Wenn du dazu dann den passenden Editor oeffnest, erscheint der Shader auf dem Bildschirm und du kannst ihn auf der Festplatte abspeichern. Dann sagst du deinem Grafikkartentreiber nur noch, da er diese Datei kompilieren soll und sie zum Anzeigen der Primitives benutzt. Licht an/aus geht natuerlich am einfachsten ueber einen Parameter!

3

19.10.2011, 14:24

Ei, arbeite eine Shader Tutorial reihe ab, bau die vorgestellten Shader nach und versuch zu zu verstehen. Wenn das geklappt hat, kriegst du dein Lampe auch hin.
Das Thema ist eindeutig zu komplex, um dir da jetzt irgendetwas anderes zu sagen.
Lieber dumm fragen, als dumm bleiben!

dx11

unregistriert

4

19.10.2011, 14:29

Ich weiß echt nicht was diese b***e Person eigentlich will naja.
Vielen dank auch aber von dir will ich garantiert keine Hilfe denn auch du weißt wie es gemeint war!!!
So dann nochmal für die dies nett cheken....
Ich weiß nicht wie der Inhalt eines Solchen Shaders aussehen soll( wenn jetzt eine Doofe Antwort mit: na Buchstaben und Zahlen kommt explodiere ich).....
Und nochmal: Wie kann ich dann den Shader verwenden in meine C++ Programm ( bitte mit ner kleinen Erkärung! )
Danke
MfG
EDIT: war an TGGC gerichtet ;)
EDIT2: @ Jonathan Kennst du eine Gutes Tutorial? Danke

5

19.10.2011, 14:33

Nur für OepnGL:
http://www.lighthouse3d.com/tutorials/glsl-tutorial/

Die Theorie ist genau die selbe, nur die Syntax ist in DirectX natürlich anders (HLSL für Shader Code und halt DX Funktionen...)

Von wegen Inhalt: Ein Lichtshader sollte in so ziemlich jeden Shadertutorial behandelt werden, da steht dann auch die ganze Theorie drin.
Lieber dumm fragen, als dumm bleiben!

TGGC

1x Rätselkönig

Beiträge: 1 799

Beruf: Software Entwickler

  • Private Nachricht senden

6

19.10.2011, 14:42

Nein, der Inhalt des Shaders muss sich an die Syntax der Shadercompilers halten! Nur Buchstaben und Zahlen reichen dafuer natuerlich nicht, du brauchst auch Sonderzeichen wir Klammern, Kommas etc.

DerMark

Treue Seele

Beiträge: 324

Wohnort: Emsdetten

Beruf: Softwareentwickler

  • Private Nachricht senden

7

19.10.2011, 14:49

TGGC hat doch recht, anstatt also rumzu quengeln wie ein Kindergartenkind dessen mami grad eben hinter einer Tür verschwindet wäre es eine viel bessere Idee, uns zu zeigen was du bisher versucht hast um das problem selbst zu lösen. Einfach nur ein Tutorial kannst du mit google finden, selbst Beleuchtungsshader/tutorials.

Willst du die Mathematik dahinter verstehen? Dann sag uns wo es hakt. Sag uns wie du rein vom Gefühl her vorgehen würdest. Nur so wirst du zumindest mich und evtl auch TGGC dazu überreden können, dass deine Frage interessant genug ist um beantwortet zu werden.

dx11

unregistriert

8

19.10.2011, 15:00

Ok also
Ich habe keine ansatz gemacht( außer überlegt ) denn ich weiß nicht wie ich eine Lichtquelle oder ähnliches erzeuge ( im Shader ).
Lösen würde ich es so das ich alles erstmal in den PixelShader schreibe. Dort würde ich dann eine Lichtquelle erzeugen und mit Parameter befüllen. Oder einfach ohne Shader und ne Textur mit der anderen ( wo die Helle drauftrifft ) mal nehmen. Aber ich möchte doch eher bei Shader Bleiben.
Noch was unklar?
MfG

DerMark

Treue Seele

Beiträge: 324

Wohnort: Emsdetten

Beruf: Softwareentwickler

  • Private Nachricht senden

9

19.10.2011, 15:03

Irgendwie schon. Lass es mich umformulieren:

Was würdest du machen um für einen Pixel (zB ein Pixel auf der Oberfläche des zu beleuchtenden Objektes) zu berechnen wie dessen Farbe aussehen müsste?

Du hast:

Die Weltposition des Pixels
Die Normale an der WeltPosition des Pixels
Die Texturkoordinaten für den Pixel
Die Materialeigenschaften des Punktes für den Pixels
Die Position der Lichtquelle
Alle anderen Eigenschaften der Lichtquelle

dx11

unregistriert

10

19.10.2011, 15:05

Ich würde die eigenfarbe mit der Besrtahlungsfabre mal nehen. Stimmt das? Oder doch lieber mla Streufarbe?
;)

Werbeanzeige