Application 3D d'un moniteur à un autre
Publié : mer. 30/oct./2013 21:52
Est ce qu'il y a un moyen de passer une application d'un moniteur à un autre sans que ça plante ?
Si certains d'entres vous ont deux moniteurs sur leurs PC essayer ce code pour voir ce qu'il se passe.
Si certains d'entres vous ont deux moniteurs sur leurs PC essayer ce code pour voir ce qu'il se passe.
Code : Tout sélectionner
Define.f CamX, CamY, CamZ
Procedure.w MouseWheelDelta()
wz.w = ((EventwParam()>>16)&$FFFF)
ProcedureReturn -(wz/100)
EndProcedure
InitEngine3D()
InitKeyboard()
InitSprite()
window = OpenWindow(#PB_Any,0,0,1024,768,"How to use mousewheel to zoom in 3D")
OpenWindowedScreen(WindowID(window),0,0,1024,768)
;
; Ambiance
AmbientColor(RGB(255, 255, 255))
CreateLight(#PB_Any,RGB(255, 255, 255), 3,50,50)
;
;axes
Red = RGB(255, 0, 0)
Green = RGB(0, 255, 0)
Blue = RGB(0, 255, 255)
AxeX = CreateLine3D(#PB_Any, -10,0,0, Red, 10, 0, 0, Red)
AxeY = CreateLine3D(#PB_Any, 0,-10,0, Green, 0, 10, 0, Green)
AxeZ = CreateLine3D(#PB_Any, 0,0,-10, Blue, 0, 0, 10, Blue)
;
; Entity
Mesh = CreateCube(#PB_Any, 2)
; Texture
Texture = CreateTexture(#PB_Any,512,512)
StartDrawing(TextureOutput(Texture))
Box(0,0,512,512,RGB(0, 0, 0))
Box(1,1,510,510,RGB(255, 216, 0))
StopDrawing()
Material = CreateMaterial(#PB_Any,TextureID(texture))
Entity = CreateEntity(#PB_Any, MeshID(Mesh), MaterialID(Material))
;
; Camera
Camera = CreateCamera(#PB_Any,0,0,100,100)
CameraBackColor(Camera, RGB(105, 105, 105))
CamX=2.0
CamY=1.0
CamZ=10
CameraLookAt(Camera,0,0,0)
While #True
Event = WindowEvent()
Select Event
Case #WM_MOUSEWHEEL
CamZ=CamZ+(MouseWheelDelta())
EndSelect
ExamineKeyboard()
If Event = #PB_Event_CloseWindow Or KeyboardPushed(#PB_Key_Escape)
Break
EndIf
If KeyboardPushed(#PB_Key_Left)
CamX-0.2
ElseIf KeyboardPushed(#PB_Key_Right)
CamX+0.2
EndIf
If KeyboardPushed(#PB_Key_Up)
CamY+0.2
ElseIf KeyboardPushed(#PB_Key_Down)
CamY-0.2
EndIf
MoveCamera(camera, CamX, CamY, CamZ, #PB_Absolute)
CameraLookAt(Camera, EntityX(Entity), EntityY(Entity), EntityZ(Entity))
ClearScreen(RGB(0, 0, 0))
RenderWorld()
FlipBuffers()
Wend