Early beta of my gameengine

Miscellaneous Forums/Blitz Showcase/Early beta of my gameengine

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

It's cool :) Here is the full sample code :

You have made a great job sweenie ! I hope a release soon as
possible ! Any idea for the release date ?

'Strict
Import "libOgreRAD.a"
Include "OgreRAD_Imports.bmx"

'Tutorial 4 - Pile of plastic monkeys (Per Pixel Lighting)
'(DirectX version only, sorry!)

If Engine_Init(True,True)=False Then
 Notify "Failed to initialize engine!",True
 End
EndIf

'ShaderCheck
If Card_HasCapability(RSC_FRAGMENT_PROGRAM) Then
	If GPU_IsSyntaxSupported("ps_2_0")=False Then
 		Notify("Pixelshader 2.0 doesn't seem to be supported!",True)
 		Engine_Drop()
 		End
	EndIf
Else
	Notify("Your card doesn't seem to support shaders!",True)
 	Engine_Drop()
 	End
EndIf

Local Camera:Byte Ptr =GOTemplate_CreateCamera("Camera")
GameObject_SetPosition(GOFactory_GetObject("Camera"),0,5,15)
GameObject_Pitch(GOFactory_GetObject("Camera"),-5,LOCAL_SPACE)

GOTemplate_CreatePointLight("Light")
GameObject_SetPosition(GOFactory_GetObject("Light"),10,10,10)

Local Room:Byte Ptr = GOTemplate_CreateMesh("Room","room.mesh")
GameObject_SetYawPitchRoll(Room,-45,0,0)
GameObject_SetInt(Room,"HullType",7) 'Static mesh collider(built from mesh)
GameObject_AddRigidBodyComponent(Room)

For Local i=1 To 10
	Local Monkey:Byte Ptr = GOTemplate_CreateMesh("Monkey"+i,"Monkey.mesh")
	GameObject_MeshSetMaterial(Monkey,"PPL_Shader",0)
	GameObject_SetScale(Monkey,0.7,0.7,0.7)
	GameObject_SetPosition(Monkey,0,i+1,0)
	GameObject_SetInt(Monkey,"HullType",6) ' Convex Hull(built from mesh)
	GameObject_SetFloat(Monkey,"Mass",15)
	GameObject_AddRigidBodyComponent(Monkey)
Next
    
Scene_AddCompositor("Bloom")
Scene_SetCompositorEnabled("Bloom",True)  

' Try different shadows
'Scene_SetShadowTechnique(SHADOWTYPE_STENCIL_ADDITIVE)  
Scene_SetShadowTechnique(SHADOWTYPE_STENCIL_MODULATIVE)
'Scene_SetShadowTechnique(SHADOWTYPE_TEXTURE_MODULATIVE)
'Scene_SetShadowTechnique(SHADOWTYPE_TEXTURE_ADDITIVE)       


While (Not Input_KeyDown(1)) And Engine_IsActive()   
	Local dt:Float = Engine_LastFrameTime()

	GameObject_Yaw(Camera,-Input_MouseSpeedX()/10.0,GLOBAL_SPACE)
	GameObject_Pitch(Camera,-Input_MouseSpeedY()/10.0,LOCAL_SPACE)

	If Input_KeyDown(17) Then
		GameObject_Move(Camera,0,0,-10*dt,LOCAL_SPACE)
	ElseIf Input_KeyDown(31) Then
		GameObject_Move(Camera,0,0,10*dt,LOCAL_SPACE)
	EndIf
	
	If Input_KeyDown(30) Then
		GameObject_Move(Camera,-10*dt,0,0,LOCAL_SPACE)
	ElseIf Input_KeyDown(32) Then
		GameObject_Move(Camera,10*dt,0,0,LOCAL_SPACE)
	EndIf

	Engine_Update()   
	Engine_Render()	 

Wend

Engine_Drop()