#Include "Ninfa3d.bi"

dim Shared camera As nCAMERA
dim light01 As nLIGHT
Dim pivot As nMESH
Dim chopper As nMESH
Dim sprite As nSPRITE

'Enable vertical synch.
EnableVsync()

'Starts the Ninfa3D Engine
InitEngine(640,480,32,0)
	BackGroundColor(128,128,128)'Background Color
	AmbientLight(64,64,64)'Ambient color

'Include the file "SampleFuntions.bi.
'It contains useful features, such as drawing the interface and create the test area.
#Include "SampleFunctions.bi"

'Create a camera
camera = CreateCameraFPS(100,1)
	PositionEntity(camera,0,128,-256)' Position

pivot = CreateMeshNull()'Creates an empty mesh is used as the pivot.

'Creates the lights
light01 = CreateLight(LGT_POINT)
    lightradius(light01,200)
	EntityParent(light01,pivot)
	LightCastShadow(light01)'It makes the light cast shadows.
	PositionEntity(light01,0,128,256)' Position
	
sprite = LoadSprite("media/glow.bmp")
	EntityParent(sprite,light01)
	ScaleSprite(sprite,30,30)

CreateGround()'Creates the test area

chopper = LoadMesh("media/chopper.b3d")
	MeshCastShadow(chopper)

While(EngineRun)'Returns 1 if the engine is running.

	'Begins scene
	BeginScene()
	
	'By pressing the "ESCAPE" closes the engine.
	If KeyHit(KEY_ESCAPE) Then CloseEngine()
	
	'Update the Engine.
	'Changing the value (only affects the physics) that will update the
	'Physical faster or slower.
	UpdateEngine(0)
	
	TurnEntity(pivot,0,1,0)

	'Displays the interface (FPS and triangles)
	Interface()

	'End the scene
	EndScene()
	
Wend

'Ends Ninfa3D Engine
EndEngine()