Hello, i got a lot of problems with version 6.2x when run 3D apps. Compiler say "The debugged executable quit unexpectedly".
Windows 11x64 I7 and NVIDIA, with PB6.1 and lower work.
Over all when use openWindowedScreen(#PB_any....
Code: Select all
Global camara, RenderTime
Global.b sal
;{ 3D
Procedure iniDX(title.s="")
Protected w,h
InitEngine3D()
InitSprite()
InitKeyboard()
InitMouse()
OpenWindow(0,0,0,1280,720,title,#PB_Window_ScreenCentered|#PB_Window_BorderLess|#PB_Window_Maximize)
w= WindowWidth(0):h=WindowHeight(0)
AntialiasingMode(#PB_AntialiasingMode_None)
OpenWindowedScreen(WindowID(0), 0, 0, w,h, 0,0,0,#PB_Screen_NoSynchronization)
WorldShadows(#PB_Shadow_Modulative, -1, RGB(s,s,s), 2048)
EndProcedure
Procedure suelo(size=30)
Protected suelo_tx3D, suelo_mesh, suelo_mate
suelo_tx3D= CreateTexture(#PB_Any,256,256)
StartDrawing(TextureOutput(suelo_tx3D))
Box(0,0,OutputWidth(),OutputHeight(),$0)
Box(2,2,OutputWidth()-4,OutputHeight()-4,$ffffff)
StopDrawing()
suelo_mesh= CreatePlane(#PB_Any,size,size,1,1,1,1)
suelo_mate= CreateMaterial(#PB_Any,TextureID(suelo_tx3D))
ScaleMaterial(suelo_mate,1/size,1/size)
ScrollMaterial(suelo_mate,0.5,0.5,#PB_Material_Fixed)
suelo= CreateEntity(#PB_Any, MeshID(suelo_mesh), MaterialID(suelo_mate))
EndProcedure
Procedure creaTextura(size=256)
Protected i= CreateTexture(#PB_Any,size,size)
StartDrawing(TextureOutput(i))
Box(0,0,OutputWidth(),OutputHeight(),$0000ff)
Box(20,20,OutputWidth()-40,OutputHeight()-40,$ffffff)
StopDrawing()
ProcedureReturn i
EndProcedure
Procedure eventos3D()
Protected.f MouseX,MouseY, mouseW, KeyX,KeyY, movSpd=0.005,rotSpd=0.005
movSpd * RenderTime
rotSpd * RenderTime
If KeyboardPushed(#PB_Key_Escape)
sal=1
EndIf
If KeyboardPushed(#PB_Key_A)
KeyX = -movSpd
ElseIf KeyboardPushed(#PB_Key_D)
KeyX = movSpd
Else
KeyX = 0
EndIf
If KeyboardPushed(#PB_Key_W)
KeyY = -movSpd
ElseIf KeyboardPushed(#PB_Key_S)
KeyY = movSpd
Else
KeyY = 0
EndIf
MouseX = -MouseDeltaX() * rotSpd
MouseY = -MouseDeltaY() * rotSpd
RotateCamera(camara, MouseY, MouseX, 0, #PB_Relative)
MoveCamera (camara, KeyX, 0, KeyY)
EndProcedure
;}
iniDX("Base 3D")
suelo()
cubo_tx3d= creaTextura()
cubo_mate= CreateMaterial(#PB_Any, TextureID(cubo_tx3d))
MaterialCullingMode(cubo_mate,#PB_Material_NoCulling)
luz= CreateLight(#PB_Any,$ffffff,0,50,0,#PB_Light_Directional)
LightDirection(luz,0.2,-0.4,-0.3)
camara= CreateCamera(#PB_Any,0,0,100,100)
MoveCamera(camara,10,16,20)
CameraLookAt(camara,0,0,0)
Repeat
Repeat: event= WindowEvent():Until event= 0
ExamineKeyboard()
ExamineMouse()
eventos3D()
RenderTime = RenderWorld()
FlipBuffers()
Delay(1)
Until sal=1