Seite 1 von 1

3D OGRE Zylinder Projektion für Panorama gesucht

Verfasst: 05.12.2016 15:51
von dige
Hallo,

Olby hat im englischen Forum einen Panorama Viewer gepostet.

http://www.purebasic.fr/english/viewtop ... 30#p497274

Mit dem man 360 Grad Panoramen in einer Kugelprojektion anschauen kann.

Hat jemand eine Idee wie man das auf einen Zylinder projezieren kann, wenn
man nur normale Panorama Bilder (ohne Himmel und Boden) anschauen will?

Ciao dige

Code: Alles auswählen

EnableExplicit

UseJPEGImageDecoder()
UsePNGImageDecoder()

Define.i w,h,d,mx.f,my.f,file$=Trim(ProgramParameter(0))

If file$
   If InitEngine3D() And
      InitSprite() And
      InitKeyboard() And
      InitMouse()
   
      If ExamineScreenModes()
         While NextScreenMode()
            w=ScreenModeWidth()
            h=ScreenModeHeight()
            d=ScreenModeDepth()
         Wend
         
         If OpenScreen(w,h,d,"Panorama",#PB_Screen_SmartSynchronization)
            CreateCamera(0,0,0,100,100)
            CameraFOV(0,90)
            
            Add3DArchive(GetPathPart(file$),#PB_3DArchive_FileSystem)
            CreateMaterial(0,LoadTexture(0,file$))
            DisableMaterialLighting(0,#True)
            MaterialFilteringMode(0,#PB_Material_Trilinear)
            RotateMaterial(0,180,#PB_Material_Fixed)
            
            CreateSphere(0,-10,32,32)
            CreateEntity(0,MeshID(0),MaterialID(0))
            
            Repeat
               If ExamineMouse()
                  mx=-MouseDeltaX()/4.0
                  my=-MouseDeltaY()/4.0
               EndIf
               RotateCamera(0,my,mx,0,#PB_Relative)
               RenderWorld()
               FlipBuffers()
               ExamineKeyboard()
           Until KeyboardPushed(#PB_Key_Escape)
        EndIf
      EndIf
   EndIf
EndIf