Aktuelle Zeit: 13.05.2025, 00:36

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Schattenfehler
BeitragVerfasst: 28.04.2009, 16:12 
Offline

Registriert: 20.03.2009, 10:02
Beiträge: 50
Ist folgender Fehler bekannt? Wenn "Ja", woran liegt es?

Bild


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Schattenfehler
BeitragVerfasst: 28.04.2009, 16:46 
Offline
Benutzeravatar

Registriert: 23.06.2008, 07:21
Beiträge: 74
Wohnort: Dresden
Man kann es auf diesen Bild sehr schlecht erkennen. Aber mir ist der Fehler nicht bekannt.
Vielleicht kannst du ja einen Codeausschnitt zeigen, wo du den Schatten erstellst und das Licht dazu.
Es könnte aber auch am Objekt selber liegen.
Wie hast du es geladen? Als *.obj, *.x, *.3ds oder als was?

Hast du es schon mit anderen Objekten versucht?

lg Micha

_________________
...then he said, "I can't feel my legs!" and I said "Joe! Stay with me Joe!" But it was ... to late. The garbage collector came and... he was gone. Best object I ever had.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Schattenfehler
BeitragVerfasst: 28.04.2009, 17:14 
Offline

Registriert: 20.03.2009, 10:02
Beiträge: 50
Der Quelltext wird Dir wahrscheinlich nicht weiterhelfen weil es sich um BlitzMax handelt, aber ich kann Dir was zu den Models sagen.

Alle Models wurden in Blender erstellt und mit dem B3D Exporter von Gandaldf exportiert. Da Irrlicht nicht das übliche 1 Unit System verwendet kann es vielleicht sein dass die Models zu klein sind, aber auch skalieren per Irrlicht half nichts.

Die ShadowVolumes werden mit Default-Werten erstellt.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Schattenfehler
BeitragVerfasst: 28.04.2009, 22:10 
Offline

Registriert: 12.09.2008, 21:41
Beiträge: 187
Wohnort: Deutschland
So wie das Bild aussieht, könntest du uns sogar zum Narren halten, weil der Zacken, den man sieht könnte an dem Objekt bisher unsichtbar anhängen, also währs super wenn es noch ein paar Screenshots gibt und bei dem Model kannste uns vielleicht auch direkt das Model posten? Bzw. hast du mal versucht das Model in einem anderen Viewer zu laden?

Ich weiß es tut weh, aber Irrlicht macht leider nur ganz ganz selten Fehler, also muss/wird es wohl an deinem Mesh, den Lichtern oder einem Fake liegen...

Gruß
Scarabol

_________________
My Toolbox:
- Irrlicht 1.7.1
- Blender 2.49a
- Microsoft Visual C++ Express Edition 2008
- Newton Game Dynamics 2.xx
Regeln zur Programmierung:
Regel 1: Die Programmiersprache hat keine Fehler.
Regel 2: Solltest du doch einen Fehler finden, tritt automatisch Regel 1 in Kraft.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Schattenfehler
BeitragVerfasst: 29.04.2009, 08:58 
Offline

Registriert: 20.03.2009, 10:02
Beiträge: 50
Ich halte sicher niemanden zum Narren. Habe mal ein Executable erstellt bei dem man sehr gut sehen kann wie der Schatten falsch berechnet wird:

http://simpleirr.sedm.de/bmx/simple_test.zip


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Schattenfehler
BeitragVerfasst: 29.04.2009, 09:08 
Offline

Registriert: 12.09.2008, 21:41
Beiträge: 187
Wohnort: Deutschland
hmm, stimmt der Schatten ist falsch ;-)

An welcher Position hast du das Licht?

Merkwürdig ist das der Schatten nur aus dieser Perspektive falsch ist, wenn man von der Rückseite schaut ist es ok...

Achso noch ein BUG in der Demo, wenn ich Alt+F4 drücke verschwindet das Fenster aber das Programm läuft weiter mit 99% CPU Auslastung...

Gruß
Scarabol

_________________
My Toolbox:
- Irrlicht 1.7.1
- Blender 2.49a
- Microsoft Visual C++ Express Edition 2008
- Newton Game Dynamics 2.xx
Regeln zur Programmierung:
Regel 1: Die Programmiersprache hat keine Fehler.
Regel 2: Solltest du doch einen Fehler finden, tritt automatisch Regel 1 in Kraft.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Schattenfehler
BeitragVerfasst: 29.04.2009, 10:06 
Offline

Registriert: 20.03.2009, 10:02
Beiträge: 50
Die Lichtquelle ist ein Punktlicht und hängt bei Y = 20.0

Code:
SuperStrict

Framework sedm.simplenewt
Import brl.polledinput

Local irr:TIrrlicht = TIrrlicht.Init()
irr.Graphics3D(1024, 768, 32)

' einen Raum laden
Local room:TMesh = TMesh.LoadMesh("data/room.b3d")

' eine Kamera erstellen
Local cam:TCamera = TCamera.CreateFPS()
cam.Position(0.0, 5.0, -5.0)

' eine Lichtquelle erzeugen
Local l:TLight = TLight.Create(LIGHT_POINT)
l.Position(0.0, 20.0, 0.0)

' eine Kiste laden
Local box:TAnimMesh = TAnimMesh.LoadAnimMesh("data/box.b3d", True)
box.Position(0.0, 5.0, 0.0)

Repeat
   irr.RenderWorld()
Until irr.IsKeyDown(KEY_ESCAPE) Or AppTerminate()

irr.dropIrrlicht()
End


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Schattenfehler
BeitragVerfasst: 29.04.2009, 10:50 
Offline

Registriert: 20.03.2009, 10:02
Beiträge: 50
Ich habs. Es ist tatsächlich ein Irrlicht Fehler und tritt bei zu kleinen Abständen auf. Ich habe direkt in Blender beide Objekte um den Faktor 4 skaliert und die Lichtquelle weiter weg platziert und nun funktioniert alles wie es soll.
Code:
SuperStrict

Framework sedm.simplenewt
Import brl.polledinput

Local irr:TIrrlicht = TIrrlicht.Init(EDT_DIRECT3D9, True)
irr.Graphics3D(1024, 768, 32, True)

' einen Raum laden
Local room:TMesh = TMesh.LoadMesh("data/room.b3d")

' eine Kamera erstellen
Local cam:TCamera = TCamera.CreateFPS()
cam.Position(0.0, 5.0, -5.0)

' eine Kiste laden
Local box:TAnimMesh = TAnimMesh.LoadAnimMesh("data/box.b3d", True)
box.Position(0.0, 10.0, 0.0)

' eine Lichtquelle erzeugen
Local l:TLight = TLight.Create(LIGHT_POINT)
l.Position(-100.0, 100.0, -100.0)
l.setRange()

irr.AmbientLight(128, 128, 128)

Repeat
   box.Turn(0.1, 0.1, 0.1)
   irr.RenderWorld()
Until irr.IsKeyDown(KEY_ESCAPE) Or AppTerminate()

irr.dropIrrlicht()
End


Nochmal die überarbeitete Exe : http://simpleirr.sedm.de/bmx/simple_test2.zip
Da der Bug noch immer drin ist dass sich die App nicht mit Alt+F4 korrekt beenden läßt startet sie jetzt im Fullscreen (1024x768x32) mit DX9


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Schattenfehler
BeitragVerfasst: 29.04.2009, 18:02 
Offline

Registriert: 12.09.2008, 21:41
Beiträge: 187
Wohnort: Deutschland
Darf ich fragen, wie du diesen Bug erzeugt hast, dass er bei Alt+F4 nicht das Programm beendet?

Gruß
Scarabol

_________________
My Toolbox:
- Irrlicht 1.7.1
- Blender 2.49a
- Microsoft Visual C++ Express Edition 2008
- Newton Game Dynamics 2.xx
Regeln zur Programmierung:
Regel 1: Die Programmiersprache hat keine Fehler.
Regel 2: Solltest du doch einen Fehler finden, tritt automatisch Regel 1 in Kraft.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Schattenfehler
BeitragVerfasst: 30.04.2009, 08:17 
Offline

Registriert: 20.03.2009, 10:02
Beiträge: 50
Das ist ein Fehler des Wrappers von gman. Alt+F4 beendet den Grafikkontext aber nicht das Device. Ich prüfe zwar ob der Kontext noch besteht, kann aber das Device nicht vernünftig beenden da der Wrapper eine Endlosschleife erzeugt in der versucht wird den Videotreiber zu droppen, da der aber schon abgeschossen wurde klappt das nicht.
Zwar kann ich das Programm einfach beenden und damit den Prozess killen, aber der allozierte Speicher wird dann nicht freigegeben da der GC von BMax nicht Speicher freiräumen kann den er selbst nicht alloziert hat.

Ich denke aber dass auch für dieses Problem eine Lösung gefunden werden kann.


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 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:  
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de