Seite 1 von 1

terrain textur problem

Verfasst: 26.05.2006 14:38
von cofter
Hi,

ich möchte gern ein Terrain erstellen zurzeit benutze ich die highmap die im exemple ordner mitgeliefert wurde. Wenn ich jetzt aber damit ein Material erstellen will kommt immer eine Fehlermeldung.

The specified TextureID is NUll.

Könnte mir jemand sagen was ich hier falsch mache?
Hier die Stelle wo der Fehler auftritt.

Code: Alles auswählen

CreateMaterial  (0, LoadTexture(0, "Terrain_Texture.jpg"))
    AddMaterialLayer(0, LoadTexture(1, "terrain_tetail.jpg"), 1)
Sollte mehr Code nötig sein reiche ich diesen nach.

mfg
Cofter

Verfasst: 26.05.2006 16:25
von MVXA
kann mich irren, hab mit dem 3D part von PB nich viel zutun aber villt
hilft das ja:

Code: Alles auswählen

CreateMaterial  (0, LoadTexture(#PB_Any, "Terrain_Texture.jpg")) 

Verfasst: 27.05.2006 10:53
von cofter
Nein, hat leider nicht geholfen. :(
Hat noch jemand eine Idee woran es liegen könnte?

mfg
Cofter

Verfasst: 28.05.2006 13:22
von cofter
So das Problem konnte ich lösen.
Anscheinend ist es wichtig "Add3DArchive..." anzugeben.

Doch jetzt kommt gleich das nächste Problem. :?

Wenn ich jetzt das Programm starte kommt ein Windowsfenster wo steht das ein Problem festgestellt wurde und die Anwendung geschlossen wird.
Der Fehler tritt auf wenn die Texturen für das Terrain geladen werden.
Füge ich die Originalen Texturen aus dem Example Ordner in mein Program ein geht alles.
Eigentlich habe ich darauf geachtet das ich die Auflösung genauso habe wie in den Examples.
Gibt es evtl. noch etwas zu beachten außer der Auflösung?

Hier mein derzeitiger Code.
Ich hoffe ihr könnte mir weiterhelfen.

mfg Cofter

Code: Alles auswählen

If window = 1

  ;------------------------------------------
  ; initialisieren
  ;------------------------------------------
    InitSprite()
    OpenScreen(#screen_w,#screen_h,32,"3d terrain")
    InitKeyboard()
    InitMouse()
  ;---------------------
  ; initialisieren ende
  ;---------------------
  Add3DArchive("Data\"          , #PB_3DArchive_FileSystem)
  
    CreateMaterial  (0, LoadTexture(0, "terrain1_TextureMap.jpg"))
    ;AddMaterialLayer(0, LoadTexture(1, "terrain1_detail.jpg"), 1)
   
    CreateTerrain("terrain1_HighMap.png", MaterialID(0), 2, 2, 1, 4)

    CreateCamera(0, 0, 0, 100, 100)
    CameraLocate(0, 128, 25, 128)
  
    SkyDome("Clouds.jpg",10)
    
    
  Repeat 
  Screen3DEvents()
  ExamineKeyboard()
 
        If KeyboardPushed(#PB_Key_Left)
          KeyX = -#CameraSpeed 
        ElseIf KeyboardPushed(#PB_Key_Right)
          KeyX = #CameraSpeed 
        Else
          KeyX = 0
        EndIf
                  
        If KeyboardPushed(#PB_Key_Up)
          KeyY = -#CameraSpeed 
        ElseIf KeyboardPushed(#PB_Key_Down)
          KeyY = #CameraSpeed 
        Else
          KeyY = 0
        EndIf   
      
      If ExamineMouse()
        MouseX = -(MouseDeltaX()/10)*#CameraSpeed/4
        MouseY = -(MouseDeltaY()/10)*#CameraSpeed/4
      EndIf
      
      
      Height.f = TerrainHeight(CameraX(0), CameraZ(0))
      
      ;-----------------------
      ; Kamera steuern
      ;-----------------------
      
      RotateCamera(0, MouseX, MouseY, RollZ)
      MoveCamera  (0, KeyX, -CameraY(0)+Height+8, KeyY)
      
      ;-----------------------
      ; Kamera Ende
      ;-----------------------
      
    RenderWorld()
    Screen3DStats()
    FlipBuffers()
    
    Until KeyboardPushed(#PB_Key_Escape)
    
    CloseNetworkConnection(connectionID)
    End
EndIf

Verfasst: 28.05.2006 23:02
von Ground0
Hallo

Wenn es falsch ist nicht hauen aber ich hatte das Problem auch mal den 2ten Layer den du Remarkt hast brauchts sonst geht es nicht...

Gruss Ground0

Verfasst: 29.05.2006 09:18
von cofter
Ich habe das Problem nach etlichen Stunden gefunden. *freu*
Meine Highmap war kein Greyscale png sondern Indexed Color. :roll:

Danke für eure Hilfe.

mfg
Cofter