'OpenGL로 배우는 3차원 컴퓨터 그래픽스' 책을 기반으로 정리한 글이다.
학교 중간고사 대비 보려고 요약한
1장. 컴퓨터 그래픽스
컴퓨터 그래픽스 : 컴퓨터를 사용하여 그림을 생성하는 기술
영상 처리 : 기존에 존재하는 그림을 개선 또는 인식 하는 분야
CAD : 그래픽스 기술을 건물, 자동차 등의 설계에 이용하는 소프트웨어
CAM : 제품 설계 데이터가 직접 수치 제어 기계로 입력되어 기계를 제어
GUI : 컴퓨터 소프트웨어의 설계에 적용되는 분야
1950년대 : 출력장치에 그리는 것에 주목했다.
1960년대 : 대화형 컴퓨터 그래픽 시스템 개념 도입. 그래픽 작업 처리는 DPU가 함.
1970년대 : 레스터 그래픽 장치 등장. 그래픽 관련 알고리즘 다양화.
1980년대 : 레스터 그래픽 장치 보급화. 기하 엔진 출시. 그래픽스 국제 표준 PHIGS 제정.
1990년대 : 사실적인 그래픽 영상 개발에 주목. A버퍼, 스텐실버퍼 등 그래픽 메모리 출현.
2000년대 : 3차원 그래픽 처리가 가능해짐.
모델링 : 물체를 정의 및 설계 하는 것. 2,3차원 물체 표현 할 수 있는 자료구조와 해당 자료구조를 처리 하는 알고리즘을 포함한다. 고수준API.
렌더링 : 모델링된 물체를 어떻게 화면에 그릴 것인가. 조명, 관찰자 위치, 3차원을 2차원 화면으로 어떻게 사상할지, 재질 등을 포함한다. 저수준API.
2장. 그래픽 하드웨어
- 진공관 모니터 CRT : 전자총 > 제어그물 > 접속양극 > 수직편광판 > 수평편광판 > 전자빔 > 형광물질(인) 스크린 > 고에너지에서 안정된에너지 차이의 에너지가 빛으로 발산
- 래스터 장치 : 화면은 "화소" 로 구성 및 디스플레이. 한 화소는 3개의 인점(R인점, G인점, B 인점)으로 이루어져 있고, 이 3가지 인점의 밝기에 따라 한 화소의 색 결정된다. 트라이어드 방식, 스트라이프 방식(LCD). 일반적으로 전자총은 인점의 중심을 향해서 가는데 그래서 중심이 가장 밝고 주변이 어둡다.
- 래스터 장치의 선명도 = 해상도(화소수로 결정)
- shadow mask 기술은 선명도와 직결되는데, 이걸 통과해야 정확히 해당 색상의 인점을 맞추도록 되어있다. ‘섀도 마스크 방식’은 많은 양의 빛을 차단, ‘애퍼처 그릴’은 창살 사이의 아래 위 방향으로도 대량의 전자빔이 통과할 수 있기 때문에 더욱 밝고 선명한 영상을 얻을 수 있다.
- dot pitch : 동일 색상 인점 사이의 거리.
주시선 : 화면 가로 방향따라 진행하는 선. 개수는 해상도의 세로 값.
스캔 : 전자빔을 화면 화소를 읽어가며 빔을 쏘는 것. 왼쪽>오른쪽, 위>아래.
인터레이싱 : 주사선이 화면을 수평귀환과 수직귀환 방식으로 반쪽씩 교대로 그려내는 것.
논인터레이싱 단점 : 모든 주사선을 이어서 주사하며 내려오기 때문에 화면 재생 속도가 느리다. 첫 화면과 다음 화면 사이의 시간 간격이 길어져 깜빡거림이 발생한다.
에일리어스 : 화소 단위로 근사화하여 표현하기 때문에 경계선 부분이 거칠게 보이는 현상.
스캔변환(래스터변환) : 물체의 수학적 표현으로부터 화소 단위의 표현으로 변환하는 과정.
프레임 버퍼(컬러 버퍼, 비디오 메모리) : 그래픽 프로세서에 내장된 메모리. 색상을 저장. 화면 그림을 저장해둠. 그림이 바뀌면 이 버퍼의 값을 바꾸면 됨.
비디오 컨트롤러 : 프레임 버퍼 값에 따라 화면에 뿌림. DA 변환기로 화소 밝기 조절.
회색도 : 색상의 밝기
풀컬러 : 1600만 가지 이상의 색.
용량 : 해상도 x 화소당 n비트
벡터 그래픽 장치 : 화소 개념 X. 화면 전체에 인. 주사선은 선분 모양을 따라 움직임. 무한 해상도로 Alias 발생 X. 디스플레이 리스트라는 메모리에 그리기 명령어를 저장하여 프레임 버퍼에 비해 용량이 적다. 빔 투과 방식으로 화면에 R(강)과 G(약) 인층을 겹쳐서 칠하고 전자빔을 가속 시키는 전압의 세기에 따라 어느 층을 자극할지 결정.
그래픽 출력 장치
LCD : 후광유닛(백색광) >>> 편광판과 액정 통해 투과 하는 빛 양 조절 >>> 색상 구현
좌우에서는 잘 안보인다. => 화소 뒤 얇은 막 설치한 박막형 LCD. 두께 한계.
PDP : 대형 디스플레이, 플라즈마를 방전 시켜 발생하는 자외선으로 인 표면을 자극하여 빛 발생. LCD보다 넓은 시야각, 더 밝고 많은 색상.
LED : 발광 다이오드를 이용해서, 다이어드 종류에 따라 R,G,B 등의 색을 발한다. 화소 자체가 반도체라는 특성으로 인해 처리속도, 전력 소모, 수명 등 이점.
OLED : 화소위치에 유기복합물을 발광레이어로 사용. 유기물에 따라 색상이 다름. 전류 소모 많음. 시야 제한 X. 응답속도 빠름. 수동형(가로 세로 한 줄씩 전압), 능동형(화소 개별 전압).
3차원 입체 영상 : 왼쪽 눈과 오른쪽 눈이 인식하는 영상의 차이에 의함. 서로다른 2차원 영상들을 뇌에서 조합하여 3차원적 깊이를 느낀다.
홀로그래피 : 3차원 물체 모습을 공간에 투사한다.
그래픽 카드 = 그래픽 프로세서 = 그래픽 보드 = 비디오 카드 = 비디오 보드
컴퓨터에 의해 생성된 디지털 정보를 최종적으로 아날로그 신호로 변환해야 한다. (LCD의 경우 화면이 디지털 회로에 의해 제어되므로 변환결과도 디지털이다.)
디스플레이 프로세서 + 지오메트리 프로세서 =GPU (graphic processing unit) : 해독/실행/프레임버퍼내용작성
- 디스플레이 프로세서 : 2차원 영상 처리 가속화 => 결과는 프레임 버퍼로 새로 작성.
- 지오메트리 프로세서 : 3차원 기하 처리 가속 / 정점을 기준으로 이동, 회전, 절단, 투상, 조명 등의 다양한 그래픽 처리 작업.
- VRAM : 2중 port 형태, 한쪽 port는 메인 메모리 내용을 옮겨 적는다. 다른 port 통해 현재 그래픽 메모리 내용을 읽어간다.
- 비디오 컨트롤러는 기존거 읽어서 화면에 뿌린다.
Driver Program : CPU가 전달하는 명령어를 GPU가 직접 하드웨어를 통해 실행할수 있는 명령어로 번역하기 위한 것. 최적화 되어야만 해당 그래픽 카드가 성능을 발휘한다.
내장형GPU : 버스 연결 거리가 짧아 외장형 그래픽 카드보다 GPU-CPU간의 데이터 교환이 매우 빠르지만, 실제 기능면에서 못미친다.
3장. 그래픽 컬러 처리
빛 = 전자기파 = 전기장과 자기장이 서로 수직으로 교차하면서 진행하는 파동.
빛의 세기 = 장의 세기
주파수 : 장의 세기가 초당 몇번이나 바뀌는지. 파장과 반비례
색상(Hue) : 우세 주파수의 색
채도(Saturation) = 색의 선명도 혹은 순도. Ed - Ew
명도(Luminance) = 색상과는 무관하게 눈에 감지된 총량
컬러 매칭 : 망막 세포는 파장에 따라 다르게 반응하지만 이러한 반응들이 복합적으로 작용하여 인식하기 때문에 다른 파장의 색으로 대치 가능. 모든 자연색 표현 X.
CIE : 3개의 가상 원색을 설정함으로써 모든 자연색을 이 세가지 함수의 합성으로 모델링.
y=명도, x와z=색상. x+y+z=1.
색온도 : 색을 가열된 물체의 온도로 표현
RGB모델 : [가산모델 :광원에서 나오는 빛을 합성할 경우 적용되는 모델]
삼중자극이론. R,G,B를 3차원 x,y,z축에 놓고 가중치에 따라 색을 정의.
CMY모델 : [감산모델 : 물감을 합성할 경우 빼기 계산으로 필요한 색 만듬]
빛이 물체 표면에 반사 되었을 때의 색에 관한 모델. 출력 장치. 명도 어두움.
CMYK 컬러모델
CMY 모델을 확장한 것으로, 회색부분(K)을 추가 한 것.
직접 흑색 잉크를 칠함으로써 전체 컬러 잉크 양 줄고, 잉크 마르는 시간, 비용도 준다.
HSV 컬러모델
RGB + 색상,채도,명도
셰이드 : 흑색을 섞어 채도와 명도를 동시에 낮춤.
틴트 : 백색을 섞어 채도는 낮추되 명도는 높임
HSV V 축 = RGB 대각선
HSV 단면 = RGB 부분 육면체
YUV 컬러모델과 YIQ 컬러 모델 [Y =명도, U,V =색상정보 , I,Q =색상정보]
삼원색에 대해서 서로 다른 민감도를 가진다고 하고, 민감한 색에 넓은 대역폭을 할당함으로써 해당 색 표현 정확도를 향상시킨다.
CIE L*a*b* (L* == 명도, a* ==녹색~적색 범주 세기, b* == 청색~황색 범주세기)
CIE 모델 자체가 민감한 사람의 명암 지각 능력을 직접적으로 수용하지 않는 문제를 해결하기 위해 등장. 인식된 색상 차가 컬러 맵상의 거리에 정비례하도록 함. 인지컬러모델. 감산모델.
CIE L*u*v*
빛의 합성에 있어서 색차이가 선형적으로 인지되도록 하기 위한 것. 가산모델.
컬러처리 시스템 : 컬러 모델 사이의 오차를 줄이기 위한 것. 장비프로파일을 사용하여 주어진 그래픽을 프로파일 연결공간으로 사상한다. 이 때 sRGB와 CIE L*a*b 모델을 사용.
RGB 컬러모드 : 프레임 버퍼 내용은 R,G,B 값.
ex) 화소당 8bit : 2^8=256가지 색(0,255)
인덱스 컬러모드 : 프레임 버퍼 내용은 컬러보기표CLUT의 인덱스. 정밀도 향상.
ex) 버퍼 9bit이면, RGB컬러모드의 G는 2^3=8가지 vs 인덱스모드 G는 2^9=512가지.
but 선택할 수 있는 컬러의 종류가 다양해질 뿐, 한 화면에 동시 컬러는 8가지만 가능.
컬러 팔레트 : 인덱스 컬러 모드에서 컬러 보기표가 나타내는 색의 집합
하프토우닝 : 점 크기를 다양하게 해서 추가의 색을 느낄 수 있게 하는 기법. 해상도 하락.
디지털 하프토우닝 : 점 개수를 조절. 화소내부의 인점을 활성화하거나 비활성화하는 방식
하프 토운 행렬 : 화소를 선택하는 순서를 행렬로 표현. 순서는 아래 이미지. 규칙성 X.
디더링 : 근사화에 따른 시각적 오류를 최소화하기 위해 사용하는 것. 해상도 유지.
오류확산알고리즘. 주사선의 진행 순서를 따르기 때문에 오른쪽이나 아래로만 오류 전파.
디더 잡음 : 주사된 그림이나 이미 하프 토우닝 처리된 그림에 더 이상의 실질적인 해상도 감소 없이 시각적인 규칙성을 파괴하는 방법
감마 수정 : 전자의 세기는 회색도에 정비례. 인점의 명도는 전자의 세기에 비선형적. 이 차이로 인해 기대 값보다 더 어둡게 표현되는 문제를 수정하기 위한 작업.
감마 값은 모니터의 종류에 따라 다르다. 하드웨어 감마, 시스템 감마가 있다. 파일 감마는 파일 자체에 해당 그림의 감마를 저장한 것(PNG 등).
'공부 일지 > 그래픽스' 카테고리의 다른 글
OpenGL API [OpenGL로 배우는 3차원 컴퓨터 그래픽스] (0) | 2025.01.20 |
---|