Seite 1 von 3

EntityRenderMode fehlerhaft?

Verfasst: 06.05.2007 22:33
von THEEX
Hat irgendwer mal EntityRenderMode mit #PB_Entity_Wireframe benutzt? Ich glaub mal nicht, daß man dabei viel falsch machen kann. Dabei sollte das Objekt ja nur mit Linien dargestellt werden, manchmal sieht man diese bei Programmstart auch noch kurz aufflackern, aber dann eben die Texturen.

Code: Alles auswählen

InitEngine3D()
InitSprite()
InitKeyboard()
InitMouse()


#Mesh_Kugel     = 1
#Texture_Kugel  = 2
#Material_Kugel = 3
#Objekt         = 4
#Kamera         = 5


If OpenWindow(0, 0, 0, 800, 600, "3D", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
  OpenWindowedScreen(WindowID(0), 0, 0, 800, 600, 0, 0, 0)
    
    Add3DArchive("Eigenes\", #PB_3DArchive_FileSystem)
      LoadMesh(#Mesh_Kugel, "kugel1.mesh")
      LoadTexture(#Texture_Kugel, "KSTxtSW.png")
      CreateMaterial(#Material_Kugel, TextureID(#Texture_Kugel))
       DisableMaterialLighting(#Material_Kugel, #True)

       CreateCamera(#Kamera, 0, 0, 100, 100)
       CameraLocate(#Kamera, 0, 0, 10)

       CreateEntity(#Objekt, MeshID(#Mesh_Kugel), MaterialID(#Material_Kugel))
       EntityRenderMode(#Objekt, #PB_Entity_Wireframe)
 
Else
  End
EndIf

Repeat
  Event = WindowEvent()
          If Event = #PB_Event_CloseWindow
            End
          EndIf
          
  ClearScreen($000000)
    RenderWorld()    
  FlipBuffers()
ForEver

Verfasst: 07.05.2007 15:38
von bobobo
clearscreen ??? wozu soll das gut sein ?


ansonsten ist das nicht nachvollziehbar

hab aber auch nicht dein mesh

Verfasst: 07.05.2007 17:08
von THEEX
Wenn Clearscreen nicht gebraucht wird, dann isses auch in den ganzen Sourcebeispielen wohl unnötig...
Ok, für hier brauch man es jetzt nicht, daß ist ja auch nicht mein Originlcode und wenn man 2D-Sachen noch dazu macht, brauch man es wohl...
Am Mesh liegt es bestimmt nicht, auch beim Mesh vom PB-Beispiel funktioniert es nicht.

Verfasst: 07.05.2007 17:29
von dllfreak2001
Ach es gibt soviele Fehler mit PB-Ogre, so funzt der dynamische Schatten nicht immer, oder wenn man ein Objekt vergrössert veringert sich die Beleuchtungshelligkeit...

Verfasst: 07.05.2007 18:14
von bobobo
liegt irgendwie am Code und nicht direkt am ollen Ogre


mit dem PB-DemoCode funzt es

Verfasst: 07.05.2007 18:16
von THEEX
Da funzt es? Ja eben da auch nicht... welchen hast da genommen?

Verfasst: 07.05.2007 18:20
von bobobo
SkyBox

und den etwas erweitert durch die EntityRenderMode-Funktion nach der
EntityErzeugung

Verfasst: 07.05.2007 18:31
von THEEX
Toll, jetzt muss ich ja nur noch rausfinden, was an meinem Code falsch ist... *höhö*

Verfasst: 07.05.2007 18:56
von bobobo
Ich glaube es fehlt einfach der Hintergrund .. sozusagen der räumlich Kontext.. Ohne den geht wohl nix

ein zweites Objekt dahinterliegend geht wohl auch.

Code: Alles auswählen

Enumeration
#Mesh
#Texture
#Material
#Objekt
#Objekt1
#Kamera
EndEnumeration

InitEngine3D()
InitSprite() 
InitKeyboard() 
InitMouse() 
Add3DArchive("Data\", #PB_3DArchive_FileSystem)
OpenWindow(0,0,0,400,400,"pillepalle", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(0),0,0,400,400,1,0,0)
LoadMesh(#Mesh, "Figurneu.mesh")
CreateMaterial(#Material, LoadTexture(#Texture, "mycop.jpg") )
CreateEntity(#Objekt,MeshID(#Mesh), MaterialID(#Material))
CopyEntity(#Objekt,#Objekt1)
ScaleEntity(#Objekt1,1000,1000,1000)
RotateEntity(#Objekt1,41,67,25)

MoveEntity(#Objekt1,0,0,-1000)

EntityRenderMode(#Objekt,#PB_Entity_Plot)
SkyBox("desert07.jpg")

CreateCamera(#Kamera, 0, 0, 100, 100) 
CameraLocate(#Kamera, 0, 0, 10) 

Repeat
  ExamineKeyboard()
  If KeyboardPushed(#PB_Key_F5)
    EntityRenderMode(#Objekt,#PB_Entity_Plot)
  EndIf
  If KeyboardPushed(#PB_Key_F6)
    EntityRenderMode(#Objekt,#PB_Entity_Wireframe)
  EndIf
  If KeyboardPushed(#PB_Key_F7)
    EntityRenderMode(#Objekt,#PB_Entity_Solid)
  EndIf
  If KeyboardPushed(#PB_Key_F10) 
    quit=1
  EndIf
  
  CameraLookAt(#Kamera,EntityX(#objekt),EntityX(#objekt),EntityZ(#objekt))
  
  
  Delay(10)
  
  
  RenderWorld()    
  FlipBuffers() 
  
Until quit=1

       

Verfasst: 07.05.2007 19:07
von THEEX
Danke erstmal für den Code, ich bin auch grad am ausgrenzen und experimentiere mit den PB-Demos rum, da gehts auch ohne Hintergrund, Deinen schau ich mir nachher an, wenn ich das Verhalten im Demo reproduziern kann. Auf jeden Fall hab ich da schon erreich, daß es mal geht und dann auch mal nicht. Irgendwie scheint es dran zu liegen, wieviel Meshs angezeigt werden.