확장계획서 (2019 년도 1 학기 ) 과목명기초컴퓨터그래픽스과목번호 CSE4170 구분 ( 학점 ) 3 수강대상 수업시간화, 목 12:00~13:15 실 2. 선수학습내용 조건을만족하는학부생 성명 : 임인성 홈페이지 : grmanet.sogang.ac.kr/~ihm 담당교수 ( 사진 ) E-mail: ihm@sogang.ac.kr 연락처 : 02-705-8493 장소 : AS905 면담시간 : 추후공고 Ⅰ. 교과목개요 (Course Overview) 1. 수업개요 3D 컴퓨터그래픽스기술은 3D Games, Virtual/Augmented/Mixed Reality, 3D User Interfaces, 3D Animation and Visual Effects, General-Purpose GPU Computing 등다양한부류의디지털콘텐츠제작및공학계산에활발히적용되고있다. 그래픽스프로세서, 즉 GPU의놀라운성능향상으로인하여일반인들이더쉽게이러한기술을접할수있게되었으며, 최근여러형태의응용프로세서의제조기술의발전으로인하여고성능 PC 외에도휴대폰 / 탭또는각종임베디드시스템에서도 3D 컴퓨터그래픽스기술을적용하여제품의부가가치를향상하는것이중요한이슈로대두되고있다. 본과목은 3D 컴퓨터그래픽스분야의요소기술을습득한후그에기반을둔 3D 그래픽스소프트웨어개발능력을갖춤을목표로한다. 2. 선수학습내용 - 프로그래밍 : 컴퓨터공학과 3 학년 1 학기생수준의 C/C++ 프로그래밍스킬 - 이론 : 공대생 2 학년수준의행렬 / 벡터연산및기본적인기하이론에대한이해 3. (%) 토의 / 토론실험 / 실습현장학습개별 / 팀별발표기타 4. 평가방법 (%) 90% % 10% % % % 중간고사기말고사퀴즈발표프로젝트과제물참여도기타 30% 30% 5% % 30% 5% % %
Ⅱ. 교과목표 (Course Objectives) 본과목에서는 3D 컴퓨터그래픽스분야를구성하는기본요소인렌더링, 애니메이션, 그리고기하모델링등세분야에대한이론및실제기술적용방법을이해하고, 이를효과적으로활용할수있는프로그래밍스킬에대하여이해하여본다. 특히현재산업체의수요를반영하여실시간 3D 그래픽스기술의이해및적용능력, 그중 PC 환경및모바일기기환경에서의실시간렌더링소프트웨어의제작능력습득에주안점을두고를진행한다. 또한, 이를통하여자연스럽게여러분야에서활발히사용되고있는 PC 및모바일플랫폼상에서의 GPU computing architecture, 즉 SIMD 기반의 many-core processing 구조에대한이해를높여, 향후 CUDA/OpenCL/OpenGL Shader 등을이용한 massively parallel computing에대한기초를쌓도록한다. 이를위하여다음과같은산업체에서필요로하는 3D 그래픽스프로그래밍능력을습득한다. 1. PC 플랫폼에서의 OpenGL API를통한그래픽스프로그래밍 ( 학과실습실또는개인 PC 사용 ) 2. Unity 환경에서의 HLSL/Cg 기반쉐이더프로그래밍을통한모바일플랫폼용 3D 그래픽스기술적용앱제작 ( 학과실습실또는개인 PC 사용 /Public-domain Unity 3D SW 사용 ) 3. 안드로이드환경의휴대폰 / 탭플랫폼상에서의 OpenGL ES API를통한그래픽스프로그래밍 ( 학과보유삼성갤럭시탭대여또는개인휴대폰 / 탭사용 ) Ⅲ. 수업운영방식 (Course Format) ( * Ⅰ-3 의의구체적설명 ) - 기본적으로정규수업시간에는 3D 컴퓨터그래픽스분야와관련한이론및이의구현을위한프로그래밍기법전반에대한를진행한다. - 정규수업시간외에 ( 필요에따라 ) 저녁시간에학과실습실에모여 OpenGL 프로그래밍에대한튜토리얼 ( 실험 / 실습 ) 시간을갖는다. 특히이를통하여프로그래밍숙제와관련한예제프로그램설명및질의 / 응답시간의기회를제공한다. Ⅳ. 학습및평가활동 (Course Requirements and Grading Criteria) - 정규고사기간중에중간고사및기말고사등두번에걸쳐필기시험을본다. - 필요할경우적절하게수업시간에퀴즈를본다. - 몇차례에걸쳐프로그래밍숙제를부여한다. - 필요할경우적절하게문제풀이숙제를부여한다. [ 주의 ] I-4 의성적평가비율은잠정적이며, 수업의진행을통하여각항목에대한비중을고려하여적절히 추가 / 변경할수있음. Ⅴ. 수업규정 (Course Policies) - 수업진행과관련하여학칙과보편적인관례를따른다. - 다만수업중타인에게피해가되거나수업분위기를해치는행동은금지한다.
Ⅵ. 교재및참고문헌 (Materials and References) < 본과목제공자료 > - 임인성, OpenGL을통한 3차원그래픽스프로그래밍 : 기초편, 그린출판사, 2001. (pdf 파일형태로제공예정 ) - 본과목자료 - 컴퓨터그래픽스연구실보유각종예제프로그램. (PC용및모바일기기용 ) <3D 컴퓨터그래픽스전반 > ( 또는이에상응하는교재를자신이선택 ) - J. Hughes et al., Computer Graphics: Principles and Practice(3rd ed.), Addison-Wesley, 2013. - S. Marscner et al., Fundamentals of Computer Graphics(4th ed.), CRC Press, 2015. - E. Angel, Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL (7th ed.), Addison-Wesley, 2014. - T. Akenine-Möller et al., Real-Time Rendering(4th ed.), AK Peters/CRC Press, 2018. - 기타 <Open/OpenGL ES 프로그래밍관련 > - D. Shreiner et al., OpenGL Programming Guide(9th ed.): The Official Guide to Learning OpenGL, Versions 4.5 with SPIR-V, 2016. - G. Sellers and R. Wright Jr., OpenGL Superbible: Comprehensive Tutorial and reference(7th ed.), Addison-Wesley Professional, 2015. - D. Wolff, OpenGL 4 Shading Language Cookbook(3nd ed.), Packt Publishing, 2018. - D. Ginsburg et al., OpenGL ES 3.0 Programming Guide(2nd ed.), Addison-Wesley, 2014. - 기타 OpenGL 및 OpenGL ES API 관련기술자료문서, (http://www.khronos.org/ 참조 )
Ⅶ. 주차별계획 (Course Schedule) (* 추후변경될수있음 ) 1 주차 2 주차 3 주차 4 주차 5 주차 학습목표주요학습내용수업자료과제학습목표주요학습내용수업자료과제학습목표주요학습내용수업자료과제학습목표주요학습내용수업자료과제학습목표주요학습내용수업자료 Introduction to Computer Graphics & Raster Graphics Fundamentals 3 차원컴퓨터그래픽스전반에대하여알아본다. 또한현재컴퓨터그래픽스시스템의기본이되고있는 Raster Graphics System 에대하여이해한다. GLUT Programming PC 상에서의 OpenGL 프로그래밍을위한 GLUT API 사용법을익힌다. 또한예제프로그램을통하여전반적인 OpenGL 코드의형태를이해한다. Geometric Transform and 3D Viewing Pipeline 기본적인기하변환에대한배운후, 현재실시간렌더링파이프라인에서사용되고있는 3D 뷰잉파이프라인의구조를이해한다. 3D Viewing Programming Using OpenGL OpenGL 시스템에서사용되고있는뷰잉모델을살펴보고그의구동을위한실시간렌더링프로그래밍기법을익힌다. Lighting Models 물체표면의색깔을자연스럽게계산하기위하여컴퓨터그래픽스분야에서사용되고있는조명모델과이에기반을다면체모델에대한쉐이딩방법에대하여살펴본다. 또한 RGBA 칼라모델과응용기법에대하여이해한다. 과제 6 주차 학습목표 주요학습내용 3D Lighting Programming Using OpenGL OpenGL 에서사용되고있는조명모델및쉐이딩모델에대하여살펴본후실습을통하여렌더링실습을하여본다 / 투토리얼
수업자료 과제 학습목표 Rasterization and Interpolation 7 주차 8 주차 주요학습내용수업자료과제학습목표주요학습내용학습목표주요학습내용 꼭지점을기본요소로하는 3 차원기하물체를 2 차원픽셀데이터로변환해주는래스터화과정과보간계산에대하여살펴본다. 또한자르기, 은면제거등렌더링파이프라인에서속도향상을위하여사용하는기법들에대하여소개한다. 평가 중간고사 필기고사 Texture Mapping Techniques 3D 실시간렌더링에있어렌더링영상의사실성을높이기위하여널리쓰이고있는텍스처매핑기법에대하여배운다. 9 주차 10 주차 수업자료과제학습목표주요학습내용수업자료과제학습목표 OpenGL Rendering Pipeline Review 지금까지배운내용을토대로전통적인 OpenGL 렌더링시스템의렌더링파이프라인을이해한후, 이러한구조가어떻게 Massively Parallel Streaming Processor 인최근 GPU(Graphics Processing Unit) 의쉐이더기반구조로변해왔는지이해한다. Introduction to Unity and HLSL/Cg Shader Programming 11 주차 주요학습내용수업자료과제 3D 게임엔진으로널리사용되고있는 Unity 환경에서 HLSL/Cg Shading Language 를사용하여쉐이더프로그래밍을하는데필요한기초에대하여알아본다. 또한, 그러한 Unity 작업내용을모바일환경으로변환하는방법에대하여알아본다. [A], [B], [C], 기타 OpenGL ES 프로그래밍가이드 12 주차학습목표 Advanced Shader Programming
주요학습내용쉐도우매핑등과같은텍스처기반의고급쉐이딩기법에대하여배운다. 수업자료 과제 학습목표 Advanced Shader Programming/ Data Structures for 3D Graphics 주요학습내용몇가지고급쉐이딩기법및관련자료구조에대하여배운후응용하여본다. 13 주차 수업자료 14 주차 과제학습목표주요학습내용수업자료과제 Ray Tracing Techniques 사실적인영상생성에필수적인전역조영기법에대하여이해한다. 특히전통적으로영화및광고등의분야에서고급특수효과제작을위하여널리쓰여온광선추적법의기초가되는기본원리및구현기술에대하여알아보고, 또한이러한기술이실시간렌더링에어떻게적용될수있는지알아본다. 학습목표 Virtual/Augmented/Mixed Reality ( 또는고급 OpenGL Shader 프로그래밍기법 ) 15 주차 16 주차 주요학습내용수업자료과제학습목표주요학습내용 최근하드웨어제조기술의발전으로인하여다시각광을받고있는가상현실및증강현실, 그리고이들을혼합한혼합현실기술에대하여알아본다. 평가 중간고사 필기고사
Ⅷ. 참고사항 (Special Accommodations) - 장애로인하여수강시지원이필요한학생들은개별적으로찾아와상의하기바랍니다. - 프로그래밍숙제는본과목에서제공하는예제프로그램을기반으로할예정이며, 또한숙제에대하여필요하다고판단될경우튜토리얼시간을가질예정임. < 본과목에서다룰예제프로그램예 >