Using the OpenGLView code

Necessary files
	OpenGlWnd.cpp
	OpenGlWnd.h
	BallController.cpp
	BallController.h
	TranslationController.cpp
	TranslationController.h
	3dmath.cpp
	3dmath.h
	image.cpp
	image.h
	cdib.cpp
	cdib.h

Link with
	opengl32.lib
	glu32.lib

In the application class derived from CWinApp:
	Force OnIdle calls for any idle time messages using the following code

		BOOL CFullwindowApp::IsIdleMessage( MSG* pMsg )
		{
			// enable idle time processing
			CWinApp::IsIdleMessage(pMsg);

			return TRUE;
		}

	Add handling for idle messages using the following code
		BOOL CFullwindowApp::OnIdle(LONG lCount) 
		{
			// trigger a frame update...comment this line out to prevent continuous redrawing
			AfxGetApp()->GetMainWnd()->Invalidate();

			return(0);
		}

	This version works for multi-document applications...each view is redrawn at idle time
		BOOL COGLTestApp::OnIdle(LONG lCount) 
		{
			// trigger a frame update...comment this line out to prevent continuous redrawing
			CMainFrame*frm = ((CMainFrame*) AfxGetApp()->GetMainWnd());
			CMDIChildWnd* child = frm->MDIGetActive();
			do {
				child->Invalidate();

				child = (CMDIChildWnd*) child->GetWindow(GW_HWNDNEXT);
			} while (child);

			return(0);
		}


	virtual BOOL OnIdle(LONG lCount);
	virtual BOOL IsIdleMessage( MSG* pMsg );

	If you don't want the view to draw as rapidly as possible, comment out the indicated line. Otherwise,
	the application will constantly update the image.

In the CChildView class:
	Change the class definition so it is derived from COpenGLWnd instead of CView.
	Implement the OnCreateGL(), OnDrawGL(), and VideoMode() functions.
	Optionally implement the DrawHeadsUpInfo() function to add application specific information to the heads-up display.
