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

adapto

Treue Seele

Beiträge: 147

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

11

23.07.2004, 04:24

ja ambient lightning lohnt sich wirklich kaum, der unterschied ist echt kaum zu sehen. ich würde eine normalmap einsetzen, dann hast du wesentlich realistischere ergebnise.

12

23.07.2004, 08:55

Es gibt einen wichtigen Unterschied!
Stellt euch eine sehr großes Quad vor.
In die Mitte von dem platziert ihr ein Licht mit geringer Reichweite.
Das Quad bleibt schwarz, weil das Licht die Vertices nicht erreicht!
Man müsste also tesselieren.

13

23.07.2004, 12:34

Der Unterschied ist zwar schon recht gut zu sehen. Doch ist dabei zu beachten das diese Modelle schon eine recht hohe Zahl an Polygonen haben. Dies ist schon eines mit den wenigsten Polygonen. Daher ist der Unterschied auch nicht so gravierend.
Aber wenn man genau hinschaut kann an auch einen Unterschied beim Farbverlauf erkennen.

Ich habe die Position des Vertex in das Register oT2 geladen und den Normalen-Vektor in das Register oT1. Die Texturkoordinate ist im Register oT0. Es ist also auch noch mit Shader 1.1 möglich.
Wenn man das Licht noch in einem Separaten Pass berechnet hat man gar keine Probleme :)

Klar mit ner Normal-Map oder auch ner Bump Map hat man natürlich mehr Möglichkeiten. Das ist sicher. Diese beiden Effekte sind auch nur die Standard-Effekte die genutzt werden wenn der User kein Effekt zum Mesh angibt. Und auf Grund meines Lichtsystems brauche ich beide Varianten.

Zitat

ja ambient lightning lohnt sich wirklich kaum, der unterschied ist echt kaum zu sehen. ich würde eine normalmap einsetzen, dann hast du wesentlich realistischere ergebnise.
Ambientes Licht an sich Lohnt sich sowie so nicht. Ist ja auch nur das Allgemeine Umgebungslicht und wird nur zu dem errechneten Licht dazu Addiert.

Es werden drei Gruppen von Licht benutzt.
Ambientes
Diffuses
und ein Glanzfaktor (aber keine Glanzfarbe)

Es fehlt noch die Multiplikation mit den Reflektionsdaten des Materials. Aber das ist ja nun nicht weiter schwer :)
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

adapto

Treue Seele

Beiträge: 147

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

14

23.07.2004, 15:15

muss ich mal testen mit einem komplexeren modell. war heute früh nicht so konzentriert, aber ich hatte das auch mal auf einer normalen kugel getestet und es war kaum ein unterschied zu sehen.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

15

23.07.2004, 15:42

Zitat von »"DragonMaster"«

Ich habe die Position des Vertex in das Register oT2 geladen

Laut DirectX-HLSL-Compiler sind bei einem "Missbrauch" von Texturkoordinaten (also wenn sie nicht zum Sampeln einer Textur verwendet werden, wie es bei Dir ja der Fall ist) jedoch nur Werte zwischen 0 und 1 möglich, was ja für eine Positionsangabe nicht reicht. Also dürfte es eigentlich nicht funktionieren, bzw. Du darfst nicht voraussetzen, dass es funktioniert.

16

23.07.2004, 19:21

Echt? Wo steht das denn? In der Beschreibung der Input Register steht davon jedenfalls nichts, Version 1.1 bis 2.0. Habs grad nachgeschaut.

Aber irgendwie ist das mal richtig unlogisch. Denn man kann dann ja nicht die Texturen Kacheln, wenn man nicht die Koordinaten von z.B. uv(2.0|2.0) angeben kann.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

17

23.07.2004, 22:00

ab version 2.0 gibts das nicht mehr ( AFAIK ).
unter version 1.1 ( die ich verwende ) isses noch so, lässt sich aber mit einem trick umgehen ( zumindest für normalisierte vektoren in asm )...

Zitat

Aber irgendwie ist das mal richtig unlogisch. Denn man kann dann ja nicht die Texturen Kacheln, wenn man nicht die Koordinaten von z.B. uv(2.0|2.0) angeben kann.


guter einwand, aber es ist so ( frag mich jetzt nicht wie das geht )...

adapto

Treue Seele

Beiträge: 147

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

18

24.07.2004, 00:58

was hälst du den in dem kontext eigentlich von "glossmaps" für specular. ich hab ein demo gesehen das sah echt super aus damit.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

19

24.07.2004, 02:06

Zitat von »"DragonMaster"«

Echt? Wo steht das denn?

Neulich stand es in einer Warnung, die der HLSL-Compiler ausgab.

Zitat von »"DragonMaster"«

Aber irgendwie ist das mal richtig unlogisch. Denn man kann dann ja nicht die Texturen Kacheln, wenn man nicht die Koordinaten von z.B. uv(2.0|2.0) angeben kann.

Nein, denn das gilt ja nur für den "Missbrauch". Textur-Sampling mit Kachelung ist kein Missbrauch von Texturkoordinaten.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

20

24.07.2004, 13:25

Ich glaube dem ist egal ob die koordinaten nun von einer textur sind oder von einem punkt, er muss es ja nur ausrechenen.(bin aber immernoch müde als nit hauen ;D)

Werbeanzeige