Grundlegende Fragen

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

Sanguis

Betreff: Grundlegende Fragen

BeitragMo, Mai 22, 2006 20:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Guten Abend,
nachdem ich es jetzt endlich gebacken bekommen habe einige Meshes zu erstellen bei denen auch die Textur vernünftig angezeigt wird, wollte ich eingen komplexeren Raum erstellen. Das erstellen ist auch nicht unbedingt das Problem, eher die Anzeige. Sind normale Meshes im b3d Format zu groß um sie mit b3d zu laden? Gibt es da alternativen? Denn, ich sah erstmal nur eine Wand des Raumes. Soweit so gut, dachte ich mir ich baue das hier ein:

Code: [AUSKLAPPEN]
RotateEntity camera,EntityPitch(camera)+MouseYSpeed(),EntityYaw(camera)-MouseXSpeed(),0


So dachte ich, das ich sehen könnte wo im Raum ich mich mit der Kamera befinde.. oder ob ich überhaupt im Raum drin bin. Kann ja auch sein das ich eine Wand von aussen sehe. Jetzt ist aber das Problem, das bei der kleinsten Mausbewegung das Bild ein oder zwei Frames rutscht.. und dann war es das. Alles steht still, das Programm reagiert nicht mehr auf Mausbewegungen.

Wie muss ich bitte (mit dem 3D World Studio) einen einfachen Raum machen (bisher einfach nur ein hohler Würfel mit Texturen) damit er flüssig mit der Kamera "durchflogen" werden kann?

Dann noch etwas anderes.. bisher bin ich eher Objektorientierte Sprachen wie Java oder C++ (und ab und an Delphi) gewohnt. Meine QBasic Zeit ist lang her.. damit hörte ich auf als ich von Win 3.11 auf Win95 umstieg *g*
Deshalb frage ich mich nun, ob man verschieden Funktionen in andere "Klassen" auslagern kann die man irgendwie includieren kann? Das ist halt für die Übersichtlichkeit besser, wenn ich die Klassen in verschiedene Dateien aufsplitten kann. Gibt es irgend ein Konzept der Vererbung von Objekt Instanzen?

Danke schonmal fürs bisher lesen und eventuelle Hilfe Smile

5k41

BeitragMo, Mai 22, 2006 20:42
Antworten mit Zitat
Benutzer-Profile anzeigen
also zu deinem camera problem: nimm turnentity, rotateentity dreht in einem absolouten winkel!
objekt orientiert ist BB kein bisschen, desshalb gibt es nur die möglcihkeit datein auszulagern (auch als .bb speichern) und dann per Include einzubinden!
Eine Klassenalternative gibt es wie gesagt zwar nicht, aber eine zu strukturen sie nennen sich in BB Types! Informier dich einfach mal ein bisschen Wink

MfG
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
 

Sanguis

BeitragMo, Mai 22, 2006 20:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, damit lässt sich das ganze schon drehen.. allerdings Ruckelt das trotzdem tierisch (auch wenn nicht mehr ganz so) und die Texturen flackern irgendwie.

Und das, wo ich eigentlich einen guten Rechner habe. Nicht unbedingt high end.. aber dafür sollte es definitiv reichen *g*
 

Sanguis

BeitragMo, Mai 22, 2006 21:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, ich habe jetzt mal nen FPS Counter reingepackt.. und der sagt mir, das ich.. egal was ich lade (ob nu kleinen Würfel oder großen Raum) nur zwischen 7-9 FPS habe.
Das kann doch nicht angehen, oder?
 

coldie

BeitragMo, Mai 22, 2006 21:45
Antworten mit Zitat
Benutzer-Profile anzeigen
nein absolut nicht. Zeig mal mehr code. Vermutlich lädst du die szene bei jedem durchgang neu oder ähnliches.
 

Sanguis

BeitragMo, Mai 22, 2006 21:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Zumindest hab ich nu gemerkt das ich ganze 3FPS mehr habe wenn ich die Auflösung verkleinere.. *g*

Also, hier der Code:

Code: [AUSKLAPPEN]
Graphics3D 800,600
SetBuffer BackBuffer()

camera=CreateCamera()

PositionEntity camera,0,100,-100

drum=LoadMesh("arena\arena1.b3d")
PositionEntity drum,0,0,-1900

WireFrame(0)
UpdateWorld
RenderWorld

While Not KeyDown( 1 )

RotateEntity camera,EntityPitch(camera)+MouseYSpeed(),EntityYaw(camera)-MouseXSpeed(),0

  ;FPS
  time# = MilliSecs()
  If time# - oldtime# <> 0 Then FPS# = Int(1000 / (time# - oldtime#))
  If FPS# = 0 Then FPS# = 1
  oldtime# = MilliSecs()

  RenderWorld

  Text 0, 0,  "FPS = " + fps#
   
Flip 0
Wend
End
 

coldie

BeitragMo, Mai 22, 2006 21:57
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm das einzige was mir auffällt:
Ich hab renderworld und updateworld noch nie ausserhalb der Hauptschleife gesehen.
Warum machste das?

Achja, falls es doch am model liegt tausch mal die zeile
Code: [AUSKLAPPEN]
drum=LoadMesh("arena\arena1.b3d")

durch
Code: [AUSKLAPPEN]
drum=createsphere()

aus, dann müssten die fps steigen (falls es am model liegt)
 

Sanguis

BeitragMo, Mai 22, 2006 22:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Huch.. das war wohl ein Fragment aus älteren Experimenten das ich vergessen hab zu löschen. Hab ich jetzt mal getan, ändert aber leider auch nichts am Ergebniss.. *sfz*
 

coldie

BeitragMo, Mai 22, 2006 22:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Es liegt vermutlich am model. Ich hab eins von mir mit ca.4000 polygonen getestet (hab nur das model und die kamera einbischen verschoben damit mans sieht) und hatte durchgehend 500fps
 

Sanguis

BeitragMo, Mai 22, 2006 22:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja wie gesagt, ich habs grade auch mal mit nem ganz kleinen Modell getestet. Einfach nur ein Cube.. zwar vorgeredert, aber eben nur ein Cube Mesh.. auch ohne Textur. Keine Änderrung.
Gibt es viell. irgendwelche Probleme mit verschiedenen Grafikkarten? (Radeon 9600)
 

coldie

BeitragMo, Mai 22, 2006 22:22
Antworten mit Zitat
Benutzer-Profile anzeigen
kannst du mal ein model uploaden (wenigstens den cube)?
Oder einfacher: Mach das
Zitat:
Achja, falls es doch am model liegt tausch mal die zeile
Code: [AUSKLAPPEN]

drum=LoadMesh("arena\arena1.b3d")
 


durch

Code: [AUSKLAPPEN]

drum=createsphere()
 


aus, dann müssten die fps steigen (falls es am model liegt)


wenn es dann normal läuft liegts wohl definitiv an deinen models (falsch exportiert oder wie auch immer)
  • Zuletzt bearbeitet von coldie am Mo, Mai 22, 2006 22:33, insgesamt einmal bearbeitet
 

Sanguis

BeitragMo, Mai 22, 2006 22:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Also den ohne Texturen hatte ich wieder gelöscht.. aber hier einer mit Textur und Licht drüber, damit man ihn auch sehen kann.. *g*

Da hab ich auch nur maximal 9FPS

www.gruftiradio.de/cube.rar <-
 

coldie

BeitragMo, Mai 22, 2006 22:54
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab 500fps, allerdings kann ich den cube nicht sehen
 

Sanguis

BeitragMo, Mai 22, 2006 22:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Mh.. und was mach ich nu?
Ich kann ihn sehen, hab aber nur 7fps.. *sfz*
 

Sanguis

BeitragMo, Mai 22, 2006 23:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich denk mal, am Mesh kanns nicht liegen.
Ich hab das Programm jetzt einfach mal gestartet ohne irgendein Mesh zu laden und habe dadurch auch nicht mehr FPS.

Kann es vielleicht sein das die Berechnung der FPS irgendwie falsch ist? Wobei das ruckeln ja trotzdem da ist...

Mr.Hyde

Newsposter

BeitragMo, Mai 22, 2006 23:21
Antworten mit Zitat
Benutzer-Profile anzeigen
lass mal das 0 beim Flip weg.. das kann (muss nicht bei mir läuft es problemlos nach deiner Frameanzeige bei 500 Frames) Probleme verursachen.. aber dass etwas dadurch ruckelt hab ich auch noch nie gehört. Hast de ne 3d Karte?
BBP News RSS | Chaos Interactive | Watanien 2 Screens, Infos und Download | Watanien 2 Worklog | PuzzleMasters
http://abgeordnetenwatch.de - http://www.regierungs-beratung.de - Der Regierung auf die Finger schauen
 

Sanguis

BeitragMo, Mai 22, 2006 23:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn ich die 0 weglasse habe ich ca. 1-2 FPS weniger.. Das ist aber auch alles an Unterschied.

3D Karte? Naja ne normale Radeon 9600 Grafikkarte. Sonst nichts spezielles.. kein SLI oder so.
 

coldie

BeitragMo, Mai 22, 2006 23:33
Antworten mit Zitat
Benutzer-Profile anzeigen
schonmal daran gedacht das was im hintergrund läuft was so viel power zieht? Oder das du die Priorität von b3d auf niedrig gestellt hast. Oder das allgemein mit b3d bei dir was nicht stimmt. Ansonsten fällt mir nix mehr ein.
 

Sanguis

BeitragMo, Mai 22, 2006 23:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Also im Hintergrund läuft nur Mozilla und Winamp.. ich denke die können die Leistung nicht derart runterziehen.

Und wo kann ich die Priorität von B3D verändern? *verwirrt*

Naja eine Neuinstallation wollte ich eigentlich vermeiden. Wenn aber sonst niemand eine Idee hat, wird mir wohl nicht viel anderes übrig bleiben *sfz*
 

coldie

BeitragMo, Mai 22, 2006 23:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Du führst dein prog aus, drückst strg+alt+entf dann schaust du nach ide.exe und klickst mit der rechten maustaste drauf (achtung!! leg die priorität höchstens auf höher als normal, sonst kann der pc abkacken)

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group