* 출처 : OpenGL로 배우는 3차원 컴퓨터 그래픽스, 한빛아카데미
1. 컴퓨터 모니터의 기본 원리
- 필라멘트 : 일종의 전자총, 필라멘트에 전류가 흐르면 전자가 방출됨
- 진공관 모니터는 유인된 전자가 쉽게 가속할 수 있도록 음극선관 내부를 진공으로 만듬 -> 공기 분자의 저항이 줄어듬
- 제어 그물 : 전자총에서 비롯된 연속적인 전자흐름의 양 조절 -> 화면에 보이는 밝기 조절
- 집속 양극 : 정확히 가운데로 향하지 않는 전자빔들을 차단하는 역할
- 수직 편향판, 수평 편향판 : 전자빔의 방향을 각각 상하, 좌우로 휘는 데 사용함
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만 정도가 됨
'기타 > 컴퓨터 그래픽스 & OpenGL' 카테고리의 다른 글
[OpenGL] 백색 사각형 그리기 / 2022.10.22 (0) | 2022.10.22 |
---|---|
벡터 그래픽 / 2022.10.22 (0) | 2022.10.22 |
컴퓨터 그래픽스 / 2022.10.22 (0) | 2022.10.22 |
OpenGL로 배우는 3차원 컴퓨터 그래픽스 연습문제 8장 / 2022.10.19 (0) | 2022.10.19 |
OpenGL로 배우는 3차원 컴퓨터 그래픽스 연습문제 7장 / 2022.10.18 (1) | 2022.10.18 |