Ich weiss, zu diesem Thema gibts schon etliche Threads, aber leider muss ich noch einen posten, weil ich einfach nicht die gewünschte Textur auf mein Mesh bekomme. (Code von Danilo leicht abgeändert):
Code: Alles auswählen
; German forum: http://www.purebasic.fr/german/archive/viewtopic.php?t=1501&start=10 
; Author: Danilo (updated for PB 4.00 by ste123) 
; Date: 05. July 2003 
; OS: Windows 
; Demo: Yes 
If InitEngine3D() And InitSprite() And InitKeyboard() 
  OpenWindow(0,0,0,640,480,"3D Mesh Test",#PB_Window_SystemMenu|#PB_Window_ScreenCentered) 
  OpenWindowedScreen(WindowID(0),0,0,640,480,0,0,0) 
  BigFont = LoadFont(1,"Arial",38) 
  Add3DArchive("\", #PB_3DArchive_FileSystem)
   ; Viereck
    CreateMesh(1,30) 
    SetMeshData(1,#PB_Mesh_Vertex       ,?Ecken            , 4) ; 4 Ecken 
    SetMeshData(1,#PB_Mesh_Face         ,?Viereck          , 2) ; 4 Dreiecke (Vorder- und Rueckseite) 
    SetMeshData(1,#PB_Mesh_UVCoordinate ,?TexturKoordinaten, 4) 
    
   
    CreateMaterial(0, LoadTexture(0,"g88im13o6int.png"))
    ;CreateEntity(1, MeshID(1), #PB_Material_None) 
    CreateEntity(1, MeshID(1), MaterialID(0)) 
    ScaleEntity(1,4,4,4): MoveEntity(1,-3,0,0) 
    
    CreateCamera(0, 0, 0, 100, 100) 
    CameraLocate(0,0,0,10) 
    CameraLookAt(0, EntityX(1),EntityY(1),EntityZ(1))
    ;CameraRenderMode(0, #PB_Camera_Wireframe)
    CameraRenderMode(0, #PB_Camera_Textured)
    Repeat 
      ExamineKeyboard() 
      Select WindowEvent() 
        Case #PB_Event_CloseWindow 
          Quit = #True 
      EndSelect 
      
      rot=1:RotateEntity(1,rot*0.1,rot*0.1,rot*0.1, #PB_Relative) 
     
      RenderWorld() 
      FlipBuffers() 
    
    Until KeyboardPushed(#PB_Key_Escape) Or Quit 
Else 
  MessageRequester("Error", "Cant init DirectX 3D Engine",0) 
EndIf 
  
End 
DataSection 
  Ecken: 
    Data.f -1, -1,  0 ; Ecke 0             3-----2 
    Data.f  1, -1,  0 ; Ecke 1             |  .  | 
    Data.f  1,  1,  0 ; Ecke 2             |     | 
    Data.f -1,  1,  0 ; Ecke 3             0-----1 
  TexturKoordinaten: 
    Data.f 0,1      ; Vertex 0 
    Data.f 1,1      ; Vertex 1 
    Data.f 1,0      ; Vertex 2 
    Data.f 0,0      ; Vertex 3 
Viereck: 
    Data.w 0, 1, 2  ; Dreieck 1 besteht aus den Ecken 0, 1 und 2 
    Data.w 2, 3, 0  ; Dreieck 2 besteht aus den Ecken 2, 3 und 0 
                    ; = 1 Viereck Vorderseite 
    ;Data.w 0, 3, 2  ; Dreieck 1 besteht aus den Ecken 0, 3 und 2 
    ;Data.w 2, 1, 0  ; Dreieck 2 besteht aus den Ecken 2, 1 und 0 
                    ; = 1 Viereck Rueckseite 
EndDataSection 
Was mache ich da falsch ??? Und noch eine Bitte : Wozu sind die Meshnormals (und wie berechne ich die) und Meshcolors da ??? guter Link mit Erklärung wäre nett. Dankeschön !


