본문 바로가기

기타/컴퓨터 그래픽스 & OpenGL

래스터 그래픽 / 2022.10.22

 

* 출처 : OpenGL로 배우는 3차원 컴퓨터 그래픽스, 한빛아카데미

 

1. 컴퓨터 모니터의 기본 원리

진공관 모니터 (CRT)의 작동 원리

- 필라멘트 : 일종의 전자총, 필라멘트에 전류가 흐르면 전자가 방출됨

- 진공관 모니터는 유인된 전자가 쉽게 가속할 수 있도록 음극선관 내부를 진공으로 만듬 -> 공기 분자의 저항이 줄어듬

- 제어 그물 : 전자총에서 비롯된 연속적인 전자흐름의 양 조절 -> 화면에 보이는 밝기 조절

- 집속 양극 : 정확히 가운데로 향하지 않는 전자빔들을 차단하는 역할

- 수직 편향판, 수평 편향판 : 전자빔의 방향을 각각 상하, 좌우로 휘는 데 사용함

 

2. 래스터 그래픽 장치

2-1) 컬러 모니터 

- 모니터 크기는 화면의 대각선 길이를 기준으로 19인치, 27인치 등으로 나타냄

- 화면 종횡비 (Aspect Ratio) : 화면의 세로 대 가로 길이 비율

- 화면은 화소(PIXEL : Picture Element, Raster) 로 구성되어 있음

- 컬러 모니터는 RGB 색의 인점을 사용함

- 해상도 (Resolution) 는 화소 수에 의해 결정됨 -> 도트 피치 : 동일 색상의 인점 사이의 거리

- 인점의 배열 방식 : 

2-1-1) 트라이어드 방식

트라이어드 방식

- 삼각형 내부 3개의 인점이 모여서 한 화소를 구성. 서로 교대하면서 상하 좌우로 반복 진행

 

2-1-2) 스트라이프 방식

스트라이프 방식

- 좌우로 나란한 3개의 인점이 모여서 한 화소를 구성 

- 일반적인 LCD 모니터가 이 방식에 해당

 

2-2) 주사선과 인터레이싱

- 주사선 (Scan Line) : 화면의 가로 뱡향 화소를 따라 진행하는 선

영상, 화소, 주사선 사이의 관계

- 그림은 해상도가 18X7인 화면을 예로 든 것이다. 이 경우 주사선은 1 ~ 7번 까지 존재함

- 일반적으로 전자빔은 어느 순간에는 홀수 번만, 그 다음 순간에는 짝수 번만을 주사한다.

1. 1번 주사선을 왼쪽에서 오른쪽으로 비스듬히 내려오면서 화소별로 주사함

2. 그 후에 3번을 왼쪽에서 오른쪽으로

3. 다시 5번, 7번을 주사하여 화면의 오른쪽 아래로 내려옴

4. 다시 전자빔이 2번 주사선의 왼쪽으로 가서 4번, 6번을 주사함으로써 온전한 하나의 그림이 디스플레이됨

 

- 1번 주사선의 끝에서 3번 주사선의 처음으로 되돌아가는 것을 수평 귀환이라고 하고, 마지막 7번 주사선 끝에서 2번 주사선의 처음으로 돌아가는 것을 수직 귀환이라함

- 이처럼 주사선이 화면을 반쪽씩 교대로 그려내는 것을 인터레이싱 (비월주사) 라고 함 -> 전체 화면을 초당 30번 재생하도록 요구될 때 인터레이싱 방식에서는 반쪽 화면을 60번 주사함 (60Hz)

- 논-인터레이싱 : 전체 화면을 30번 주사 -> 화면 재생 속도가 느리고, 첫 화면과 둘째 화면 사이의 시간 간격이 길어져 깜빡거림 (Flickering) 현상이 발생

 

2-3) 래스터 장치의 기본 구조

- 래스터 장치에서의 화면은 사각형 모양의 화소 단위로 표현됨.

- 화소는 일정 크기의 면적을 갖고 있기 때문에 아래 그림과 같이 선을 그리거나 삼각형을 그릴 때, 경계선 부분의 거칠게 보임 (애일리어스 Alias 현상)

애일리어스 현상

 

- 따라서 래스터 장치에서는 스캔 변환 = 래스터 변환이 필수 -> 물체 좌표에서 화면 좌표로, 부동소수 좌표에서 정수 좌표로

 

- 래스터 장치의 화면 그림은 프레임 버퍼(Frame Buffer = Color Buffer = Video Memory)에 내장 -> 그래픽 프로세서에 내장된 메모리로서 화소당 밝기, 즉 색상을 저장하는 곳

- 아래 그림은 백색은 비트 값 1, 흑색은 비트 값 0으로 나타냄

프레임 버퍼

- DA 변환기 (DAC : Digital to Analog Converter) : 프레임 버퍼의 디지털 비트 값에 비례하는 아날로그 전압으로 변환시켜 해당 화소의 밝기 조절 가능

- 프레임 버퍼의 용량은 색상의 종류와 연관이 되어있음. -> 회색도(Gray Level) : 주어진 색상의 밝기

 

비트 평면

- 화소당 24비트를 할애한 프레임 버퍼의 경우 RGB = (8, 8, 8) 이고 0 부터 255까지로 구분 할 수 있으므로 총 색상의 수는 256 x 256 x 256 = 대략 1,600만 정도가 됨