Problem mit meiner 3d-basierten GUI

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Miridian

Betreff: Problem mit meiner 3d-basierten GUI

BeitragFr, Jun 08, 2007 14:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo.

Ich programmiere schon seit längerem an einem mmorpg. Und habe angefangen eine 3d basierte gui zu schreiben.
Jetzt habe ich ein großes problem entdeckt. Man sieht es auf diesem ingamevideo link
Es sollte ein graues Viereck zu sehen sein und eine landschaft im hintergrund.
Das Viereck ist ein Frame und besteht aus 2 Polygonen.
Das Problem ist, dass es so zittert. Confused
Woran könnte es liegen?

Ich hoffe das ihr mir helfen könnt.

mfg Miridian

Puccini

BeitragFr, Jun 08, 2007 15:55
Antworten mit Zitat
Benutzer-Profile anzeigen
also bei mir zittert nix in deinem video!

^^

das zittern kann daher kommen das du wahrscheinlich CLS verwendest!

wenn du normal
updategame
renderworld
flip

benutzt sollte es eigentlich net flackern!
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM
www.ragesoft.de
Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39

Lunatix

BeitragFr, Jun 08, 2007 16:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein Puccini ganz sicher nicht.

Die frage ist eher: benutzt du Floats? denn diese können da sehr beeinträchtigend wirken. Gut wäre eventuell mal zu wissen, wie das ganze erstellt und positioniert wird...
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...

Miridian

BeitragFr, Jun 08, 2007 16:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier ein Teil der Funktion:

Code: [AUSKLAPPEN]
Function CreateFrame.TFrame(breite%,höhe%,bild$="", frames=0,modus=0)

frm.TFrame = New TFrame
frm\ent = CreateMesh()
surf = CreateSurface(frm\ent)
v0 = AddVertex(surf,0,0,0,-1,0)
v1 = AddVertex(surf,0,0,1,-1,-1)
v2 = AddVertex(surf,1,0,0,0,0)
AddTriangle surf,v0,v1,v2
v00 = AddVertex(surf,0,0,1,-1,-1)
v10 = AddVertex(surf,1,0,1,0,-1)
v20 = AddVertex(surf,1,0,0,0,0)
AddTriangle surf,v00,v10,v20
UpdateNormals frm\ent
RotateEntity frm\ent,-90,0,0

frm\breite = breite%
frm\höhe = höhe%
frm\x = 0
frm\y = 0
frm\img = bild
frm\act = True
GUI_entorder=GUI_entorder-1
frm\order = GUI_entorder

EntityParent frm\ent,GUI_camera
EntityOrder frm\ent,GUI_entorder
EntityFX frm\ent,1
NameEntity frm\ent, Handle(frm)   
Return frm

End Function


Puccini, hast du dir das video komplett angesehen?
Es zittert nur die ersten 2 sekunden nicht.
Wenn die kamera in bewegung kommt, fängt es an.

biggicekey

BeitragFr, Jun 08, 2007 16:33
Antworten mit Zitat
Benutzer-Profile anzeigen
setz die gui ganz am ende des programms direkt vor render world und update world.
#45 www.icekeyunlimited.de www.starcrusade.de
Gewinner BCC#17 !!! mit dotkiller
Nothing more to register - you've cleaned us out![/size]

Miridian

BeitragFr, Jun 08, 2007 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Verstehe nicht ganz was du meinst, biggicekey.
Sowas wie updategui() gibt es noch nicht.

Lunatix

BeitragFr, Jun 08, 2007 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Eins hab ich zu bemängeln: EIN surface reicht für die ganze Gui aus!

Versuche die Camera mal mit INTEGER werten zu drehen, nur zum testen... ansonsten könnte es natürlich auch an Kamera-einstellungen liegen, da bin ich mir aber nun nichtmehr sicher...
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...

Miridian

BeitragFr, Jun 08, 2007 16:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
EIN surface reicht für die ganze Gui aus!

Und dann alles auf ein surface malen?
Da ich noch nicht weiß was ich für effekte einbaue, nehme ich lieber für jedes objekt eine eigene fläche. So viel leistung kostet es ja nicht. oder? Rolling Eyes

Die kamera wird nur mit integerwerten gedreht Sad
 

Dreamora

BeitragFr, Jun 08, 2007 17:01
Antworten mit Zitat
Benutzer-Profile anzeigen
doch kostet ziemlich massiv leistung da dann für jedes element eine neue verbindung zur grafikkarte aufgebaut werden muss.

Resultat ist ziemlich lustig ... bei einigen tausend surfaces bricht nämlich die FPS ohne wirklich etwas einfach so ein ^^
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Miridian

BeitragFr, Jun 08, 2007 17:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Wird so ein frame nicht wie ein ganz normales mesh behandelt?
Ich meine ein modell im spiel hat tausende polygone und so eine gui wird höchsten 100 haben.

FreetimeCoder

BeitragFr, Jun 08, 2007 17:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Es geht nicht um mehrere Plolygone, Dremora meint verschiedene Surfaces. Das ist ein Unterschied. Ein Mesh, welches tausend Polygone hat, hat trotzdem nur ein Surface.
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte:
Dexterity Ball (100%)
Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz
(ehemals Uboot)
PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA
 

Dreamora

BeitragFr, Jun 08, 2007 18:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Genau

Es gibt 4 Dinge die elementar an der Performance ziehen wenn falsch genutzt:

1. Texturen: Sollten immer 2er Potenz und quadratisch sein. Viele Grafikkarten können zwar mit nicht quadratisch umgehen, sie werden dann jedoch bis zu 25% ineffizienter

2. Polygonanzahl: zu viele können schwächere karten schädigen, aber da muss mans schon recht übertreiben

3. Surfaces: hier kommt etwas zum tragen was bei vielen Karten problematisch ist, denn Intel Onboard als auch 200 / 300er Serie Karten von Nvidia und ATI/AMD werden einbrechen wenn ihrs damit übertreibt (je nach chip 1000 - 10000 surfaces)

4. Bone animierte objekte, da sie total auf der CPU gerechnet werden und auch aktualisiert werden wenn sie nicht in sicht sind!
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group