single suface Problem

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

coolo

Betreff: single suface Problem

BeitragDo, Jan 31, 2008 20:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Tach auch,
Haute Mittag wollte ich meinem Strategie Spiel eine Singel suface technik "beibrngen". Funktioniert ja schon, nur da gibts 2 Probleme:
1. Die fpas liegen bei 45 statt 60
2.Man sieht ein Flackern.
Pic:
user posted image
Code: [AUSKLAPPEN]

For x=1 To 20
   For z=1 To 20
      cube3=CreateCube()
      PositionEntity cube3,x*2,0,z*2
      EntityColor cube3,Rand(1,110),200,0
      ;EntityType cube3,2
      AddToSurface(cube3,surf,cube2)
   Next
Next

For x=0 To 20
   For z=0 To 20
      If x=0 Or x=20 Or z=0 Or z=20 Then
         ;Erzeugt die Rand cubes
         cube3=CreateCube()
         PositionEntity cube3,x*2+0.1,0,z*2+0.1
         EntityColor cube3,90,180,255
         EntityType cube3,2
         MoveEntity cube3,0,1,0
         EntityPickMode cube3,2
         AddToSurface(cube3,surf,cube2)
         cube3=CreateCube()
         PositionEntity cube3,x*2+1,0,z*2+0.1
         EntityColor cube3,90,180,255
         EntityType cube3,2
         MoveEntity cube3,-0.9,0,0
         EntityPickMode cube3,2
         AddToSurface(cube3,surf,cube2)
      Else
         ;erzeugt die Felder
         cube3=CreateCube()
         PositionEntity cube3,x*2,0,z*2
         EntityColor cube3,Rand(1,110),200,0
         EntityType cube3,2
         EntityPickMode cube3,2
         AddToSurface(cube3,surf,cube2)
      EndIf
   Next
Next
HideEntity cube3

Function AddToSurface(mesh, surf,singlesurfaceentity)
   Local vert[2]
   For s = 1 To CountSurfaces(mesh)
      surface = GetSurface(mesh,s)     
      For i = 0 To  CountTriangles(surface)-1
         For i2 = 0 To 2
            oldvert = TriangleVertex(surface,i,i2)
            TFormPoint VertexX(surface,oldvert),VertexY(surface,oldvert),VertexZ(surface,oldvert), mesh,singlesurfaceentity
            vert[i2] = AddVertex(surf,TFormedX(),TFormedY(),TFormedZ(),VertexU(surface,oldvert),VertexV(surface,oldvert))
         Next
         AddTriangle(surf, vert[0], vert[1], vert[2])
      Next
   Next
End Function
[/code]
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project!
"Eigenzitate sind nur was für Deppen" -Eigenzitat
 

Dreamora

BeitragDo, Jan 31, 2008 21:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würd sagen deine Add Funktion ist gebuggt.
Versucht sie testweise mit der logischen Lösung -> AddMesh zu ersetzen?
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

coolo

BeitragDo, Jan 31, 2008 21:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke fürn Tipp werds versuchen.

Edit: Das flackern ist weg, aber die niedrige Frameanzahl bleibt noch, aber genau das wollte ich verhindern
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project!
"Eigenzitate sind nur was für Deppen" -Eigenzitat

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDo, Jan 31, 2008 21:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Da die Map aus verzerrten Quads besteht, würde ich diese einmal zeichnen und den Rest mit der Bewegung der Camera machen. Deine Mauskollisions und ähnliches müsstest du aber denoch selbst errechnen.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

Dreamora

BeitragDo, Jan 31, 2008 21:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Das liegt aber nicht an dem Code das die FPS so im keller sind. das sind 5000 polygone, das kann selbst eine intel witzkarte noch handeln.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Noobody

BeitragDo, Jan 31, 2008 21:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Liegt es vielleicht daran, dass er jede Menge Cubes erstellt, diese zur Surface hinzufügt, aber nachher nicht mehr löscht?
Das erklärt die niedrigen FPS, da er ja jede Menge Entitys rumschwirren hat, und das Flackern, da die Cubes an der selben Position liegen wie die erstellten Triangles auf der Surface.
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun
 

Dreamora

BeitragDo, Jan 31, 2008 21:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich ging / gehe davon aus, dass die danach freigegeben werden. Ansonsten wärs klar, das wären 401 surfaces alleine davon, wenn man texturierung hinzufügt wirds noch bedeutend übler.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

coolo

BeitragFr, Feb 01, 2008 12:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Das flackern habe ich ja durch das löschen wegbekommen, aber die niedrigen fps Zahlen bleien noch, aus welchem Grund auch immer.
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project!
"Eigenzitate sind nur was für Deppen" -Eigenzitat
 

Dreamora

BeitragFr, Feb 01, 2008 13:05
Antworten mit Zitat
Benutzer-Profile anzeigen
vermutlich mit dem restlichen Zeug das du machst oder dem Scene Setup
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

coolo

BeitragFr, Feb 01, 2008 13:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok hab den Fehler rausgefunden(oder sdie Fehler):
Erstens hab ich entitypickmode rausgegeben und ich habe jeden Cube 2 Mal gehabt, also war diese Schleife zuviel:

Code: [AUSKLAPPEN]
For x=1 To 20
   For z=1 To 20
      cube3=CreateCube()
      PositionEntity cube3,x*2,0,z*2
      EntityColor cube3,Rand(1,110),200,0
      ;EntityType cube3,2
      AddToSurface(cube3,surf,cube2)
   Next
Next


Danke für eure Hilfe
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project!
"Eigenzitate sind nur was für Deppen" -Eigenzitat

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group