Hinweis : Wie alle meine Quellcodes unterliegt auch dieser Quellcode der The GNU General Public License (GPL), also nur dann in euren Projekten benutzen wenn ihr diese Lizenz versteht und annehmt. Kurz gesagt bedeutet die GPL das ihr eure Programme dann auch mit Source und als Freeware anbieten müsst, und auch den Ur-Autor erwähnen müsst. Ich mache das damit die Leute quasi gezwungen werden was für die Open-Source-Bewegung zu tun.
Ansonsten ist der Code wie gesagt nicht fertig, und Fragen dazu beantworte ich hier natürlich. Die berechneten Lightmaps werden übrigens im Unterordner temp gespeichert, und die passenden Texturkoordinaten in der Datei "lightmap_texcoords.txt". Die Lightmapnummer entspricht der Nummer des Dreiecks im 3DS-File.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Öhm, welchen Lightmapper? Den am Anfang des Threads? Denn der neue Quellcode nutzt nur unseren eigenen Header, die dglOpenGL.pas. Das ist auch die einzige Unit die du für OpenGL eigentlich brauchst und ist auch der einzige aktuelle OpenGL-Header für Delphi. Finden tust du den entweder in Files->Libraries oder hier im OpenGL-Forum im passenden Sticky.
Hey,
hab mich jetzt näher mit dem Lightmapper beschäftigt. Habe ihn jetzt soweit umgeschrieben, dass er DeleD-Dateien laden kann und die lightmaps daraus berechnet. Das funktioniert scheinbar auch ganz gut. Er berechnet die Lightmaps und zeigt die auch korrekt im Preview-Fenster an. Dateien erstellen tut er auch. Das Problem ist, dass entweder beim Laden der Lightmaps oder beim erstellen der Dateien irgendwo was falsch gemacht wird. Bist du dir sicher, dass das exportieren korrekt geschieht? Ich hab nämlich z.B. einen Schatten da, wo keiner sein soll, und wo auch nicht in der Previewform einer war. Normalerweise würde ich ja sagen, es liegt an mir aber da ich schon mehrere Lade-Änderungen durchgeführt habe, und auch die polygone mit den texturen überprüft habe ( da sind auch schatten drauf ), bin ich mir da nicht mehr so sicher
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Hm, da ich die generierten Lightmaps noch nie in einer anderen Anwendung geladen habe, kanns sein das da was schiefläuft. Allerdings ist das so simpel das ich mir momentan nicht vorstellen kann wo der Fehler liegt.
Der Lightmapper lädt doch nacheinander alle Dreiecke und erstellt dann in der Reihenfolge wie diese geladen werden auch die passenden Lightmaps. Also hat das 100ste Dreieck deiner Szene die 100ste Lightmap, usw. Wo da ein Fehler auftreten soll ist mir rätselhaft.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Hm, nach den zwei Screenshots da oben bin ich mir recht sicher dass das Problem auf deiner Seite liegt. Es sieht nämlich so aus als würde auf deinem Tisch die selbe Lightmap liegen wie auf dem Boden (weil man da auch die Schatten der Tischbeine sieht.
Das lässt mich zu dem Schluß kommen das du nicht die richtigen Lightmaps bindest. Für mich sieht das so aus als ob du die Lightmaps für jeden Mesh eigens durchzählst, also für den "Raum" bei 0 beginnst und dann nochmal für den Tisch. Das ist natürlich falsch.
Das dachte ich auch zuerst, aber dann ist mir aufgefallen, dass die Textur auf dem Boden und die Textur auf dem Tisch zwei verschiedene sind (Siehe Anhang). Zudem kommen diese Texturen dann in den anderen Objekten gar nicht mehr vor. Meine Zeichen-Prozedur sieht in etwa so aus:
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Öhm, ohne deinen Code genauer zu betrachten (hab grade nicht die Zeit) : Der Lightmapper exportiert für jedes Dreieck eine eigene (quadratische) Lightmap. Kann es also sein das du die Lightmaps nur per Quad lädst? Das ist dann natürlich falsch.
Also ich find da einfach keinen Fehler... und wie gesagt, die Tisch-Polys haben ja die Polygon-Nummern 34 und 35, und die dazugehörigen bmps sehen auch so aus, wie das gerendert aussieht Naja werd mal noch ein bisschen im Code rumgucken ...
Mitglieder in diesem Forum: Google [Bot] und 15 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.