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

Tobiking

1x Rätselkönig

  • »Tobiking« ist der Autor dieses Themas
  • Private Nachricht senden

11

09.08.2003, 19:24

Ich habe jetzt sowiso noch ein Problem. Beim Testen mit dem Multitexturing ist mir aufgefallen das da ein komsiches ergebniss raus kam und mir nochmal die Lightmaps aus dem OpenGL Beispiel angeguckt. Da ist noch irgendwo ein Fehler. Es sieht aus als wenn er keine graustufen nimmt. Ich habe mal 2 Screenshots gemacht damit es anschaulicher ist.

Meins:

(Link)


OpenGL Vorlage:

(Link)


Desweiteren ist mir noch aufgefallen das als ich ein anderes Level nehmen wollte wieder das Programm abschmiert.

Tobiking

1x Rätselkönig

  • »Tobiking« ist der Autor dieses Themas
  • Private Nachricht senden

12

09.08.2003, 21:01

Ich habe das mit D3DPOOL_MANAGED mal ausprobiert. Hilft nicht viel sobald ich bei Mip Maps 2 angebe stürtzt das Programm ab. Bei 0 und 1 läuft es noch. Wollt auch nochmal fragen ob es eine Funktion gibt um eine Textur als bmp oder sonst was zu speichern. Mich würde mal interessieren wie die Lighmap aussieht. Es ist nämlich nur eine Für die komplette Map und es scheint das nur Leicht dunkle Punkte nicht richtig geladen werden. Ich habe mir mal die komplette Lightmap in eine Log schreiben lassen und mehr als die Hälfte der Punkte sind Grau oder annnähernd weiß aber nicht komplett Weiß. Die Texturkoordinaten für die Lightmap müssten auch richtig sein, da ja sonst der eine Schatten nicht an der richtigen Stelle wäre. Außerdem ist unter der Platform ein kleiner Fehler da kommt von oben licht durch bei der OGL version sieht man es leicht hell und bei der DX Version ist da gleich ein großer weißer Fleck.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

13

09.08.2003, 21:42

D3DXSaveSurfaceToFile (Surface mit GetSurfaceLevel abfragen) speichert eine Surface in eine Datei. Zum dem Problem kann ich Dir leider auch nicht viel sagen. Hast Du bei Direct3D die Beleuchtung abgeschaltet? Sind bei OpenGL vielleicht die Texturkoordinaten doch leicht anders?

Tobiking

1x Rätselkönig

  • »Tobiking« ist der Autor dieses Themas
  • Private Nachricht senden

14

09.08.2003, 22:06

Werd gleich mal die Lightmap in eine Datei speichern und mal vergleichen ob die mit den Daten aus der Level Datei übereinstimmen. Das mit den Texturkoordinaten sollte eigentlich stimmen. Wobei mir nur gerade einfällt das die Texturen verkehrt herum sind und die auch bei OpenGL eine Achse gedreht werden muss. Das habe ich bei den Lightmaps nicht gemacht weil davon auch im OGL quellcode nichts drin stand von. Ich werd aber noch ein bisschen testen.

Tobiking

1x Rätselkönig

  • »Tobiking« ist der Autor dieses Themas
  • Private Nachricht senden

15

09.08.2003, 22:57

Es hat geklappt mit den Textur speichern. Es gibt sogar ne Funktion D3DXSaveTextureToFile(). Nun bin ich soweit das ich sagen kann das es an der Funktion liegt die die Lightmaps erstellt liegt. Die Lightmap ist komplett Schwarz bis auf ein paar Weiße Rechtecke. Woher der Farbübergang kommt in dem Level weiß ich nicht in der Lightmap ist auf jeden fall nichts. Kein einziger Grauton. Ich habe auch eine Funktion ausporbiert die die die Farbwerte über einen Gammawert erhöht. Ich kann machen was ich will die Textur sieht immer gleich aus. Habe aber die DX Doku gelesen und jeden schritt verstanden doch keinen Fehler gefunden. Langsam verzweifel ich.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

16

09.08.2003, 22:58

Sorry, ich bin total dämlich! In der Funktion ist natürlich was falsch. Man muss alle Farbwerte noch durch 255 teilen. Sorry... :rolleyes:

Also:

p_out->x = (float)(...) / 255.0f;
...

Siehe vorherige Seite. Ich habe den Code da verbessert.

Tobiking

1x Rätselkönig

  • »Tobiking« ist der Autor dieses Themas
  • Private Nachricht senden

17

09.08.2003, 23:45

Juhu jetzt klappt es richtig. Vielen Dank nochmal und hoffentlich habe ich nicht zuviel genervt ^^.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

18

09.08.2003, 23:57

Ist schon OK, ich helfe doch gerne :)

Werbeanzeige