1 / 12

Frame work

Frame work. CWTFrameWork. CWTD3DFrameWork. CWTDummyFrameWork. 멤버. 멤버. 멤버. Resource. static. static. CWTResourceD3D. IWTReferenceCounter. CWTResourceIndexBuffer. IWTStaticDevice. CWTManagerRestore. CWTResourceVertexBuffer. CWTResourceTexture. CWTResourceMesh. CWTCriticalSection.

manon
Télécharger la présentation

Frame work

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Frame work CWTFrameWork CWTD3DFrameWork CWTDummyFrameWork 멤버 멤버 멤버

  2. Resource static static CWTResourceD3D IWTReferenceCounter CWTResourceIndexBuffer IWTStaticDevice CWTManagerRestore CWTResourceVertexBuffer CWTResourceTexture CWTResourceMesh CWTCriticalSection IWTRestoreable 멤버 IDirect3DDevice9 Lock, unlock 멤버 RestoreAll(), Attach/Detach(IWTRestoreable*) 멤버 멤버 멤버 멤버 Restore

  3. Object IProgressable CWTDummyObject IControlable IRenderable IObject IThinkable Update(pure) .. Keyboard(pure), Mouse(pure) Rendr(pure) Destroy(pure) Think(pure)

  4. Ground 어쩔까….. 1. 포함 1. 상속 CWTResourceIndexBuffer CWTGround CWTResourceMesh CWTResourceVertexBuffer CWTGround CWTResourceVertexBuffer CWTResourceTexture CWTResourceIndexBuffer CWTResourceTexture 멤버 멤버 멤버 멤버 멤버 멤버 멤버 멤버 멤버

  5. ASE CLightObject CShapeObject CASEMaterial CGeoMObject INodeObject CCameraObject CASE CTMAnimation CMaterialList CNodeTM I3DDataFile CHelperObject Import() PURE; 멤버 멤버 Import(); 멤버 멤버 멤버 멤버 멤버 멤버 멤버 멤버

  6. ASEObject • 어쩔까?

  7. Renderer Rendering의 절차만을 설정하는 Interface임. Rendering을 수행하기 위한 객체… Rendering을 수행하기 위한 각종 Resource 등등을 참조하고 있음. IRenderer CRendererMesh CRendererQueue CRenderableTop IRenderable z Redering할 Renderer객체를 관리하고 있는 객체. IRenderable중 Rendering을 수행하도록 설정한 class Camera, Viewport정보를 가지고 있음. Camera와 Viewport를 설정한다. RenderTarget을 Clear한다. 가지고 있는 Renderer를 View-Frustum Culling을 수행하여 화면상에 보이는 Renderer만 Render Qeueue에 넣는다. Render Qeueue에 들어 있는 Renderer를 모두 Rendering한다. • Renderer되어 Rendering을 수행할 수 있다. • Rendering에 필요한 모든 정보를 가지고 있다. • Transform Matrix • VertexBuffeer, IndexBuffer, VertexDeclaration • Texture • Draw Type 등등… • Reder()함수에는 1)번 항의 각종 요소들을 적용한후DrawPrimitive를 수행하도록한다.

  8. 만약 ASE로 오브젝트를 그린다면.. static static IRestoreable IObject IRenderable IStaticDevice IProgressable CRendererMesh CTexture CCriticalSection IStaticScene CIndexBuffer CRendererQueue IRenderer Scene FrameWork CRenderableTop CDummyObject CASEFile CLexcer CGeoMBuffer IControlable CVertexBuffer CManagerRestore IReferenceCounter RestoreAll(), Attach/ Detach(IRestoreable*) Lock(), unlock() Render(pure) AddReference()/Release() Update(pure) CRendererMesh에서 최종적으로 그릴 얘들만 모아놓은 큐 Render(pure) Restore(PURE) Destroy(pure) Keyboard(pure), Mouse(pure) CRenderMesh* CRendererQueue* 현재 열려있는 여러 개 가질 수 있음, 부품으로 계층구조를 만들어 준다. 이놈들이 만들어서 리소스 매니저에 넣어주면 될랑가.? Implementation Class Interface Class Delegation Class

  9. Resource mng resource instance Instance mng

  10. 2008-01-09(1) IRenderable IRenderer RendererView RendererMesh RendererQueue InstanceManager RendererMesh RendererQueue Factory StaticRendererManager RendererManager Factory ResourceManager StaticInstanceManager Factory Scene List progressable StaticResourceManager List renderable List controlable RendererView

  11. IRenderer IRenderable 2008-01-09(2) RendererMesh RendererQueue RendererView Scene List progressable Spatial Structure에관현 연산..일단 카메라의 View Frustum으로포탈과 의 검사를 하여 그려져야 되는 방을 검사를 한 다음, Frustum과 옥트리로 만들어진 셀과의 검사를 한다. 그래서 frustum과 검사해야될 객체들의 리스트를 추스린다. List renderable List controlable RendererView 리스트 RendererQueue 위에서 렌더러 큐가 만들어 졌으니까 여기서는 최종적으로 렌더링만 한다. RendererMesh RendererMesh RendererMesh RendererMesh RendererMesh

More Related