Seite 2 von 3

Verfasst: 07.05.2007 19:15
von THEEX
So, seltsames Verhalten.... hab mal einen Bespielcode genommen und das unnötige Zeug rausgenommen:

Code: Alles auswählen

IncludeFile "Screen3DRequester.pb"

Define.f KeyX, KeyY, MouseX, MouseY

  
If InitEngine3D()

  Add3DArchive("Data\"          , #PB_3DArchive_FileSystem)
  
  InitSprite()
  InitKeyboard()
  InitMouse()
  
  If Screen3DRequester()
    
    LoadMesh   (0, "Robot.mesh")
    
    CreateMaterial(0, LoadTexture(0, "clouds.jpg"))
    CreateMaterial(1, LoadTexture(1, "r2skin.jpg"))
    
    CreateEntity(0, MeshID(0), MaterialID(0))
    CreateEntity(1, MeshID(0), MaterialID(1), -60, 0, 0)
    EntityRenderMode(0, #PB_Entity_Wireframe)
    EntityRenderMode(1, #PB_Entity_Wireframe)
   
    CreateCamera(0, 0, 0, 100, 100)
    CameraLocate(0,0,0,100)
      
    Repeat
      Screen3DEvents()
      
      ClearScreen(RGB(0, 0, 0))
            
      If ExamineKeyboard()
      
        If KeyboardPushed(#PB_Key_Left)
          KeyX = -1
        ElseIf KeyboardPushed(#PB_Key_Right)
          KeyX = 1
        Else
          KeyX = 0
        EndIf
        
        If KeyboardPushed(#PB_Key_Up)
          KeyY = -1
        ElseIf KeyboardPushed(#PB_Key_Down)
          KeyY = 1
        Else
          KeyY = 0
        EndIf
        
        If KeyboardPushed(#PB_Key_PageUp)
          RollZ = 3
        Else
          RollZ = 0
        EndIf
        
        If KeyboardPushed(#PB_Key_Add)
          Frame.f+0.005
        EndIf
        
      EndIf
      
      If ExamineMouse()
        MouseX = -MouseDeltaX()/10 
        MouseY = -MouseDeltaY()/10
      EndIf
      
      RotateEntity(1, 1, 0, 0)
      
      RotateCamera(0, MouseX, MouseY, RollZ)
      MoveCamera  (0, KeyX, 0, KeyY)
      
      RenderWorld()
      Screen3DStats()
      FlipBuffers()
    Until KeyboardPushed(#PB_Key_Escape) Or Quit = 1
  EndIf
    
Else
  MessageRequester("Error", "The 3D Engine can't be initialized",0)
EndIf
  
End
Mit dem Code wirds nicht richtig angezeigt, aber nimmt man EntityRenderMode(0, #PB_Entity_Wireframe) raus, wird auf einmal ein Entity richtig angezeigt... genau so gehts auch wenn man Entity 1 statt 0 raus nimmt.

Verfasst: 07.05.2007 20:01
von bobobo
mit "hintergrund" sind dann beide drahtig .. Als Hintergrund wieder ne Copy eines vorh. Meshes

Code: Alles auswählen

IncludeFile "Screen3DRequester.pb" 

Define.f KeyX, KeyY, MouseX, MouseY 

  
If InitEngine3D() 

  Add3DArchive("Data\"          , #PB_3DArchive_FileSystem) 
  
  InitSprite() 
  InitKeyboard() 
  InitMouse() 
  
  If Screen3DRequester() 
    
    LoadMesh   (0, "Robot.mesh") 
    
    CreateMaterial(0, LoadTexture(0, "clouds.jpg")) 
    CreateMaterial(1, LoadTexture(1, "r2skin.jpg")) 
    
    CreateEntity(0, MeshID(0), MaterialID(0)) 
    CreateEntity(1, MeshID(0), MaterialID(1), -60, 0, 0) 
    CopyEntity(1,2)
    ScaleEntity(2,1000,1000,1000)
    MoveEntity(2,0,0,-2000)
    
    EntityRenderMode(0, #PB_Entity_Wireframe) 
    EntityRenderMode(1, #PB_Entity_Wireframe) 
    
    CreateCamera(0, 0, 0, 100, 100) 
    CameraLocate(0,0,0,100) 
      
    Repeat 
      Screen3DEvents() 
      
      ClearScreen(RGB(0, 0, 0)) 
            
      If ExamineKeyboard() 
      
        If KeyboardPushed(#PB_Key_Left) 
          KeyX = -1 
        ElseIf KeyboardPushed(#PB_Key_Right) 
          KeyX = 1 
        Else 
          KeyX = 0 
        EndIf 
        
        If KeyboardPushed(#PB_Key_Up) 
          KeyY = -1 
        ElseIf KeyboardPushed(#PB_Key_Down) 
          KeyY = 1 
        Else 
          KeyY = 0 
        EndIf 
        
        If KeyboardPushed(#PB_Key_PageUp) 
          RollZ = 3 
        Else 
          RollZ = 0 
        EndIf 
        
        If KeyboardPushed(#PB_Key_Add) 
          Frame.f+0.005 
        EndIf 
        
      EndIf 
      
      If ExamineMouse() 
        MouseX = -MouseDeltaX()/10 
        MouseY = -MouseDeltaY()/10 
      EndIf 
      
      RotateEntity(1, 1, 0, 0) 
      
      RotateCamera(0, MouseX, MouseY, RollZ) 
      MoveCamera  (0, KeyX, 0, KeyY) 
      
      RenderWorld() 
      Screen3DStats() 
      FlipBuffers() 
    Until KeyboardPushed(#PB_Key_Escape) Or Quit = 1 
  EndIf 
    
Else 
  MessageRequester("Error", "The 3D Engine can't be initialized",0) 
EndIf 
  
End

Verfasst: 07.05.2007 20:08
von THEEX
Irgendwie witzig das ganze... Aber ich würd sagen BUG!

Verfasst: 08.05.2007 11:49
von bobobo
hmm .. liegt wohl doch eher an der OgreMaschine, die dann nicht
rendert wie sie soll. Sowas wird mit Einbindung einer aktuelleren
eventuell bessser.


Allerdings .. niemand hindern Dich daran 'ne schwarze SkyBox mit zu
rendern

dann geht alles wie gewünscht


3d in Pb ist ja eh (noch) nicht soooooooo super gut (die Prioritäten
liegen momentan bei anderen vermutlich auch wichtigeren Sachen)

Verfasst: 08.05.2007 15:01
von THEEX
Naja, ich dachte ja die ganze Zeit, was mach ich nur falsch... aber jetzt weiss ich ja, was ich machen muss und das genügt mir. Will ja nix besonderes machen, soll nur was kleines werden.

Verfasst: 11.05.2007 11:31
von dllfreak2001
schnappt euch mal nen Model und vergrößert es mit Scale.
Je größer desto schwächer wird es beleuchtet warum?

Verfasst: 11.05.2007 13:44
von THEEX
schnappt euch mal nen Model und vergrößert es mit Scale.
Je größer desto schwächer wird es beleuchtet warum?
Hmmm, was hat das jetzt mit meinem Thema zu tun?

Verfasst: 11.05.2007 14:03
von Fluid Byte
dllfreak2001 hat geschrieben:schnappt euch mal nen Model und vergrößert es mit Scale.
Je größer desto schwächer wird es beleuchtet warum?
Dein Objekt wird größer, nicht aber der Lichtkegel.

Verfasst: 11.05.2007 16:47
von dllfreak2001
Es gehört in de Sektion Bugs, nur so als Einschub.

Ein Punktlicht in Ogre erzeugt keinen Kegel.

Verfasst: 11.05.2007 17:26
von Fluid Byte
Du weisst zu 100% das dies ein ein Bug ist? Schon im englishen Forum gepostet?