Download presentation
Presentation is loading. Please wait.
1
비주얼 프로그래밍(2009) 창원대학교 정보통신공학과 박동규
2
교과목 소개 강의 목표 OpenGL을 이용한 그래픽스 프로그래밍
C와 OpenGL API 프로그래밍 프로그래밍을 통하여 그래픽스 시스템의 원리를 익힌다. OpenGL을 통한 기초적인 그래픽스 문제의 이해와 프로그래밍의 원리를 익히도록 한다.
3
교재 OpenGL을 이용한 컴퓨터 그래픽스 5판 사이텍미디어, 구자영역, Edward Angel저
4
목차 01 그래픽스 시스템과 모델 02 그래픽스 프로그래밍 03 입력과 상호작용 04 기하학적 객체와 변환 05 관측 06 음영법 07 정점에서 단편들까지 08 이산적 기법들 09 프로그래머블 음영 처리기 10 모형화와 계층 11 절차적 기법
5
강사소개 박동규(朴東圭) 정보통신공학과 교수 연구실 : 공대 51호관 322호실
6
강의 진행에 대하여 강의에 적극적으로 참여할 것 강의와 함께 OpenGL 프로그래밍 실습을 병행할 예정
수시로 질문하고 궁금한 사항에 대해서 문제를 제기할 것 발표 시에 적극적인 태도로 할 것 강의와 함께 OpenGL 프로그래밍 실습을 병행할 예정 실습을 통해서 프로그래밍 능력향상 OpenGL API의 활용 능력 배양
7
강의자료 및 과제물 강의자료는 위키페이지에 업로드 함 과제물은 특별한 공지가 없는 한 제출기간이 일주일임
과제물은 특별한 공지가 없는 한 제출기간이 일주일임 해당 수업시간의 과제는 1주일 후 동일 시간대의 수업시작 이전에 제출할 것
8
시험 시험은 프로그래밍 시험과 필기시험을 실시할 예정임 기말과제 프로그래밍 시험은 Open Book으로 실시할 예정
반드시 교재를 구입할 것 기말과제 OpenGL을 이용한 데스크탑용 게임 Windows 또는 Mac 모바일 장치에서 수행되는 게임 iPhone WIPI 3D game등
9
과제표지 Sample
10
과제 제출시 유의사항 실행화면을 화면 캡쳐하여 이를 제출함 핫키 Alt-PrtSc (윈도우 하나 캡쳐)
텍스트 창의 화면을 배경을 흰색으로 텍스트를 검은색으로 하여 출력할 것(위반시 감점됨) 콘솔창의 등록정보에서 배경, 텍스트 색상 조절할 것
11
유의사항 소스 코드의 경우 HWP나 MS Word를 이용하여 double column, 8 point font로 제출할 것
출력 결과와 함께 제출할 것 소스코드에 프로그램을 설명하는 comment를 삽입 (comment 없는 프로그램은 0점 처리) 프로그램은 자신의 힘으로 할 것
12
캐드 Computer-Aided Design 설계에 필요한 인력,시간, 노력 등을 단축함으로써 설계효율을 향상
Computer-Aided Manufacturing Numerical Control Machine 자동생산에 따른 효율과 가공의 정밀도 향상
13
프레젠테이션 그래픽스 막대 차트(Bar Chart), 선 그래프(Line Chart), 파이 차트(Pie Chart), 입체 그래프(Surface Graph) 백문(百聞)이 불여일견(不如一見) 시선을 붙잡을 것
14
가상현실 Virtual Reality “존재하지 않는 가상의 환경을 구성하되 그것이 마치 현실과 똑같이 느껴지도록 만드는 데 주안점” 기술적 요소 입체화면, 3차원 입체 음향, 데이터 장갑 장면 데이터베이스, 그래픽 소프트웨어 인지과학, 전자공학, 기계공학, 음향학
15
Virtual Walkthrough
16
미술 무선 스타일러스 펜 그래픽 소프트웨어
17
애니메이션 및 게임 Ants 소요 내역 양 총 프레임(정지화면) 수 119,592 개 주당 렌더링에 소요된 시간
275,000 시간 평균 정지 프레임 크기 6 MB 렌더링에 사용된 실리콘 그래픽 서버 수 270 대 프로세싱에 사용된 데스크 탑 컴퓨터 수 166 대 프로세서 당 평균 메모리 용량 156MB 1개의 프로세서로 제작할 경우의 소요시간 약 54년 영화 저장을 위한 보조기억 장치 용량 3.2 TB 매 순간 온 라인으로 공유된 프레임 수 75,000 개
18
애니메이션 및 게임 캐릭터, 배경화면, 애니메이션 사용자와 프로그램 사이의 상호작용 설계 상호작용에 걸리는 시간을
시장성 면에서 볼 때 무한한 가능성
19
교육 및 훈련 CAI(Computer Aided Instruction) 학습 보조도구로서 컴퓨터를 활용
컴퓨터에 내재하는 추론 기능과 지식 데이터베이스 텍스트 + 시각 정보를 활용 Ex. Exploded View
20
교육및 훈련 시뮬레이션
21
과학분야 가시화 SCI VIS(Scientific Visualization) 대용량 정보분석
자연현상을 시각화. 현상 내부의 패턴이나 추세를 직관적으로 파악
22
그래픽 사용자 인터페이스 GUI(Graphic User Interface) 메뉴, 스크롤바, 아이콘, … 사용자 편의를 고려
23
그래픽 히스토리 ‘60 이반 서더런드(Ivan Sutherland) 컴퓨터 그래픽의 창시자
1960 William Fetter “컴퓨터 그래픽”이란 용어를 최초로 사용 1963 Ivan Sutherland 컴퓨터 그래픽의 제반 개념을 확립 Douglas Englebart 최초의 마우스 프로토타입 1965 Jack Bresenham 선분 그리기 알고리즘을 개발 이반 서더런드(Ivan Sutherland) 컴퓨터 그래픽의 창시자 대화형 컴퓨터 그래픽 개념: 라이트 펜으로 의사전달 스케치패드 프로젝트 직선, 원호 등 기본적 그래픽 요소를 사용하여 물체를 표현하는 방법 기본물체를 조합하여 큰 물체를 모델링한다는 계층구조 모델링 물체를 선택하여 이동하는 방법 팝업 메뉴에 의한 사용자 입력
24
그래픽 히스토리 ‘70 그래픽 알고리즘의 시기 1971 Gouraud 구로 셰이딩 알고리즘 1973
John Whitney Jr. 컴퓨터 그래픽에 의한 최초의 영화 “West World" 1974 Edwin Catmuff 텍스쳐 매핑, 지-버퍼 알고리즘 Bui-Tong Phong 전반사에 의한 하이라이트 알고리즘 1975 Martin Newell 베지어 표면 메쉬를 사용한 차 주전자 모델 Benoit Mandelbrot 프랙탈 이론 1976 Jim Blinn 주변 매핑, 범프 매핑 이론 1977 Steve Wozniak 컬러 그래픽 PC: Apple II Frank Crow 앤티 에일리어싱 알고리즘 1979 Kay, Greenberg 최초로 투명한 물체 면을 그려냄
25
그래픽 히스토리 ‘80 PC의 시대, 래스터 그래픽 하드웨어 기하 엔진 출현 1980 Turner, Whitted
광선 추적 알고리즘 1982 Steven Lisberger 3차원 그래픽 애니메이션 “Tron" John Walkner, Dan Drake "AutoCAD" 1983 Jaron Lanier 데이터 장갑을 사용한 가상현실 영화 1985 Pixar "Luxo Junior" NES 가정용 게임 "Nintendo" 1986 Steve Jobs Lucasfilm사의 Pixar 그래픽 그룹을 인수 1987 IBM VGA 그래픽 카드 1989 SVGA 그래픽 카드 "Tin Toy" 아카데미상 수상
26
그래픽 히스토리 ’90 사실적(Photo-realistic) 그래픽 영상에 주력 1990
Pixar: Hanrahan, Lawson 렌더링 소프트웨어 "Renderman" 개발 Gary Yost 3-D Studio 개발 1991 Disney and Pixar "Beauty and the Beast" 1992 Silicon Graphics openGL 사양 발표 1993 Steven Spielberg "Jurassic Park" 1995 Pixar "Toy Story" Microsoft DirectX API 사양 발표 1996 John Carmack, Michael Abrash Quake 그래픽 엔진 개발 1999 NVIDIA GeForce 256 GPU
27
그래픽 히스토리 ‘2000 영화, 게임 응용의 시기 2001 Square "Final Fantasy:
The Spirits Within" 2003 Timothy Purcell 광선추적 기법을 GPU에 적용 2004 Id Software Doom Engine 발표 DirectX, openGL New Version 발표
28
그래픽 이론 2가지 구성요소 모델링 렌더링 장면 내부 물체를 정의하는 작업 선분의 끝점, 다각형의 정점을 정의
정의될 물체를 그려내기 와이어 프레임 렌더링, 솔리드 렌더링
29
Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
컴퓨터 게임의 역사 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
30
Early Origins of Video Games
1958 “Tennis for Two” (William Hoginbotham, Brookhaven National Lab) Oscilliscope-based two-player game with primitive “controller” William Higinbotham Used dials to control the angle, elevation, and a button for launching and reset
31
Early Origins of Video Games
1961 Spacewar (Steve Russell, MIT “Tech Model Railroad Club”) First fully-interactive video game First special-purpose game “joysticks” added later DEC PDP-1 Steve Russell, also co-wrote LISP $120,000 cost for PDP-1 Years before the invention of the pocket calculator Distributed by DEC with each PDP-1 sold
32
Commercial Arcade Games
1971 Computer Space (Nolan Bushnell, Nutting Associates) First commercial coin-operated arcade videogame 1500 units built, but it did not sell well Nolan Bushnell played Spacewar on PDP-1 while at Univ. of Utah
33
Commercial Arcade Games
1972 PONG (Nolan Bushnell, Atari) First commerically-successful arcade videogame Entirely solidstate (no ROMs or microprocessors) 8,500 machines sold at $1200 each Nolan Bushnell “Atari” is the equivalent of “check” in the Japanese game “GO” "AVOID MISSING BALL FOR HIGH SCORE "
34
Home Video Game Systems
1972 Odyssey (Ralph Baer, Magnavox) First commercial home video game system Uses only 40 transistors and 40 diodes! 100,000 sold the first year at $100 each Plastic overlays placed on the screen to simulate complex graphics Players needed to keep score themselves because the machine was incapable of doing do Odyssey controllers
35
Notable Early Video Games
1974 TANK ( Kee Games / Atari, Inc. ) First arcade videogame to use ROMs 1975 Gunfight (Taito / Midway) First arcade game using a microprocessor
36
Other Notable Arcade Games
1977 Space Wars (Cinematronics) First arcade game to use vector display technology ( later used in Atari’s wildly successful “Asteroids”) 1977 SPACE WARS 1980 ASTEROIDS 1983 Dragon’s Lair (Starcom / Cinematronics) First arcade game to utilize laser-disc technology
37
Other Notable Arcade Games
1984 I, Robot / “Ice Castles” (Atari, Inc. ) First game to use 3D polgon rendering technology 1992 Virtua Racing (Sega) First multi-player driving game using force-feedback steering, realistic graphics and “physics”
38
The Evolution of Home Game Systems
1972 Magnavox Odyssey 40 transitors, 40 diodes 1977 Atari VCS (2600) 1.19 MHz Motorola bytes of VRAM 1982 Coleco Colecovision 3.58 MHz. 8-bit Z-80A 49Kb RAM 1985 Nintendo Entertainment System (NES) 8-bit Motorola color custom graphics chip 1989 Sega Genesis 8 MHz Motorola 16-bit 68000 1991 Super Nintendo (SNES) 3.58 MHz 16-bit CPU + 16b video 128Kb RAM + 64Kb VRAM 1995 Sony Playstation 33 MHz 32-bit custom graphics 1996 Nintendo 64 94 MHz 64-bit Mips CPU 2000 Playstation PS2 295 MHz 128-bit “Emotion Engine” 2001 Microsoft X-box 733 MHz 128-bit Intel CPU, nForce GPU Nintendo Gamecube 485 MHz 128-bit PowerPC RISC Atari 2600 (Stella) Was on the market longer than any other - 13 years (until 1990) - Earned $5 billiion in 5 years
39
Gameboy
40
FPS Game FPS Game Wolfensten 3D Quake 3 Arena 최초의 PC기반 FPS 게임
ID Software 제작 1992년 MS-DOS용 배포 Quake 3 Arena 다중 플레이어 3D 슈팅 게임 1999년, 존 카멕
41
존 카멕 역사상 최고의 슈퍼 게임 프로그래머 FPS(First Person Shooter: 1인칭 액션 슈팅게임)라는 게임 장르를 창조 3D 기술로 전체 게임 프로그래밍 분야에 일대 혁명을 초래함 데스매치로 명명된 네트워크 플레이는배틀넷이라는 개념으로 확대 개발한 게임의 소스를 모두 공개
42
QnA Thanks!!
Similar presentations