terrain textur problem

Anfängerfragen zum Programmieren mit PureBasic.
cofter
Beiträge: 84
Registriert: 10.03.2006 19:07
Wohnort: Berlin
Kontaktdaten:

terrain textur problem

Beitrag 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
Was ich nicht kenne das mach ich kaputt! :D
----------------------------------------------------
Purebasic v4.0
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag 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")) 
Bild
cofter
Beiträge: 84
Registriert: 10.03.2006 19:07
Wohnort: Berlin
Kontaktdaten:

Beitrag von cofter »

Nein, hat leider nicht geholfen. :(
Hat noch jemand eine Idee woran es liegen könnte?

mfg
Cofter
Was ich nicht kenne das mach ich kaputt! :D
----------------------------------------------------
Purebasic v4.0
cofter
Beiträge: 84
Registriert: 10.03.2006 19:07
Wohnort: Berlin
Kontaktdaten:

Beitrag 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
Was ich nicht kenne das mach ich kaputt! :D
----------------------------------------------------
Purebasic v4.0
Benutzeravatar
Ground0
Beiträge: 318
Registriert: 05.02.2005 02:09
Wohnort: Stilli, Schweiz
Kontaktdaten:

Beitrag 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
lmon Monitoring Service inkl. Clients
lweb Multi-Threaded Webserver
lbup-server Backup Server applikation
lmanager ERP Applikation.
cofter
Beiträge: 84
Registriert: 10.03.2006 19:07
Wohnort: Berlin
Kontaktdaten:

Beitrag 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
Was ich nicht kenne das mach ich kaputt! :D
----------------------------------------------------
Purebasic v4.0
Antworten