Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Frame work CWTFrameWork 멤버 CWTD3DFrameWork 멤버 CWTDummyFrameWork 멤버."— Presentation transcript:

1

2 Frame work CWTFrameWork 멤버 CWTD3DFrameWork 멤버 CWTDummyFrameWork 멤버

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

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

5 1. 포함 1. 상속 Ground CWTResourceIndexBuffer 멤버 CWTResourceVertexBuffe r 멤버 CWTResourceTexture 멤버 CWTResourceMesh 멤버 CWTGround 멤버 CWTGround 멤버 CWTResourceIndexBuffer 멤버 CWTResourceVertexBuffe r 멤버 CWTResourceTexture 멤버 어쩔까 …..

6 ASE I3DDataFile Import() PURE; CNodeTM 멤버 CTMAnimation 멤버 CASE Import(); INodeObject 멤버 CGeoMObject 멤버 CShapeObject 멤버 CCameraObjec t 멤버 CLightObject 멤버 CHelperObject 멤버 CMaterialList 멤버 CASEMaterial 멤버

7 ASEObject 어쩔까 ?

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

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

10 instance resource Instance mng Resource mng

11 Factory Instance Manager Factory Renderer Manager Factory Resource Manager StaticInstance Manager StaticResourc e Manager StaticRenderer Manager Scene List progressable List renderable List controlable Renderer Mesh Renderer View Renderer Queue IRenderer IRenderable Renderer Mesh Renderer View Renderer Queue 2008-01-09(1)

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


Download ppt "Frame work CWTFrameWork 멤버 CWTD3DFrameWork 멤버 CWTDummyFrameWork 멤버."

Similar presentations


Ads by Google