Seltsame Flecken auf Cubemap

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

TheProgrammer

Betreff: Seltsame Flecken auf Cubemap

BeitragDi, Mai 13, 2008 12:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Smile

Bei dem Versuch, einigermaßen realistisches Wasser in B3D umzusetzen, ist mir ein seltsamer Bug aufgefallen:

user posted image

Ich habe einfach ein Mesh erstellt, dessen Vertizes sich ständig in Bewegung befinden, um eine Wellenbewegung darzustellen. Danach mit Updatenormals alle Normalen ausgerichtet und eine Cubemap drauf gerendert.

Soweit funktioniert das alles wunderbar. Jedoch treten manchmal diese seltsamen "Flecken" auf, die ich mir nicht erklären kann. Ich habe mir schon überlegt, ob das an meiner Grafikkarte liegt (Radeon X1950).


Kennt jemand vlt. schon dieses problem oder hat sogar jemand eine Lösung? Ich würde mich sehr auf schnelle Antwort freuen. Smile

Mfg
TheProgrammer


edit: Sry, ausversehen im falschen Forum geposted. Bitte verschieben.
aktuelles Projekt: The last day of human being

D2006

Administrator

BeitragDi, Mai 13, 2008 15:08
Antworten mit Zitat
Benutzer-Profile anzeigen
~VERSCHOBEN~
Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde.
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

biggicekey

BeitragDi, Mai 13, 2008 18:09
Antworten mit Zitat
Benutzer-Profile anzeigen
ohne code sag ich nichts...
naja also wenn man sich das bild weiter "hinten" anschaut sehen die flecken schon natürlich aus, fallen nicht auf.
vllt sind sie ja auch zufällig entstanden durch die bewegung. sind sie dauerhaft da? wandern sie? verschwinden? blinken?
so kann man nur schätzen.
#45 www.icekeyunlimited.de www.starcrusade.de
Gewinner BCC#17 !!! mit dotkiller
Nothing more to register - you've cleaned us out![/size]
 

Dreamora

BeitragDi, Mai 13, 2008 18:11
Antworten mit Zitat
Benutzer-Profile anzeigen
die flecken können auch damit zu tun haben das die vertex normalen futsch sind, denn die werden benutzt um zu entscheiden welche teile der cubemap darauf landen und so wie das aussieht würd ich sagen hats da immer wieder einzelne vertices wo die normale statt nach oben (himmel) nach unten zeigt.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

TheProgrammer

BeitragDi, Mai 13, 2008 19:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm, diese Flecken scheinen recht regelmäßig zu wandern. Die Vertizes werden ja auch recht regelmäßig nach oben und unten bewegt.

@Dreamora: Das müsste ja bedeuten, dass Updatenormals falsche Normalen verteilt.

Hier mal der Codeausschnitt, wo die Vertizes positioniert werden:

Code: [AUSKLAPPEN]
            s=GetSurface(t\mesh,1)
            i=0
            For tv.tWaterVertices = Each tWaterVertices
               If tv\parent = Handle(t) Then
                  tv\y#=Sin((millisecs*0.25)+tv\x#*500+tv\z#*300)*t\wave_height#
                  VertexCoords s,i,tv\x#,-tv\y#,tv\z#
                  i=i+1
               EndIf
            Next
            UpdateNormals t\mesh


Auffällig ist auch, dass die Flecken weniger werden, bzw. verschwinden, wenn der Abstand der einzelnen Vertizes zueinander größer wird.

Mfg
aktuelles Projekt: The last day of human being
 

Dreamora

BeitragDi, Mai 13, 2008 19:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Im codearchiv hats ne andere updatenormals, versuch die mal ...

Denk eigentlich weniger das sie was falsches liefert aber es gab in der vergangenheit schon den ein oder anderen fall wo sie ziemlich kläglich versagte.

ich nehme mal an jeder vertex im wasser drin ist an 8 triangles gebunden sofern er nicht am rand ist oder?
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

TheProgrammer

BeitragDi, Mai 13, 2008 19:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Jeder Vertex ist an 6 Triangles gebunden.

Habs jetzt mal mit UpdatenormalsFlat probiert. Hier scheints einwandfrei zu funktionieren. Smile
Ich hoffe jedoch, dass diese Funktion nicht viel langsamer als Updatenormals ist.

Vielen Dank erstmal für die Hilfe. Wink

Mfg
TheProgrammer
aktuelles Projekt: The last day of human being

the FR3AK

BeitragMi, Mai 14, 2008 22:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Wo wir schon bei Cubemaps bzw. Wasser sind...
ich hab mir mal ne kleine "Wasserengine" gebastelt die Funktioniert eigentlich Perfekt aber sie ist etwas langsam...das liegt daran das ich ja eine Cubemap auf das Wassermesh rendere. Hat vielleicht jemand ein Paar gute Tipps wie man den Geschwindigkeitsverlust minimieren könnte sodass es nacher immernoch gut aussieht?

mfg.

nils2771989

BeitragMi, Mai 14, 2008 22:47
Antworten mit Zitat
Benutzer-Profile anzeigen
@ the FR3AK
Eine verbesserung erhält man z.b. wenn man nicht bei jedem Rendern alle Seiten der Cubemap macht, sondern nur eine( oder zwei)...also würde dann die Cubemap alle 6 frames komplett erneuert werden.
Das würde das schonmal schneller machen...

Dann kann man auch noch dafür sorgen, dass ein Bild für die Cubemap einfach nur alle 2 oder drei Frames gerendert wird.

Mfg
Nils
Schummle nicht, aber spiele nach eigenen Regeln.
Sei nicht verrückt, sondern einfach nur wahnsinnig.
Sei nicht böse, führ nur nichts Gutes im Schilde.
Verändere dich nicht, bleib immer anders.

the FR3AK

BeitragMi, Mai 14, 2008 23:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Dann kann man auch noch dafür sorgen, dass ein Bild für die Cubemap einfach nur alle 2 oder drei Frames gerendert wird.


Das mache ich auch schon nur kommt es dann zu dem Problem das es jeden 2ten Frame einen Ruckler gibt...also das es dort kurz langsamer wird und dann wieder normal.
 

INpac

BeitragDo, Mai 22, 2008 15:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Redern in die Texture sollte bei einer nicht zu großzügig dimensionierten Cubemap-Texture mit VideoRAM-Modus aber nicht all zu lange dauern

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group