4.30 beta 1
Publié : mar. 16/sept./2008 21:00
quelques démos avec la 4.30 , ou attendez un peu , dès que je suis rentré chez moi je pourrai faire une archive avec tout mes tests 3D et les médias récoltés ici et là. les démos ci dessous seront dans l'archive, avec d'autres tests.
http://herved25.free.fr/test/TempleCompletV4_30.zip
http://herved25.free.fr/test/Collision.zip << test avec collision de PB
http://herved25.free.fr/test/WaterWorldV4_30.zip << test avec mes collisions
à placer dans le dossier ogre16
http://herved25.free.fr/test/TempleCompletV4_30.zip
http://herved25.free.fr/test/Collision.zip << test avec collision de PB
http://herved25.free.fr/test/WaterWorldV4_30.zip << test avec mes collisions
à placer dans le dossier ogre16
Code : Tout sélectionner
;Comtois
IncludeFile "Screen3DRequester.pb"
If InitEngine3D()
Add3DArchive("Data\", #PB_3DArchive_FileSystem)
Add3DArchive("GUI\", #PB_3DArchive_FileSystem)
Add3DArchive("GUI\schemes", #PB_3DArchive_FileSystem)
Add3DArchive("GUI\imagesets", #PB_3DArchive_FileSystem)
Add3DArchive("GUI\fonts", #PB_3DArchive_FileSystem)
Add3DArchive("GUI\looknfeel", #PB_3DArchive_FileSystem)
Add3DArchive("GUI\layouts", #PB_3DArchive_FileSystem)
InitSprite()
InitKeyboard()
InitMouse()
If Screen3DRequester()
AmbientColor(RGB(80,80,80))
CreateLight(0,RGB(255,255,255),200,800,200)
CreateMesh(0, 10)
SetMeshData(0, #PB_Mesh_Vertex | #PB_Mesh_Normal | #PB_Mesh_Color | #PB_Mesh_UVCoordinate, ?Sommets, 24)
SetMeshData(0, #PB_Mesh_Face, ?Triangles, 12)
CreateMaterial(0, LoadTexture(0, "texture0.png")) ;Texture0.png >> c'est juste un carré blanc avec un cadre noir sur le pourtour
MaterialAmbientColor(0,#PB_Material_AmbientColors)
For z=0 To 2
For y=0 To 2
For x=0 To 2
If x=1 And y=1 And z=1 : Centre = No : EndIf
CreateEntity(No, MeshID(0), MaterialID(0),x*10,y*10,z*10)
ScaleEntity(No,0.5,0.5,0.5)
No+1
Next x
Next y
Next z
CreateEntity(28, MeshID(0), MaterialID(0))
ScaleEntity(28,0.2,0.2,0.2)
;a = OpenWindow3D(3, 0, 0, 350, 110, "Ecran")
;TextGadget3D(3,10,50,200,35,"Mon Texte")
ShowGUI(128, #False)
CreateCamera(0, 0, 0, 50, 50)
CameraBackColor(0,#Blue)
CameraLocate(0, EntityX(Centre), 80, EntityZ(Centre)+1)
CameraLookAt(0,EntityX(Centre) ,EntityY(Centre),EntityZ(Centre))
CreateCamera(1, 50, 0, 50, 50)
CameraBackColor(1,#Yellow)
CameraLocate(1, EntityX(Centre), EntityY(Centre), 80)
CameraLookAt(1,EntityX(Centre) ,EntityY(Centre),EntityZ(Centre))
CreateCamera(2, 0, 50, 50, 50)
CameraBackColor(2,#Red)
CameraLocate(2, 80, EntityY(Centre), EntityZ(Centre))
CameraLookAt(2,EntityX(Centre) ,EntityY(Centre),EntityZ(Centre))
CreateCamera(3, 50, 50, 50, 50)
CameraBackColor(3,#Green)
CameraLocate(3, 80, 80, 80)
CameraLookAt(3,EntityX(Centre) ,EntityY(Centre),EntityZ(Centre))
ShowCursor_(1)
Repeat
Screen3DEvents()
ExamineKeyboard()
RotateEntity(28,1,1,1,1)
If ExamineMouse()
If MouseButton(#PB_MouseButton_Left)
If MouseX()<Screen3DRequester_Width/2 And MouseY()<Screen3DRequester_Height/2
InputEvent3D(MouseX()*2, MouseY()*2, MouseButton(1), "")
Entity = MousePick(0, MouseX()*2, MouseY()*2)
ElseIf MouseX()>Screen3DRequester_Width/2 And MouseY()<Screen3DRequester_Height/2
InputEvent3D((MouseX()-Screen3DRequester_Width/2)*2, MouseY()*2, MouseButton(1), "")
Entity = MousePick(1, (MouseX()-Screen3DRequester_Width/2)*2, MouseY()*2)
ElseIf MouseX()<Screen3DRequester_Width/2 And MouseY()>Screen3DRequester_Height/2
InputEvent3D(MouseX()*2, (MouseY()-Screen3DRequester_Height/2)*2, MouseButton(1), "")
Entity = MousePick(2, MouseX()*2, (MouseY()-Screen3DRequester_Height/2)*2)
ElseIf MouseX()>Screen3DRequester_Width/2 And MouseY()>Screen3DRequester_Height/2
InputEvent3D((MouseX()-Screen3DRequester_Width/2)*2, (MouseY()-Screen3DRequester_Height/2)*2, MouseButton(1), "")
Entity = MousePick(3, (MouseX()-Screen3DRequester_Width/2)*2, (MouseY()-Screen3DRequester_Height/2)*2)
EndIf
If entity<>28
EntityLocate(28,PickX(),PickY(),PickZ())
EndIf
EndIf
EndIf
RenderWorld()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape) Or Quit = 1
EndIf
Else
MessageRequester("Error", "The 3D Engine can't be initialized",0)
EndIf
DataSection
Sommets:
;Dessus 0 à 3
Data.f -10,10,-10
Data.f 0,1,0
Data.l $00FF00
Data.f 0,0
Data.f 10,10,-10
Data.f 0,1,0
Data.l $00FF00
Data.f 0,1
Data.f 10,10,10
Data.f 0,1,0
Data.l $00FF00
Data.f 1,1
Data.f -10,10,10
Data.f 0,1,0
Data.l $00FF00
Data.f 1,0
;Dessous 4 à 7
Data.f -10,-10,10
Data.f 0,-1,0
Data.l $FFFF00
Data.f 0,0
Data.f 10,-10,10
Data.f 0,-1,0
Data.l $FFFF00
Data.f 0,1
Data.f 10,-10,-10
Data.f 0,-1,0
Data.l $FFFF00
Data.f 1,1
Data.f -10,-10,-10
Data.f 0,-1,0
Data.l $FFFF00
Data.f 1,0
;Devant 8 à 11
Data.f -10,10,10
Data.f 0,0,1
Data.l $FF0000
Data.f 0,0
Data.f 10,10,10
Data.f 0,0,1
Data.l $FF0000
Data.f 0,1
Data.f 10,-10,10
Data.f 0,0,1
Data.l $FF0000
Data.f 1,1
Data.f -10,-10,10
Data.f 0,0,1
Data.l $FF0000
Data.f 1,0
;Derrière 12 à 15
Data.f 10,10,-10
Data.f 0,0,-1
Data.l $0000FF
Data.f 0,0
Data.f -10,10,-10
Data.f 0,0,-1
Data.l $0000FF
Data.f 0,1
Data.f -10,-10,-10
Data.f 0,0,-1
Data.l $0000FF
Data.f 1,1
Data.f 10,-10,-10
Data.f 0,0,-1
Data.l $0000FF
Data.f 1,0
;Cote gauche 16 à 19
Data.f -10,10,-10
Data.f -1,0,0
Data.l $FF00FF
Data.f 0,0
Data.f -10,10,10
Data.f -1,0,0
Data.l $FF00FF
Data.f 0,1
Data.f -10,-10,10
Data.f -1,0,0
Data.l $FF00FF
Data.f 1,1
Data.f -10,-10,-10
Data.f -1,0,0
Data.l $FF00FF
Data.f 1,0
;Cote droit 20 à 23
Data.f 10,10,10
Data.f 1,0,0
Data.l $00FFFF
Data.f 0,0
Data.f 10,10,-10
Data.f 1,0,0
Data.l $00FFFF
Data.f 0,1
Data.f 10,-10,-10
Data.f 1,0,0
Data.l $00FFFF
Data.f 1,1
Data.f 10,-10,10
Data.f 1,0,0
Data.l $00FFFF
Data.f 1,0
Triangles:
;Face en Haut
Data.w 2,1,0
Data.w 0,3,2
;Face en Bas
Data.w 6,5,4
Data.w 4,7,6
;Face Avant
Data.w 10,9,8
Data.w 8,11,10
;Face Arrière
Data.w 14,13,12
Data.w 12,15,14
;Face Gauche
Data.w 18,17,16
Data.w 16,19,18
;Face Droite
Data.w 22,21,20
Data.w 20,23,22
EndDataSection