hier mal ein kleines 3D-Engine-Beispiel:
Code: Alles auswählen
#MeshMap = 0
#Entity = 0
#Material = 0
#Textur = 0
#Camera = 0
; Berechnung der Kartengröße
InitEngine3D()
InitMouse()
InitKeyboard()
InitSprite()
UsePNGImageDecoder()
OpenScreen(800, 600, 32, "TEX")
Add3DArchive(".", #PB_3DArchive_FileSystem)
LoadTexture(#Textur, "wasser_02.png")
CreateMesh(#MeshMap, 10)
SetMeshData(#MeshMap, #PB_Mesh_Vertex, ?NodeList, 3)
SetMeshData(#MeshMap, #PB_Mesh_Face, ?FaceList, 1)
CreateMaterial(#Material, TextureID(#Textur))
CreateEntity(#Entity, MeshID(#MeshMap), MaterialID(#Material), 0.0, 0.0, 0.0)
CreateCamera(#Camera, 0, 0, 100, 100)
CameraLocate(#Camera, 0.0, 0.0, 2.0)
CameraRenderMode(#Camera, #PB_Camera_Textured)
CameraLookAt(#Camera, 0.0, 0.5, 0.0)
Repeat
ExamineMouse()
ExamineKeyboard()
RenderWorld()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
DataSection
NodeList:
Data.f -1.0, 0.0, 0.0
Data.f 1.0, 0.0, 0.0
Data.f 0.0, 1.0, 0.0
FaceList:
Data.w 0, 1, 2
EndDataSection
Mein Problem: Das Dreieck ist einfach nur blau. Ich kann keine Struktur der Textur erkennen. Wo ist meine Fehler? Muss ich die Textur noch rigendwie skalieren, damit sie auf dem Dreieck zu erkennen ist?