Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 04:34

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ] 
Autor Nachricht
BeitragVerfasst: So Jul 03, 2005 13:01 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ich arbeite momentan an der Ausgabe von 3DS-Modellen und nutze dafür Noeskas Loader gl3DS.pas .

Als ich mein Model zusammen mit einfachen Flächen deren Normale ich manuell vergeben habe darstellte, fielen mir extreme Fehler in der Beleuchtung der 3DS-Modelle auf. Ich habe dazu eine kleine Testanwendung geschrieben, die ein Würfel einmal manuell Zeichnet und mit Normalen versieht, und einmal eine 3DS-Datei lädt. Die Unterschiede sind deutlich.

Ich würde euch deshalb einmal bitten das Projekt bei euch zu testen und zu beschreiben, ob der Fehler bei euch auch auftritt. Wenn ihr andere Versionen der gl3DS besitzt könnt ihr diese ja einmal verwenden lassen um zu sehen, ob der Fehler immer noch auftritt. Wer selber 3DS-Max besitzt kann ja einmal versuchen einen eigenen Würfel zu exportieren. Eventuell liegt es ja auch an 3DS-Max.

Was mir in diesem zusammenhang noch aufgefallen ist: Um in 3DS-Max und OpenGL die selben Kantenlängen zu erreichen, muss man in 3DS-Max eine 10x längere Kante einstellen. (Oder die einheiten Ändern). Ist dies bei euch auch so?

@Noeska: Are you still working on your loader? Do you have an idea how those errors raise? Do you have an aktuell version of your loader? (I use 2.4a)


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Zuletzt geändert von Flash am So Jul 03, 2005 13:24, insgesamt 2-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 03, 2005 13:20 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Das mit der Kantenlänge hängt mit der Skalierung zusammen. Noeaskas Loader skaliert AFAIK standardmäßig die Models herunter, damit es nicht zu unangenehmen Überaschungen kommt.

Sag mal, wo ist denn das Projekt?

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 03, 2005 13:25 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Es hängt dran. Aber ich kanns nicht sehn!? :shock:
Hab gerade nochmal nachgeguckt. Es ist da...!

EDIT: Mail an Phob is gerade raus. Mal sehn was der dazu sagt.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Zuletzt geändert von Flash am So Jul 03, 2005 13:36, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 03, 2005 13:27 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Hm? Ein Fall für Akte X?

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 03, 2005 15:02 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Also ich kann es sehen und runterladen!
Das macht das ganze natürlich nicht weniger rätselhaft.
MfG
Flo

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 03, 2005 15:29 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Bei mir werden zwei zu schnell drehende Würfel angezeigt. So dass man gar nichts erkennen kann.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 03, 2005 19:40 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Ah... Also jetzt seh' ich es auch. Merkwürdig...

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 03, 2005 20:19 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 01, 2003 18:59
Beiträge: 887
Wohnort: (The Netherlands)
Programmiersprache: fpc/delphi/java/c#
gl3ds is still in developement. For the moment i having a break with my hobby programming. This autumn i will be programming some more again. But all ideas on improving gl3ds are welcome. If you improve something send me a new version and i include it in the next release. Examples e.d. are also welcome. gl3ds is under the mpl license.

_________________
http://3das.noeska.com - create adventure games without programming


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jul 04, 2005 00:15 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
This means in the next time there's no hope for an update/bugfix? :?
I don't know why those normals are disturbed. I even do not know if those normals are loaded from the 3ds-File or calculatet by your code.

Wenn jemand von euch anderen ein Fix für das Normalen-Problem hat, dann ladet das mal bitte hoch. Es wäre supi, wenn ich die Beleuchtung ordentlich(er) hingrigen könnte.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jul 04, 2005 09:20 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Das 3DS-Format speichert leider keine Normalen, und selbst 3D Studio MAX schafft es oft nicht die Normalen aus einer 3DS-Datei korrekt zu berechnen (man exportiere mal ein komplexes Objekt nach 3DS und importiere es danach wieder). Also muss man die nach dem Laden der Vertexdaten selbst berechnen, was allerdings recht komplex ist. Wenn man das wirklich machen will, sollte man sich mal die Chunks und Bits für die sog. "Smoothing Groups" ansehen, die angeben welche Faces zu einer "Normalengruppe" gehören, also welche Faces ihre Normalen teilen.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jul 04, 2005 14:08 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
@Sascha: Wenn ich mich recht erinnere hattest du doch eine sehr ausgebaute gl3DS.pas in Verwendung oder? Hattest du das Problem gelöst?

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jul 04, 2005 15:24 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Ausgebaut ja, und mit den Smoothing Groups hab ich sogar mal angefangen. Allerdings ist die Dokumentation auf dem Gebiet nicht gut und auch zeitlich bin ich nicht dazu gekommen die Sache fertigzustellen. Mal ganz davon abgesehen dass ich über kurz oder lang vom 3DS-Format weg will. Für einige aktuelle Sachen hab ich daher ganz einfach per-Face Normalen statt der von Noeska berechneten per-Vertex-Normalen genommen. Die per-Vertex-Normalen von Noeska sind übrigens nicht falsch, sondern ganz einfach generalisiert und sehen daher falsch aus. Das könnte man aber umgehen in dem man Normalen nur dann untereinandern (das wird bei den Smoothing Groups AFAIK auch so getan) glättet wenn die zugehörigen Flächen nur in einem nicht zu großen Winkel zueinander stehen. Bei nem Wrfel hat man zwischen den Seiten ja große Winkel, bei einer Kugel sind die Winkel kleiner, das sollte also recht gute Ergebnisse liefern.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jul 04, 2005 15:54 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Ich denke mal man braucht eigentlich keine Smoothing Groups. Wenn man die Flächen eines Würfels mit jeweils einer eigenen Normale haben will, dann erstellt man den Würfel gleich so, dass er insgesammt 24 Punkte, also 4 eigenen Punkte bei jeder Fläche hat. Wenn man irgendwo eine Kante weichmachen will, dann teilen sich die benachbarten Flächen eben die Eckpunkte. Im Vertex Buffer selber kann man ja sowieso nur eine Normale pro Vertex angeben, aber man möchte ja trotzdem soviele Punkte gemeinsam nutzen. Für per-Face Normalen könnte man dann ja außer bei planaren Flächen keine gemeinsamen Punkte haben.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 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.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.010s | 14 Queries | GZIP : On ]