WasserMesh

Übersicht BlitzBasic Blitz3D

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

martin_moehler

Betreff: WasserMesh

BeitragMi, Apr 08, 2009 15:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
ich versuche mich gerade daran Wellen auf einem Wassermesh zu animieren. Zuerst habe ich es mit nem Terrain und ModifyTerrain() versucht, das geht der Rechner bei nem Terrain von 256,256 schon langsam in die Knie. Also möchte ich ein Mesh erstellen, dass weniger Triangles hat.
Wenn ich das Terrain in Tiles con 32 * 32 unterteile, wieviele Triangles könnte ich bzw. sollte ich maximal machen ohne das der durchschnittliche PC dann anfängt zu stocken?

Vielen Dank im Voraus
Gruß Martin
Intel Core 2 quad 2.3 Ghz, Nvidea GeForce GT 120, 4GB Arbeitsspeicher, Vista 64 bit

Nicdel

BeitragMi, Apr 08, 2009 15:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Ausprobieren...
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7
 

martin_moehler

BeitragMi, Apr 08, 2009 15:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann weiß ichs aber nur von meinem PC Wink
Intel Core 2 quad 2.3 Ghz, Nvidea GeForce GT 120, 4GB Arbeitsspeicher, Vista 64 bit
 

Tritium

BeitragMi, Apr 08, 2009 15:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann stells hier rein mit der Bitte, dass das andere Mal ausprobieren und Dir sagen, wie schnell es auf ihrem PC läuft. Musst vorher natürlich z.B. eine fps-Anzeige einbauen, um Vergleichswerte zu erhalten Wink

Der_Schläfer

BeitragMi, Apr 08, 2009 21:22
Antworten mit Zitat
Benutzer-Profile anzeigen
kannst du das ganze nicht so proggen dass man irgendwo eine variable
Code: [AUSKLAPPEN]
const water_subdiv=...

hat?

dann könntest du das das ganze nämlich erstmal fertig proggen und anschliessend mit der trisrendered() funktion richtig einstellen (also die sichtweite, ab wann die wasserstücke ausgeblendet werden sollen, wieviel unterteilungen du hast, etc.)

so 20000 gerenderte tris dürften von der grafikkarte drinliegen (soviel ich weiss) und dann natürlich schauen dass die cpu möglichst nicht ausgelastet ist

(korrigiert mich wenn ich mist erzähle)

Silver_Knee

BeitragMi, Apr 08, 2009 21:32
Antworten mit Zitat
Benutzer-Profile anzeigen
https://www.blitzforum.de/foru...p?p=327843

Warum das Rad 2 mal erfinden?
 

martin_moehler

BeitragMi, Apr 08, 2009 22:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich will das Rad nochmal erfinden, damit ich mich mit dem Kram auskenne. Wenn man sich sowas selber programmiert dann versteht man den Code am besten Wink. Aber den Thread hatte ich auch schon gefunden!
Danke für die Antworten!
Gruß Martin
Intel Core 2 quad 2.3 Ghz, Nvidea GeForce GT 120, 4GB Arbeitsspeicher, Vista 64 bit
 

martin_moehler

BeitragDo, Apr 09, 2009 12:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Könnt Ihr euch bitte das mal ansehen und mir die FPS sagen und bei wieviel Triangles Ihr die hattet. Also die bestmöglichste einstellung bei euch segen. Und natürlich auch was Ihr davon haltet Wink
Gruß Martin

Code: [AUSKLAPPEN]

Graphics3D 1024,768

SetBuffer BackBuffer()


Global Timer = CreateTimer(70)

Global Cam = CreateCamera()
   
Dim Vertex(0,0,3)
Global Surf
Global VertSqr, Temp

; Da das Tile quadratisch ist, ergeben sich folgende sinnvolle Trianglezahlen:
;2, 8, 18, 32, 50, 72, 98, ..., falsche Zahlen werden allerdings angepasst.
Global Water = CreateWaterMesh (32,200) ; An der Zweiten Zahl rumspielen!!!

EntityColor Water,255,255,255

AmbientLight 20,20,150

Piv = CreatePivot()
EntityParent Cam,Piv
MoveEntity Cam,0,25,-30
PointEntity Cam,Piv

Milli = MilliSecs()
While Not KeyHit(1)
   
   TurnEntity Piv,0,.1,0
   
   UpdateWaves Water
   
   RenderWorld
   Color 250,250,250
   Text 10,20, "Water W/D: " + MeshWidth(Water) + "*" + MeshDepth(Water)
   Text 10,40, "Triangles: " + CountTriangles(Surf)
   
   If Not (MilliSecs()-Milli) = 0 Text 10,0, "FPS: " + 1000/(MilliSecs()-Milli)
   Milli=MilliSecs()
   Flip 0
   
Wend

Function UpdateWaves(Mesh)
   temp = temp + 1
   For i = 0 To VertSqr
      For j = 0 To VertSqr
         VertexCoords Surf,Vertex(i,j,0),Vertex(i,j,1),(Sin(Vertex(i,j,1)*20+temp)+Sin(Vertex(i,j,3)*20+1+temp)),Vertex(i,j,3)
      Next
   Next
End Function

Function CreateWaterMesh(Width=32,Triangles = 32)

Local Mesh, Rows = Sqr(Triangles/2)

   Mesh = CreateMesh(Piv)
   
   VertSqr = Rows
   Dim Vertex(Rows,Rows,3)
   
   Surf = CreateSurface(Mesh)
   For x = 0 To Rows
      For y = 0 To Rows
         Vertex(x,y,0)=AddVertex (Surf,x*(Width/Rows),0,y*(Width/Rows))
   
         Vertex(x,y,1)=VertexX(Surf,Vertex(x,y,0))
         Vertex(x,y,2)=VertexY(Surf,Vertex(x,y,0))
         Vertex(x,y,3)=VertexZ(Surf,Vertex(x,y,0))
      Next
   Next
   For x = 0 To Rows-1
      For y = 0 To Rows-1
         v1 = Vertex(X,Y,0)
         v2 = Vertex(X,(Y+1),0)
         v3 = Vertex((x+1),Y,0)
         v4 = Vertex((X+1),(Y+1),0)

         AddTriangle(Surf,v1, v2, v4)
         AddTriangle(Surf,v4,v3,v1)
      Next
   Next
   
   MoveEntity Mesh,-MeshWidth(Mesh)/2,0,-MeshDepth(Mesh)/2
   
   If MeshWidth(Mesh) <> Width Then
      scl# = Width/MeshWidth(Mesh)
      ScaleMesh Mesh,scl,1,scl
   End If
Return Mesh
End Function
Intel Core 2 quad 2.3 Ghz, Nvidea GeForce GT 120, 4GB Arbeitsspeicher, Vista 64 bit

Nicdel

BeitragDo, Apr 09, 2009 12:55
Antworten mit Zitat
Benutzer-Profile anzeigen
200 Tris => 780 FPS
392 Tris => 720 FPS
800 Tris => 650 FPS
1568 Tris => 520 FPS
2048 Tris => 480 FPS

Wenn die Tris höher als 2048 waren, war nichts mehr zu sehen. Sonst ist das ein schöner Effekt, nur der FPS-Zähler ist blöd, ich musste ihn erstzten. System in der Signatur.
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7

Chester

BeitragDo, Apr 09, 2009 13:32
Antworten mit Zitat
Benutzer-Profile anzeigen
von 200 bis 2048 Triangles immer bei 1200 FPS(mit Fraps, deine FPS Anzeige geht nicht höher als 1000)

Bin dann mal mit der Größe hochgegangen, dann gehen mehr Triangles:

Größe: 126
15842 Triangles: 580 Fps
31752 Triangles: 340 Fps

Größe: 179:
64082 Triangles: 175 Fps

Größe 253:
(nicht quadratisch)
128018 Triangles: 80 Fps

Alles was größer war: MAV

Mein System: Q6600, Nvidia 7900 GS, 3.5 Gb Ram, Windows XP
 

martin_moehler

BeitragDo, Apr 09, 2009 21:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke erst mal für die Testberichte Wink Sieht ja gar nicht so schlecht aus. Ich freu mich aber auch wenn noch ein paar mehr kommen!
LG Martin
Intel Core 2 quad 2.3 Ghz, Nvidea GeForce GT 120, 4GB Arbeitsspeicher, Vista 64 bit
 

martin_moehler

BeitragDi, Apr 21, 2009 19:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab jetzt Cubemapping hinzugefügt. Also braucgh ich wieder neue Zahlen von euch.
Danke fürs testen im Voraus.
Mit F1-F8 könnt ihr die Trianglezahlen ändern!
Gruß Martin
Intel Core 2 quad 2.3 Ghz, Nvidea GeForce GT 120, 4GB Arbeitsspeicher, Vista 64 bit

AnniXa

BeitragDi, Apr 21, 2009 20:15
Antworten mit Zitat
Benutzer-Profile anzeigen
das programm? ;D
|moonForge|
Ich bin Pokémon Meisterin seit 1998!
 

martin_moehler

BeitragDi, Apr 21, 2009 20:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Ups... ^^
https://www.blitzforum.de/upload/file.php?id=5366[/code]
Intel Core 2 quad 2.3 Ghz, Nvidea GeForce GT 120, 4GB Arbeitsspeicher, Vista 64 bit

AnniXa

BeitragDi, Apr 21, 2009 20:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Unable to set screen mode.
da ich einen widescreen benutze, und das programm im fenster ausführen müste...
|moonForge|
Ich bin Pokémon Meisterin seit 1998!

ozzi789

BeitragDi, Apr 21, 2009 20:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Also bei meinem Widescreen (16:10) hats gefunkt

50 ~ 334
98 ~ 345
200 ~ 328
288 ~ 323
392 ~ 304
512 ~ 296
578 ~ 293
722 ~ 284

Sieht ganz nett aus, finde jedoch dass man das noch flotter hinkriegt Wink
(System siehe sig, @home)
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Nicdel

BeitragDi, Apr 21, 2009 20:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit Meinem Laptop (Intel Celeron M 1700 Mhz, 1 GB DDR2 RAM, VIA/S3G Unichrome 64 MB Grafikkarte) habe ich bei allen Triangezahlen ca. 20 FPS...
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7

grafe

BeitragDi, Apr 21, 2009 20:51
Antworten mit Zitat
Benutzer-Profile anzeigen
bei mir zeigt es wenn ich weit weg bin c.a. 60 fps an und ganz nah zeigt es 30 fps

edit:

bei mir sieht das cubemapping übrigens so aus:
user posted image

weis jemand warum das so ist??
  • Zuletzt bearbeitet von grafe am Di, Apr 21, 2009 20:58, insgesamt einmal bearbeitet

Nicdel

BeitragDi, Apr 21, 2009 20:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit dem Rechner in meiner Signatur sinds immer ca. 100. Im Wasser sieht man noch Cubemapränder.
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7
 

martin_moehler

BeitragDi, Apr 21, 2009 21:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die FPS
Hab noch was geändert. Die Cubefaces waren falsch eingestellt ^^
und jetzt läufts auch n bisschen schneller.
https://www.blitzforum.de/upload/file.php?id=5369
[/code]
Intel Core 2 quad 2.3 Ghz, Nvidea GeForce GT 120, 4GB Arbeitsspeicher, Vista 64 bit

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group