| Type RenderContext
Field group:tgadget
Field panel:tgadget
Field hWnd
Field hDC
Field hRC
Field FPS#
Field FPSLastUpdateTime
Field frames
	Method Render()
	
		'Setup Viewport
		w=ClientWidth(group)
		h=ClientHeight(group)
		glViewport 0.0,0.0,w,h
		glClearColor 0.0,0.0,1.0,0.0
		glClear GL_DEPTH_BUFFER_BIT+GL_COLOR_BUFFER_BIT
	
		glMatrixMode GL_PROJECTION
		glLoadIdentity()
		glPushMatrix()
		gluPerspective 45.0,Float(w)/Float(h),1.0,100.0
	
		'Draw Triangle
		glBegin GL_TRIANGLES
		glVertex3f 0.0,0.0,-10.0
		glVertex3f 1.0,1.0,-10.0
		glVertex3f 1.0,0.0,-10.0
		glEnd
		
		glpopmatrix()
		
		glLoadIdentity()
		glPushMatrix()	
		glOrtho 0,w,h,0,-1,1
		glRasterPos2f 1,13
		
		s$=fps
		Local buffer@ Ptr=s.ToCString()
		glListBase(listBase)
		glCallLists(s.Length,GL_UNSIGNED_BYTE,buffer)
		MemFree(buffer)
		
		glpopmatrix()
	
		'Flip buffer
		SwapBuffers hdc
		
		frames=frames+1
		time=MilliSecs()
		elapsed=(time-FPSLastUpdateTime)
		If elapsed>1000
			fps#=frames/(elapsed/1000.0)
			FPSLastUpdateTime=time
			frames=0
			EndIf
		
	EndMethod
EndType 
 
 |