Wieviele Surfaces pro Mesh?

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

JPD

Betreff: Wieviele Surfaces pro Mesh?

BeitragDi, Aug 10, 2004 12:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

ich schon wieder Rolling Eyes ...

also. Ein Problem wurde jetzt gelöst. Das zweite währe folgendes:

Wieviele Surfaces kann ich pro Mesh verwenden. Ab wieviel Surfaces gibt mein Programm auf?

mfg JPD

ViciouS

BeitragDi, Aug 10, 2004 13:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Probiers doch einfach aus...
Wirst ja sehen, wanns nich mehr geht
Skaten ist scheisse...
Bilanz: 3 Knochenbrüche in 4 Jahren...
und es werden mehr Laughing

JPD

BeitragDi, Aug 10, 2004 14:31
Antworten mit Zitat
Benutzer-Profile anzeigen
So ... jetzt bin ich soweit, dass ich wenigstens mal meine Landschaft erkenne ... lol ... . Zum generieren der Mesh, welche 60x60 groß ist, braucht mein PC an die 30 Sekunden. Sad ... Liegts am Code?

PS: Ich hab mal n Bild hinzugefügt

Code: [AUSKLAPPEN]

WireFrame 0
mesh=CreateMesh()
surface1 = CreateSurface( mesh )
b = LoadBrush( "logo.bmp",48)
For MY = 1 To 60
For MX = 1 To 60
;                        X     Y                 Z
v1 = AddVertex(surface1, MX-1, hhh#(mx-1,my)   ,  MY  , 0, 0)
v2 = AddVertex(surface1, MX,   hhh#(mx,my)     ,  MY  , 1, 0)
v3 = AddVertex(surface1, MX,   hhh#(mx,my-1)   ,  MY-1, 1, 1)
v4 = AddVertex(surface1, MX-1, hhh#(mx-1,my-1) ,  MY-1, 0, 1)
AddTriangle surface1,v1,v2,v4
AddTriangle surface1,v4,v2,v3
UpdateNormals mesh
PaintSurface surface1,b
Next
Next


... hhh#(x,y) wurden vorher von der Heightmap ausgelesen
... was mach ich hier falsch? So lange kann es doch nicht dauern die Map zu generieren?
JPD

Jan_

Ehemaliger Admin

BeitragDi, Aug 10, 2004 14:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
UpdateNormals mesh
PaintSurface surface1,b

nach
Code: [AUSKLAPPEN]
next
next
between angels and insects

JPD

BeitragDi, Aug 10, 2004 14:34
Antworten mit Zitat
Benutzer-Profile anzeigen
ähm ... ja, das mit Update Normals schon ... ok ...

aber ich möchte ja pro Tile eventuell nachher ein anderes Surface z.B. surface(x) ...

wie mache ich das dann?

ui ... UpdateNormals lahmt alles zu! geladen in 100 ms! wow ... danke erstmal
 

Dreamora

BeitragDi, Aug 10, 2004 14:40
Antworten mit Zitat
Benutzer-Profile anzeigen
wozu brauchst du 1 Surface pro Quad? Das ist relativ ineffizient, versuchst du eine 2D Isoengine über den Weg zu erzeugen?
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Jan_

Ehemaliger Admin

BeitragDi, Aug 10, 2004 14:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein, er versucht ein 3D labyrinth!
between angels and insects

JPD

BeitragDi, Aug 10, 2004 14:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Das mit dem 3D-Labyrinth war nur zur Erklärung. Das mit der Isoengine kommt schon näher Very Happy ... Beispiel: MonsterTruckMadness Smile

Ja, bei ner Auflösung von 640,480,32,1 und ner Fläche von 120x120 und 10 verschiedenen Surfaces sehe ich schon die ersten wackler ... lol

Ich mach das so, weil die vorgefertigte Funktion "Heightmap" in Blitz3D kann ja leider keine einzelnen Tiles mit unterschiedlichen Texturen füllen.

Jetzt steh ich wieder vor ner Wand ... mensch, wie machen die das nur?

http://www.jpdeutschmann.de/mesh1.jpg 8)

JPD

BeitragDi, Aug 10, 2004 14:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

mesh=CreateMesh()
Dim surface(10)
Dim b(10)

For K = 1 To 10
surface(K) = CreateSurface( mesh )
Next

b(1) = LoadBrush( "logo.bmp",48)
b(2) = LoadBrush( "test.bmp",48)
b(3) = LoadBrush( "test.bmp",48)
b(4) = LoadBrush( "test.bmp",48)
b(5) = LoadBrush( "test.bmp",48)
b(6) = LoadBrush( "test.bmp",48)
b(7) = LoadBrush( "test.bmp",48)
b(8) = LoadBrush( "test.bmp",48)
b(9) = LoadBrush( "test.bmp",48)
b(10) = LoadBrush( "test.bmp",48)

x = 1

For MY = 1 To 120
For MX = 1 To 120

c = Rand(1,10)

;                        X     Y                  Z
v1 = AddVertex(surface(c), MX-1, hhh#(mx-1,my)   ,  MY  , 0, 0)
v2 = AddVertex(surface(c), MX,   hhh#(mx,my)     ,  MY  , 1, 0)
v3 = AddVertex(surface(c), MX,   hhh#(mx,my-1)   ,  MY-1, 1, 1)
v4 = AddVertex(surface(c), MX-1, hhh#(mx-1,my-1) ,  MY-1, 0, 1)

AddTriangle surface(c),v1,v2,v4
AddTriangle surface(c),v4,v2,v3

PaintSurface surface(c),b(c)

Next
Next

UpdateNormals mesh


so füll ich grad meine Flächen per Zufall ... ziehmlich aufwendig ... lol
 

Dreamora

BeitragDi, Aug 10, 2004 15:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Das kann man auch machen ohne für jedes Quad nen eigenes Surface zu erzeugen.

Gleiche Textur = Gleiche Surface

Und wenn man mehrere kleine Texturen auf eine grosse Textur packt ( 4 oder 16 ) reduziert sich das ganze nochmal ziemlich beträchtlich
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

JPD

BeitragDi, Aug 10, 2004 15:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich habe es mal ausgerechnet. Ich komm auf ca 64 Texturen. Ich hätte in dem Sinn dann 64 Surfaces und 64 Brushes. Das müsste doch machbar sein?

Nein, ich hätte nicht 100 Surfaces gewählt, wenn ich ne Mesh mit 10x10 hätte. Ich hätte dann nur soviel Surfaces wieviel ich Texturen habe.

Weiß denn keiner, wie die Micro**'ftler das so machen in ihren ältereren Spielen?

Nun ja, und das mit einer Bitmap welche allle texturen enthält und per UV-Map angesteuert werden. Das hat zwar funktioniert, aber wenn jetzt neben ner weißen Fläche ne schwarze war, hatte ich auf meiner weißen fläche am Rand schwarz. Hat nichts mit Clamp U / V zu tun.

Ziehmlich kompliziert. Ich hab auch schon im Blitz3D Code-Archiv gewühlt. Habe auch Terrain Generatoren gefunden, nur nicht ISO-ähnlich.

Wink JPD
 

Dreamora

BeitragDi, Aug 10, 2004 15:23
Antworten mit Zitat
Benutzer-Profile anzeigen
64 Texturen hmm je nachdem wie gross die sind ( 64x64? ) kannst du die sogar auf nur 1 512x512 Textur packen womit du nur 1 einzige Surface hättest Smile ( solange du unter 129*129 Vertices bzw. 32768 Triangles bleibst ist das kein Problem )
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

JPD

BeitragDi, Aug 10, 2004 15:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, 64x64 Pixel. Größe der Map: Zur Zeit 129x129 Vertices. (128x128 Tiles) ...

Ja, das mit dem einen Surface hab ich mir auch schon überlegt. Wie gesagt, ich habe dann Probleme, mit dem Nachbartile Confused ...

nun ja, 64 Surfaces sollte glaub Blitz3D aushalten? Dann kommen noch n paar Objekte wie Bäume und Co hinzu, n kleines Fahrzeug ... Very Happy

Noch was wichtiges: Kann ich denn Blitz3D sagen, Trianglen die weiter weg als sagen wir 300 sind, sollen erst gar nicht gezeichnet werden. Weil ich verwende dann die Fog-Funktion, dann müsste Blitz3D wieder etwas mehr FPS bekommen.

JPD

BeitragDi, Aug 10, 2004 15:50
Antworten mit Zitat
Benutzer-Profile anzeigen
ok. hab die Befehle jetzt gefunden. Also probiers jetzt mal aus... Danke erstmal Very Happy

mfg JPD 8)

Markus2

BeitragDi, Aug 10, 2004 19:16
Antworten mit Zitat
Benutzer-Profile anzeigen
PaintSurface gehört nicht in die Schleife 120x120 *GRR*

b(1) = LoadBrush( "logo.bmp",48)
b(2) = LoadBrush( "test.bmp",48)
b(3) = LoadBrush( "test.bmp",48)
b(4) = LoadBrush( "test.bmp",48)
b(5) = LoadBrush( "test.bmp",48)
b(6) = LoadBrush( "test.bmp",48)
b(7) = LoadBrush( "test.bmp",48)
b(8) = LoadBrush( "test.bmp",48)
b(9) = LoadBrush( "test.bmp",48)
b(10) = LoadBrush( "test.bmp",48)

For K = 1 To 10
surface(K) = CreateSurface( mesh,b(k) )
Next

JPD

BeitragDi, Aug 10, 2004 19:22
Antworten mit Zitat
Benutzer-Profile anzeigen
ja, hab den Fehler bemerkt Smile ... kann auch in ner extra schleife stehen lol ... danke für den Tip

PS: Weiß eigentlich jemand, warum von GMAX keinen Code kriegt, auch wenn man sich registriert? Was verwendet ihr für Tools zum 3D-modelieren? Wink
 

Dreamora

BeitragDi, Aug 10, 2004 19:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Ach spinnt das registrierungssystem von GMAX immer noch?

Ich verwende Silo3D ( früher Wings3D bzw. Milkshape3D )
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

JPD

BeitragDi, Aug 10, 2004 19:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, anscheinend spinnt das dann noch. Hoffnungslos an den Code zu kommen ... lol

ja, Wings3D hab ich zur Zeit drauf, echt mühsam ... hat man da nen UV-Editor?

Markus2

BeitragDi, Aug 10, 2004 19:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du keine Anim brauchst dann ist Cinema 4D ce6 das beste
und billigste wo gibt Smile

JPD

BeitragDi, Aug 10, 2004 19:49
Antworten mit Zitat
Benutzer-Profile anzeigen
mal ne Frage. Cinema4D kenn ich. Ich brauch nur nen kleinen billigen Modeler. Egal, kann man mit Wings3D Mappings machen? Also UV-Map ???

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group