일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 셰이더
- win32
- Geometry Modeling
- 렌더링
- 핵심 API로 배우는 윈도우프로그래밍
- 그래픽스기초
- 셰이더프로그래밍
- bezier curve
- c4d
- 운영체제
- 컴퓨터 아키텍쳐
- 오픈지엘
- Graphics
- MFC
- shader programming
- 컴퓨터 구조
- denoising
- modeling
- window programming
- shader
- Mesh Processing
- 윈도우 프로그래밍
- Win32 API
- 그래픽스
- MFC 윈도우 프로그래밍
- OpenGL
- 윈도우 구조
- 베지에 곡선
- 윈도우프로그래밍
- 윈도우
- Today
- Total
오다기리 박의 알고리즘 노트
[OpenGL로 배우는 컴퓨터 그래픽스] Chapter 02. 그래픽 하드웨어 본문
Chapter 02. 그래픽 하드웨어
Section 01. 그래픽 하드웨어
하드웨어 구성
최근 들어 하드웨어의 처리속도 향상으로 인해 범용 워크스테이션이나 개인용 컴퓨터만으로도 상당 수준의 그래픽 처리가 가능해졌다.
컴퓨터 모니터의 기본 원리
필라멘트(전자총)
필라멘트에 전류를 흘리면 가열되어 전자가 방출됨
화면 바로 뒤의 금속판에 20,000V 플러스 전압을 걸면 화면 쪽으로 전자가 끌려감
제어그물(Control Grid)
여기에 마이너스 전압을 걸면 전자총에서 나오는 연속적인 전자 흐름의 양을 조절할 수 있음. 그러면 화면 밝기가 조절됨
집속 양극 (Focusing Anode)
정확히 가운데로 향하지 않는 전자빔들을 차단
편향판
양쪽에 다른극의 전압을 가해 전자빔의 방향을 휘는데 사용
화면
인(Phosphor)이라는 형광물질이 입혀져 있음.
전자의 운동에너지가 형광물질을 구성하는 전자들에게 전달 -> 형광물질이 고에너지 상태로 됨 -> 불안정한 고에너지 상태에서 안정된 상태로 떨어질 때 그 에너지 차이가 빛의 형태로 발산 -> 우리 눈에 도달
화면 재생률 (Refresh Rate)
초당 몇 번 화면을 재생시키는가를 나타냄.
빛의 지속시간이 짧을 수록 화면 재생률을 높여야함
애니메이션 : 화면 지속시간 짧은 것이 좋음
정지화면 : 화면 지속시간 긴 것이 좋음
Section 02. 래스터 그래픽 장치
컬러 모니터
화면은 화소(래스터)로 구성됨
한 화소의 색상은 세 가지 인점의 밝기를 합쳐서 결정됨
해상도,선명도(Resolution) : 화소 수에 의해 결정됨
섀도우 마스크
섀도우 마스크 기술은 화면의 선명도와 직결
애퍼져 그릴 방식의 컬러 모니터의 경우 더욱 밝고 선명한 영상
주사선과 인터레이싱
래스터 장치는 화소단위로 디스플레이 된다.
하나의 화소 내부의 인점 색은 모두 동일한 밝기(Intensity)로 빛난다고 간주한다.
주사선(Scan Line) : 화면의 가로 방향 화소를 따라서 진행하는 선. 전자빔을 화면 화소를 읽어가면서 빔을 쏜다.
화면에 영상을 뿌리기 위해서 주사선은 화소마다 그 화소의 색상에 해당하는 세기로 빔을 쏘아서 화소 내부 인점을 밝혀야 한다.
넌 인터레이싱
전체 화면을 초당 30번 재생 요구 => 전체 프레임을 30번 주사
화면 재생속도가 늦어짐 => 화면간 시간적 간격이 길어짐 => 화면 깜빡거림 발생
인터레이싱(Interlacing)
주사선이 화면을 반쪽씩 교대로 그려내는 방식
전체 화면을 초당 30번 재생 요구 => 반쪽 프레임을 60번 주사
두 배 속도로 뿌려지기 때문에 부드럽게 느껴짐
래스터 장치의 기본구조
래스터 장치에서는 스캔 변환(래스터 변환)이 필수적
래스터 변환 : 물체의 수학적 표현으로부터 화면화소 단위의 표현으로 변환하는 과정
래스터 변환 알고리즘 : 래스터 변환을 하는 경우 어떤 화소를 밝혀야 하는지 또 밝히자면 어느 정도 밝기를 줄 것인지 등에 관한 알고리즘
프레임 버퍼(=컬러버퍼=비디오메모리) : 프레임 즉 그림을 저장하는 메모리
비디오 컨트롤러 내부에는 DAC(Digital to Analog Converter)가 내장되어 있어서 전자 빔이 어떤 화소를 주사할 때 프레임 버퍼의 디지털 비트 값에 비례하는 아날로그 전압으로 변환시켜 해당 화소의 밝기를 조절할 수 있게 한다.
프레임 버퍼의 용량은 해상도와 관련됨 (ex. 1024 x 768 해상도에 화소당 24비트 할애시 프레임 버퍼 용량 = 1024 x 768 x 24비트= 2.4MB)
Section 03. 벡터 그래픽 장치
Vector Display, Calligraphic Display, Stroke Display, Random Display
벡터 그래픽 장치에는 화면 전체에 인이 칠해져 있기 때문에 전자총이 닿는 곳마다 화소가 밝혀진다.
오실로스코프 : 전압, 전류를 측정하기 위한 계측장치. 전기적 신호의 파형을 선으로 그려내는 장치
벡터 그래픽 모니터에는 빔 투과 방식이 사용된다. (가속 전압이 약하면 녹색, 중간이면 황색, 강하면 적색 나타남)
그래픽 처리속도의 향상과 저가의 메모리 출현에 따라 그래픽 시장은 래스터 그래픽이 점유하게 됨
Section 04. 그래픽 출력 장치
LCD(Liquid Crystal Display)
액체와 고체의 중간 형태인 액정이 지닌 전기적 광학적 특성을 이용한 것
모니터 표면에는 R, G, B 컬러 셀(인 사용X)이 입혀져 있음
항상 켜져 있기 때문에 CRT처럼 깜빠임이 없음
액정
화면 바로 뒤에 있음
결정 형태의 규칙적인 배열
외부 전압에 따라 서기도 하고 눕기도 함.
배열상태를 바꿈으로써 후광을 차단하거나 투과하는 밸브의 역할
빛의 양윽 조절할 뿐
화소마다 액정의 배열상태를 바꿈으로써 빛의 세기를 조절
PDP(플라즈마 디스플레이 패널)
대형 디스플레이가 필요할 경우 사용
전극에 전압이 걸리면 표면 방전에 의해 번개가 치며 이에 의해 내부에 채워진 네온 / 크세논 가스가 플라즈마 상태로 변한다. 이 플라즈마에서 발생되는 자외선이 인 표면을 자극하고 인에서 나오는 빛이 전면을 향한다.
3차원 입체 영상 (Stereoscopic View)
왼쪽 눈과 오른쪽 눈이 인식하는 영상의 차이에 의해 이루어짐
왼쪽, 오른 쪽 눈에 비친 두 개의 평면 영상을 만든 후 실제로 화면을 볼 때 각각의 눈이 해당 영상만을 보도록 하면 입체영상이 가능하다.
편광 안경 (Polarized Glasses)
화면에 두 영상을 겹쳐서 보이되 편광 현상을 이용하여 한쪽 렌즈에는 한쪽 영상만 보이게 한것
액정 셔터 안경 (LCD Shutter Glasses)
화면에 양쪽 영상을 번갈아 보여주되 왼쪽 영상이 나올 때는 오른쪽 안경 렌즈를 닫고 오른쪽 영상이 나올 떄는 왼쪽을 닫아버리는 방식
렌즈 배열 방식 (Lenticular Array) 모니터
L : 왼쪽 영상 부분, R : 오른쪽 영상 부분
화면 표면에 반구형의 렌즈를 붙임으로써 왼쪽 오른쪽 영상이 서로 다른 방향으로 진행
왼쪽 영상이 모아져서 왼쪽 눈에, 오른쪽 영상이 모아져서 오른쪽 눈에 도달
홀로그래피 (Holography)
레이저와 육각렌즈를 이용하여 어떤 방향에서 보더라도 입체감을 느끼는 기술
Section 05. 그래픽 프로세서
그래픽 프로세서( = 그래픽 보조 프로세서 = 그래픽 가속기 = 비디오 카드 = 비디오 보드 = 비디오 어댑터 = 그래픽 보드)
그래픽 카드의 기본적인 역할 : 컴퓨터에 의해 생성된 디지털 정보를 최종적으로 아날로그 신호로 변환하여 화면에 그림을 그리는 것
그래픽 프로세서는 드라이버 소프트웨어에 의해 그리기 명령어를 해독하고 실행, 최종적인 그림을 프레임 버퍼에 기록
CPU는 그리기 명령어를 그래픽 카드에 넘겨주고 다른 일을 처리한다.
그래픽 카드의 구조
GPU : CPU가 시스템 버스를 통해 전달한 명령어를 해독, 실행하여 프레임 버퍼 내용을 작성
지오메트리 프로세서 : 3차원 물체의 그래픽 처리 작업
디스플레이 프로세서 : 2차원 영상처리와 연관된 연산 수행
AGP : 메인 메모리 내용을 프레임 버퍼로 직접 가져갈 때 사용
드라이버 프로그램 : CPU가 전달한 명령어를 GPU가 직접 하드웨어를 통해 실행할 수 있는 명령어로 번역
VRAM : 2중 포트로 한쪽 포트가 메인 메모리 내용을 옮겨 적는 동시에 다른 포트는 현재 그래픽 메모리의 내용을 읽어간다. 즉 디스플레이 프로세서가 프레임 버퍼에 새로운 내용을 기억시키는 도중에 비디오 컨트롤러는 현재 기록된 내용을 읽어서 화면에 뿌린다.
RAMDAC : LUT(전압 보기표)를 이용하여 프레임 버퍼 내용을 CRT에 뿌리는 역할. 램댁의 처리속도는 화면 재생률을 결정
'컴퓨터 그래픽스 > OpenGL' 카테고리의 다른 글
[OpenGL로 배우는 컴퓨터 그래픽스] Chapter 06. 모델변환과 시점변환 (0) | 2019.02.14 |
---|---|
[OpenGL로 배우는 컴퓨터 그래픽스] Chapter 05. 오픈지엘 기본 틀 (0) | 2019.02.14 |
[OpenGL로 배우는 컴퓨터 그래픽스] Chapter 04. 오픈지엘 API (0) | 2019.02.14 |
[OpenGL로 배우는 컴퓨터 그래픽스] Chapter 03. 그래픽 컬러처리 (0) | 2019.02.14 |
[OpenGL로 배우는 컴퓨터 그래픽스] Chapter 01. 컴퓨터 그래픽스란? (0) | 2019.02.14 |