Grundlegende Fragen
Übersicht

SanguisBetreff: Grundlegende Fragen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 ![]() |
||
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() MfG |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
Sanguis |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
nein absolut nicht. Zeig mal mehr code. Vermutlich lädst du die szene bei jedem durchgang neu oder ähnliches. | ||
Sanguis |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich hab 500fps, allerdings kann ich den cube nicht sehen | ||
Sanguis |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Mh.. und was mach ich nu?
Ich kann ihn sehen, hab aber nur 7fps.. *sfz* |
||
Sanguis |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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.HydeNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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) | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group