Esempio n. 1
0
	//----------------------------------------------------------------------
	//
	//----------------------------------------------------------------------
    void GLGraphicsDevice::initialize( const ConfigData& configData )
	{
		GraphicsDeviceBase::initialize( configData );

		//LNGL::InitData lngl_data;
  //      lngl_data.LogFile       = NULL;
  //      lngl_data.SystemManager = configData.SystemManager;
  //      LNGL::initialize( lngl_data );

		mPlatformContext = LN_NEW GLPlatformContext();
		mPlatformContext->initialize( configData.SystemManager );

		mDefaultCanvas = LN_NEW GLCanvas();
		mDefaultCanvas->create(this, configData.SystemManager->getMainWindow(), configData.BackbufferSize, BackbufferResizeMode_Scaling);	// TODO: ResizeMode

		mRenderer = LN_NEW GLRenderer();
		mRenderer->initialize( this );
	}
MStatus RadiosityRenderer::doIt(const MArgList &args)
{
	this->args = args;
	windowWidth = 640;
	windowHeight = 480;
	
	SDL_Window *window = SDL_CreateWindow( "Radiosity Renderer Viewport", 0, 0, 640, 480,
										   SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE );
	
	SDL_GLContext glcontext = SDL_GL_CreateContext(window);
	
		
	glClearColor(0,0,0,1);
	glClear(GL_COLOR_BUFFER_BIT);
	
	M3dView curView = M3dView::active3dView();
	MDagPath camDagPath;
	curView.getCamera( camDagPath );
	
	IterateThroughDag();
	//Pass DAG to renderer, let renderer render scene...
	
	SDL_GL_MakeCurrent(window, glcontext);
	GLRenderer renderer = GLRenderer(640,480);
	renderer.RenderToScreen();
	
	SDL_GL_SwapWindow(window);
	
	//Write pixels to render window...
	
	prepareRenderView();
	SDL_GL_MakeCurrent(window, glcontext);
	renderBufferToRenderView();

	sleep(1);
	SDL_GL_DeleteContext(glcontext);
	SDL_DestroyWindow(window);
	SDL_Quit();
	
	return MS::kSuccess;
}