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

Slides:



Advertisements
Similar presentations
COMPUTER GRAPHICS SOFTWARE.
Advertisements

黃聰賢. Light Position Mesh Polygon Shadow Polygon  Clear color buffer and stencil buffer  Render the scene with ambient only.
INTRODUCTION. Painting with numbers! Aspects Modeling Rendering Animation.
CS 4731: Computer Graphics Lecture 18: Hidden Surface Removal Emmanuel Agu.
제 5 장 서브넷팅과 슈퍼넷팅 5.1 서브넷팅 5.2 마스킹 5.3 서브넷팅 예 5.4 가변 길이 서브넷팅 5.5 슈퍼넷팅
Overview Introduction Constructing a scene Rendering Frustum culling OpenGL Performer.
Fall 2006 revised1 Frustum Culling in OpenGL Ref: MarkMoley.com.
CHAPTER 7 Viewing and Transformations © 2008 Cengage Learning EMEA.
Introduction to 3D Computer Graphics and Virtual Reality McConnell text.
Eriq Muhammad Adams J. | Informatics University of Brawijaya.
COMP SCI 352 Computer Graphics and Animation. Computer Graphics2 My name is … My name is … How to find me How to find me Course Policies Course Policies.
Open Scene Graph Visualization II MSIM 842, CS 795/895
Programming Concepts. Derive a new class from Activity of the framework Prepare the data beforehand, e.g., vertices, colours, normal vectors, texture.
CSE 381 – Advanced Game Programming Basic 3D Graphics
Sogang univ. database lab.
Dynamic Meshing Using Adaptively Sampled Distance Fields
Practical Text Mining With Perl 데이터베이스연구실 김 민 흠. 3.7 Two Text Application This section discusses two applications, which are easy to program in Perl thanks.
Game Programming 05 3D math for Games 2010 년 2 학기 디지털콘텐츠전공.
UW EXTENSION CERTIFICATE PROGRAM IN GAME DEVELOPMENT 2 ND QUARTER: ADVANCED GRAPHICS The Geometry Pipeline.
OPERATIONMANUALOPERATIONMANUAL F160 Vision System.
DSP Lab. Week 5 complex Doug Young Suh Media Lab. Rm401 Last update : September 16, 2015.
 UDK and Unity are both game engines that offer a wide variety of options to create pretty much any type of game.  Each game engine has a built in environment.
2 COEN Computer Graphics I Evening’s Goals n Discuss application bottleneck determination n Discuss various optimizations for making programs execute.
2008/9/24 Kim, HyungSeok. HyungSeok Kim, Konkuk University Part I: Framework – 1. Windows creation – 2. Renderer – 3. Lights and Objects/Model loading.
1/43 고급자바프로그래밍 (ADVANCED JAVA PROGRAMMING) 강원대학교 컴퓨터학부 2012 년 가을학기 담당교수 정충교 1.
OpenGL Selection. Three Selection Methods Color coding (OpenGL) Selection mode (OpenGL) Selection ray (generic)
Prof. Jin Wan Park Chung-Ang Univ. GSAIM, Future Media Art Lab #9.
3D Viewers Two main uses: –Detector/event exploration – interactivity priority (15fps min). –Generate presentation material (still/movie renders) – quality.
Mark Nelson 3d projections Fall 2013
Jens Krüger & Polina Kondratieva – Computer Graphics and Visualization Group computer graphics & visualization 3D Rendering Praktikum: Shader Gallery The.
Sky Boxes and Vector Math 2 Course Information CVG: Programming 4 My Name: Mark Walsh Website:
Database Laboratory Lim, Hyunsook Inventors : Scott Davidson Lowry, Robert M. Lowry Assignee : Electronic Data Systems Corporation Filed : Jul. 1, 1996.
The Java Context Awareness Framework(JCAF) Ji-Yeon Lee.
Math&Com Graphics Lab Vector Hyoungseok B. Kim Dept. of Multimedia Eng. Dongeui University.
GVE, Hallym University, Chang Geun Song Ph.D. 1 Chap2. 3D Graphics Fundamentals 한림대학교 컴퓨터공학부 송 창근.
Chapter 14 DirectInput의 전말
2009 GRAPHICS : PROJECT 1 BASED ON DX9 BASICS. Documented by Dongjoon Kim SNU CS Ph.D Course Student Contact : NOTE.
Loading the Data Warehouse (Chapter10) Data Warehousing Lab. Semester 2 HyunSuk Jung.
©2005, Lee Iverson Lee Iverson UBC Dept. of ECE EECE 478 Viewing and Projection.
OpenGL: The Open Graphics Language Introduction By Ricardo Veguilla.
IRM Enforcement of Java stack Inspection Pslab YunKyung Kim.
Rendering Pipeline Fall, D Polygon Rendering Many applications use rendering of 3D polygons with direct illumination.
Maths & Technologies for Games Graphics Optimisation - Batching CO3303 Week 5.
Jens Krüger & Polina Kondratieva – Computer Graphics and Visualization Group computer graphics & visualization GameFX C# / DirectX 2005 The Rendering Pipeline.
방명록 제작. 목차  기본 레이아웃  DB 구조  방명록 구조  코드 설명  화면 설명.
Terrain. Basic Terrain Rendering  산이나 계곡등의 지형을 나타내는 방식  텍스쳐를 추가하면 해변이나 풀덮인 언덕, 눈덮힌 산 등을 표현할 수도 있다.  전체 지형을 다 그리는 것은 낭비이며 보이는 부분만 그리고 (View Frustum.
An Exception Monitoring System for Java ps lab Yun-kyung Kim.
3D Engine Programming CGCII Cho sanghyun’s Game Classes II All Right Reserved ©SD Labs.
Data Mining : Basic Data Mining Techniques Database Lab 김성원.
Design Visualization Software Introduction / Review.
Mobile & Casual Gaming OpenGL ES Intro. /red/chapter03.html.
3D GRAPHICS RENDERING PIPELINE CS / TECHNICAL BACKGROUND PAGE 11.
7. Design and Performance. 7.1 INTRODUCTION Good Performance = Careful Design x Careful Choice of Coding Parameters [ Issues on this Chapter ] The design.
Creation and Visualization of 3D Scenes with the MRPT library January, 2007 Jose Luis Blanco Claraco Dept. of Automation and System Engineering University.
데이타베이스 보안 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ORACLE XML DB Repository 이 윤 주 인터넷기술 (032ITI10)
Mobile Harbor Project 김효영. Contents  About CSD Lab  What is Mobile Harbor?  About the Project.
Spring 2006 G5BAGR – Advanced Computer Graphics
Scene Manager Creates and places movable objects like lights and cameras so as to access them efficiently, e.g. for rendering. Loads and assembles world.
Ogre Overview Lecture 3.
Ogre Overview.
Ogre.
Game Development Unity3D.
זכויות סוציאליות.
Projection in 3-D Glenn G. Chappell
Presented by 鄭游駿(Yu-Chun Cheng) 2009/11/27
Visibility (hidden surface removal)
More modeling terms resolution –distinguish separate entities on the display vsync – syncs GPU frame-rate output with monitor refresh rate tessellation.
Terrain Jyun-Ming Chen Spring 2004.
Transformation Back-face culling View frustum culling
TRANSFORM! SEUNGYONG CAR CITE 김동현, 안종민, 이승희, 이유경.
Presentation transcript:

Frame work CWTFrameWork 멤버 CWTD3DFrameWork 멤버 CWTDummyFrameWork 멤버

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

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

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

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

ASEObject 어쩔까 ?

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 등등을 참조하고 있음.

만약 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 현재 열려있는

instance resource Instance mng Resource mng

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 (1)

(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