//---------------------------------------------------------------------- // //---------------------------------------------------------------------- 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; }