[OPENGL] 래스터 그래픽 장치

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

화면 종횡비(Aspect Ratio)는 화면의 세로 대 가로 길이의 비율이다.

컬러모니터는 R(Red), G(Green), B(Blue) 색을 띤 인점(Phosphor Dot)으로 구성되어 있다.

한 화소의 색상은 이 세 가지 인점의 밝기에 따라 결정된다.

컬러모니터는 인점의 배열 방식에 따라 두 가지로 분류할 수 있다.

위 그림에서 (a)는 트라이어드(triad) 방식을 말한다. (b)는 스트라이프(stripe) 방식이다.

트라이어드 방식에서는 삼각형 내부 3개의 인점이 모여서 한 화소를 구성한다.

이 경우 인접 화소는 서로 엇갈려서 구성된다.

스트라이프 방식에서는 좌우로 나란한 3개의 인점이 모여서 한 화소를 구성한다. 일반적인 LCD모니터가 이 방식에 해당한다.

래스터 장치의 선명도 , 즉 해상도(Resolution, Deifinition)는 화소 수에 의해 결정된다.

예를 들어 1,024 X 768 해상도에서 가로 방향 화소 수는 1,024 , 세로 방향 화소 수는 768개이다.

화소 수는 화면에 새겨 넣을 수 있는 인점의 수에 따라 달라진다.

도트 피치(Dot Pitch)는 동일 색상의 인점 사이의 거리를 말한다.

그림에서 화살표로 표시한 거리가 도트피치에 해당된다. (일반적으로 이 거리는 0.27 ~ 0.44mm 정도이다.)

그럼 인점 하나의 반지름을 줄이면 물론 더 빼곡히 채워 넣을 수 있고 더 고해상도가 된다.

다만. 인점간의 거리, 즉, 도트피치가 좁을 수록 인점간의 영향성을 고려해야 한다. 반지름이 작은 상태에서 밝은 색상을 내기 위해 중심을 강하게 때리면, 그 빛의 일부가 이웃한 인점을 밝힐 수도 있거나 한다.

컬러 모니터에는 3개의 전자총이 사용된다. 전자총과 화면 사이에는 섀도 마스크(Shadow Mask)가 있고, 여기에는 아주 미세한 구멍들이 뚫려있다. 전자빔 중 이 구멍을 통과한 전자들만 화면에 도착하도록 함으로써 각 전자총이 정확히 해당 색상의 인점을 맞추도록 되어 있다. 섀도 마스크가 없다면 전자빔이 인근의 다른 인점을 자극할 수 도 있다. 따라서 섀도 마스크 기술은 화면의 선명도와 직결된다고 볼 수 있다.

에퍼처 그릴(Aperture Grill)이라는게 있다. 창살 모양의 마스크로 인점이 스트라이프로 형성되어 있을 때 적용되며, 전자총이 수평으로 배열되어 있다. 섀도 마스크 방식이 마스크에서 많은 양의 빛을 차단하는 데 반해 이 방식에서는 창살 사이의 아래 위 방향으로 대량의 전자빔이 통과할 수 있기 때문에 더욱 밝고 선명한 영상을 얻을 수 있다.

래스터 장치는 화소 단위로 디스플레이 된다.

화소보다 작은 단위로 분할하여 한 화소의 아래쪽은 밝게 가운데는 어둡게 할 수 없다.

즉, 각 인점의 색이 합쳐져서 하나의 화소 내부 색은 모두 완전히 동일한 밝기(세기, 강도, Intensity)로 빛난다고 간주해야 한다.

이 경우 스캔은 전자빔을 화면 화소를 읽어가면서 빔을 쏜다는 의미이다.

1 -> 10 -> 수평귀환 -> 11 -> 비슷한 절차 반복 -> 16 -> 수직귀환 -> 1; 이런식으로 굴러간다.

이 경우 주사선은 위부터 아래로 1~7번 까지 존재한다.

일반적으로 전자빔은 어느 순간에는 홀수 번만 그 다음 순간에는 짝수 번만을 주사한다. 즉, 1번 주사선을 왼쪽에서 오른쪽으로 비스듬히 내려오면서, 화소별로 주사한 후에 다시 3번을 왼쪽에서 오른쪽으로, 다시 5번을, 7번을 주사하여 화면의 오른쪽 아래로 내려온다.

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

이처럼 주사선이 화면을 반쪽씩 교대로 그려내는 것을 인터레이싱(비월주사, Intelacing, 짜집기)이라고 한다.

전체 화면을 초당 30번 재생하도록 요구될 때 인터레이싱 방식에서는 반쪽 화면을 60번 주사한다.

반면, 논-인터레이싱(Non-Intelacing)방식에서는 실제로 전체 화면을 30번 주사한다.(30HZ), 전체 화면을 30번 주사하는 것과 반쪽 화면을 60번 주사하는 것은 하드웨어로서는 비슷한 부담이다.

논-인터레이싱을 사용하면 주사선 1, 2,3 식으로 모든 주사선을 이어서 주사하며 내려오기 때문에 화면 재생 속도가 느리다. 결국 첫 번째 화면과 둘째 화면 사이의 시간 간격이 길어져 화면에 깜빡거림(Flickering)이 발생한다. 반면, 인터레이싱 방식에서는 화면 내용은 반쪽 영상에 불과하지만 두 배 속도로 뿌려지기 때문에 화면이 매우 부드럽게 느껴진다.

미국 텔레비전 표준 위원회(NTSC: National Television Standards Commitee)에서 권장하는 표준 주사 방식은 ‘인터레이싱’방식이다.

래스터 장치의 기본 구조

래스터 장치에서의 화면은 사각형 모양의 화소 단위로 표시된다.

하나의 화소는 일정 크기의 면적(Area)를 가지고 있기 때문에 그 화소가 밝혀진다는 것은 화소 면적 전체가 완전히 동일한 색으로 밝혀진다는 것을 말한다. 선은 기하학적으로 면적이 없다고 정의되지만 화면에 표현되기 위해서는 그 선을 나타내는 데 필요한 화소를 칠해야 한다. 이러한 제약 때문에 실제는 곧바른 모양의 선이 거칠게 표시되거나 한다.

실제 삼각형을 화소 단위로 근사화하여 표현할 수 밖에 없기 때문에 삼각형의 경계선 부분이 거칠게 보이게 된다.

래스터 장치에서 일어나는 이러한 현상을 에일리어스(Alias)라 한다.

래스터 장치에서는 스캔 변환이 필수다. 선분의 양 끝점 좌표가 있고, 화면의 어떤 화소가 양 끝점에 해당하는지, 내부의 선은 어떤 화소들을 사용하여 표현할 것인지를 결정해야 한다.

이처럼 물체의 수학적 표현으로부터 화면 화소 단위의 표현으로 변환하는 과정을 스캔 변환(Scan Conversion) 또는 래스터 변환(Rasterization)이라 한다.

스캔 변환 알고리즘은 이 경우에 어떤 화소를 밝혀야 하는지, 또 밝히자면 어느 정도 밝기를 줄것인지 등에 관련된 것이다.

래스터 장치의 화면 그림은 프레임 버퍼(Frame Buffer)에 저장되어 있다.

이는 그래픽 프로세서에 내장된 메모리로서 화소당 밝기, 즉 색상을 저장하는 곳이다. 화소당 1비트를 할애하는 프레임 버퍼로, 백색은 비트 값 1로, 흑색은 비트 값 0으로 표시할 수 있다. 이 경우 그림은 흑백(Monochrome)으로 표시된다.

프레임버퍼는 프레임, 즉 그림을 저장하는 메모리로, 컬러 버퍼(Color Buffer) 또는 비디오 메모리(Video Memory)라고도 부른다.

그림이 바뀔 경우 호스트 컴퓨터는 프레임 버퍼의 내요을 바꾸기만 하면 된다.

바뀐 내용을 화면에 뿌리는 것은 비디오 컨트롤러의 몫이다. 비디오 컨트럴로의 내부에는 DA 변환기(DAC:Digital to Analog Converter)가 내장되어 있다.

전자짐이 어떤 화소를 주사할 때 프레임 버퍼의 디지털 비트 값에 비례하는 아나로그 전압으로 변환시켜 해당 화소의 밝기를 조절할 수 있다.

정지화면이라도 화면은 지속적으로 재생되어야 하기 때문에 하드웨어는 이 프레임 버퍼를 반복적으로 읽어 화면에 뿌려야 한다. 또 화면 재생이 매우 빠른 속도로 이루어져야 하기 때문에 프레밍 버퍼의 내용을 화면에 뿌리는 데 걸리는 시간은 상대적으로 무척 짧다.

화면 영상은 버퍼의 내용이 변경됨과 거의 동시에 변하게 된다.