Seite 1 von 2

3D ENGINE

Verfasst: 07.08.2006 21:17
von a14xerus
Ich weiß, das das bestimmt schon hier mal angesproceh nwurde.. habe abernichts konkretes gefunden.
Und in die Hilfe habe ich auch nicht geguckt.
Deswegen:
Ich benutze die eingebaute 3d engine aus pb udn habe bisher folgenden code....
(bitte nihct lachen, mein 1. 3d code:)

Code: Alles auswählen

If InitEngine3D() = 0 : MessageRequester("Error", "Fehler bei der Initialation", #MB_OK|#MB_ICONERROR) : End : EndIf
If InitSprite() = 0 : MessageRequester("Error", "Fehler bei der Initialation", #MB_OK|#MB_ICONERROR) : End : EndIf 

If InitSound() = 0 : MessageRequester("Error", "Fehler bei der Initialation", #MB_OK|#MB_ICONERROR) : End : EndIf 
If InitMouse() = 0 : MessageRequester("Error", "Fehler bei der Initialation", #MB_OK|#MB_ICONERROR) : End : EndIf 
If InitKeyboard() = 0 : MessageRequester("Error", "Fehler bei der Initialation", #MB_OK|#MB_ICONERROR) : End : EndIf 

Enumeration
  #Camera_01
  
  #textur_boden
EndEnumeration
OpenScreen(800,600,32,"Game")

Add3DArchive("data",#PB_3DArchive_FileSystem)
LoadTexture(#textur_boden,"boden.jpg")

SetFrameRate(55)
FlipBuffers()

CreateCamera(#Camera_01,0,0,100,100)
AmbientColor(RGB(255,0,0))
Fog($C0C0C0,50,100,500)

Repeat
  ExamineMouse()
  ExamineKeyboard()
  
  RenderWorld()
  FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
noch pasiert da ja nichts, das ist mir klar, aber warum wird garnichst angezeigt... auch nicht das ambientcolor und der fog?
ich bin in dem gebiet totaler noob, und würde mich überjede antwort freuen. danke
p.s. hab auch schon in die hilfe geguckt, aber da is nur so ein riesgier code, der auchnoch eine include verwendet, wo ich übrhaupt nich durchblicke

Verfasst: 07.08.2006 21:21
von AND51
Was anderes nebenbei: Das hier:
a14xerus hat geschrieben:

Code: Alles auswählen

If InitEngine3D() = 0 : MessageRequester("Error", "Fehler bei der Initialation", #MB_OK|#MB_ICONERROR) : End : EndIf 
If InitSprite() = 0 : MessageRequester("Error", "Fehler bei der Initialation", #MB_OK|#MB_ICONERROR) : End : EndIf 

If InitSound() = 0 : MessageRequester("Error", "Fehler bei der Initialation", #MB_OK|#MB_ICONERROR) : End : EndIf 
If InitMouse() = 0 : MessageRequester("Error", "Fehler bei der Initialation", #MB_OK|#MB_ICONERROR) : End : EndIf 
If InitKeyboard() = 0 : MessageRequester("Error", "Fehler bei der Initialation", #MB_OK|#MB_ICONERROR) : End : EndIf 
könntest du so einstampfen:

Code: Alles auswählen

If InitEngine3D()*InitSprite()*InitSound()*InitMouse()*InitKeyboard() = 0
     MessageRequester("Error", "Fehler bei der Initalisierung!", #MB_ICONERROR)
EndIf
Der Clou: Du multiplizierst alle Rückgabewerte. Sollte ein Rückgabewert 0 sein ergibt das gesamte Ergebis null.
Mathematisch gesehen: Null mal irgendeine-Zahl ergibt immer null.

Verfasst: 07.08.2006 21:27
von a14xerus
cooler tipp, das iwas mal 0 immer null ist, wusste ich ja, aber ich bin nie auf die idee gekommen das man die rückgabewerte multiplizieren kann ;-) :allright:
THX
aber meien frage ist damit noch nicht beantwortet

Verfasst: 07.08.2006 21:33
von #NULL
@AND51
geht aber nur wenn die reihenfolge von bestimmten initialisierungen egal ist. sicherer ist z.b.

Code: Alles auswählen

If Init_X() AND Init_Y() AND Init_Z()
Else:End
EndIf
weil AND auch zwischendrin abbricht, sobald was nicht klappt

Verfasst: 07.08.2006 21:37
von ts-soft
Ihr achtet doch sonst auf Geschwindigkeit, warum also diese unnötigen
Multiplikationen. Nur um beim SourceCode schreiben Zeit zu sparen :freak:

Und wenn ein Fehler auftaucht, muß man es wieder zerpflücken, damit man
die Ursache finden kann :mrgreen:
Zeitgewinn futsch :lol:

Verfasst: 07.08.2006 21:58
von a14xerus
Trotzdem wäre ich über eine Antwort froh

Verfasst: 07.08.2006 22:27
von ts-soft

Code: Alles auswählen

Add3DArchive("data",#PB_3DArchive_FileSystem) 
Damit haste nen Pfad gesetzt. Aber wo setzte die Welt?
Ich hab zwar keine Ahnung von diesem pseudo 3D Zeugs, aber das hier nur
ein schwarzer Bildschirm kommt, leuchtet auch mir ein.

Ohne die Daten, ist das ganze aber kein testbarer Code. Kann ich als 3D Laie
also nicht viel testen, sry :freak:

Verfasst: 07.08.2006 22:33
von a14xerus
ja ich habe noch keine Welt, das ist mir schon klar, aber wie ich diese überhaupt setze, davon allein habe ich schon keine Ahnung...
und ich dachte, das wenigstens die AmbientColor schon angezeigt wird..
wahrscheinlich muss ich erst wenigstens eine texture o.ä. einfügen, aber ich weiß nicht wie..
geladen ist das eine bild ja.. aber wie zeichne ich es... oder eben wie zeige ich überhautp was auf den bildschirm an

Verfasst: 08.08.2006 20:13
von a14xerus
hat denn hier keier ahnung von diesem 3d Kram..
ich weiß, hier hat niemand anspruch auf hilfe, aber irgendjmd muss doch was davon könne (hab auch schon bei robsite und purearea geguckt...)

Verfasst: 08.08.2006 20:42
von #NULL
ich würd dir gern helfen, hab aber kein plan.
so wie ich mir das vorstelle, mußt du entweder was laden was du anderswo erstellt hast, oder du baust manuell meshes, mit koordinaten-gefrimel
:| ich dachte eigentlich, hier gäb's einige die sich damit auskennen. aber vielleicht haben die einfach kein bogg.