对比 KlayGE 和 MagiCube 对 OpenGLES 支持(草稿)

android:native_app_glue,EGL

openGL ES ,EGL 初始化:http://blog.sina.com.cn/s/blog_53761ba70100nklx.html

http://developer.android.com/reference/android/app/NativeActivity.html

 

magicube : CPVRShellVideoContext

CPVRShellVideoContext(irr::u32 width,irr::u32 height,
				bool stencilBufferEnable	= false,ECOLOR_FORMAT colorFormat = ECF_A8R8G8B8,
				EGLDisplay	display=0,EGLSurface surface=0,EGLContext drawContext=0);

 

klayge:App3DFramework::Create()

void App3DFramework::Create()
	{
		ContextCfg const & cfg = Context::Instance().Config();
		Context::Instance().RenderFactoryInstance().RenderEngineInstance().CreateRenderWindow(name_,
			cfg.graphics_cfg);

		if (cfg.deferred_rendering)
		{
			Context::Instance().DeferredRenderingLayerInstance(MakeSharedPtr<DeferredRenderingLayer>());
		}

		this->InitObjects();
		this->OnResize(cfg.graphics_cfg.width, cfg.graphics_cfg.height);
	}

  

 

 

 

 

 

 

 

 

 

 

 

 

 

deferred shading

Multiple Render Targets (MRTs),G-buffer

 

 

Class:RenderFactory,Renderable,Renderlayout,RenderView

posted @ 2012-02-02 17:06  maadiah  阅读(263)  评论(0编辑  收藏  举报