1️⃣ 그래픽 하드웨어 종류와 작동 원리
💜 그래픽 하드웨어 종류
- 그래픽 시스템
- 입력 장치 (마우스, 키보드…)
- 그래픽 컨트롤러 (그래픽 카드)
- 그래픽 프로세서
- 그래픽 메모리
- 출력장치 (모니터)
💜 진공관 모니터(CRT) 기본 원리
- 래스터 그래픽 방식 & 벡터 그래픽 방식 존재
- 필라멘트
- 전자총
- 전자를 쏨
- 제어 그물
- 그 전자의 양을 조절함
- 밝기는 전자의 양으로 조절
- 집속 양극
- 내가 원하는 픽셀에 가지 않는 전자들 차단
- 수직 편향판 (상하), 수평 편향판 (좌우)
- 전자 방향 조절
- 화면
- 인이 발라져 있음
- → 곡선: 전자가 모든 화면에 잘 닿게 하도록
2️⃣ 래스터 그래픽 장치
💜 래스터 그래픽 장비
- 래스터=픽셀=화소
- 화면은 화소로 구성
- 화소는 인점으로 구성
- 1픽셀 = 3인점
- 화면 종횡비
- 화면의 세로: 가로 비율
- 4:3
- 16:9
💜 래스터 그래픽 장치의 컬러 모니터 화소 구성
- 트라이어드 방식
- 모든 색상이 엇갈리게 배치 (빨강 주변에 빨강 X)
- 스트라이프 방식 (LCD, LED)
- 상하는 같은 색
- 해상도: 선명도
- 픽셀의 개수에 따라 결정
- 선명도가 낮으면 계단현상 발생
- 1024 (가로로 1024개) * 768 (세로로 768개) 픽셀 존재
💜 화면 선명도
- 섀도 마스크 (화면 선명도와 직결되어있음)
- 섀도 마스크가 없으면, 빨간 원점을 향하는 전자빔이 휘어버릴 수 있음
- 다른 점 자극 가능
- 트라이어드 방식
- 주변 픽셀로 전자가 가지 않게 동그랗게 막아줌
- 섀도 마스크가 없으면, 빨간 원점을 향하는 전자빔이 휘어버릴 수 있음
- 애퍼처 그릴
- 스트라이프 방식
- 주변 픽셀로 전자가 양옆으로 가지 않게 막아줌
- 섀도 마스크 방식보다 밝고 선명한 영상
- 스트라이프 방식
💜 Scan Line & Interlacing
- Scan Line
- 주사선
- Interlacing
- 인터레이싱
- 홀수줄 → 짝수줄 왔다 갔다 하는 거
- 7개의 픽셀 존재
- 수평 귀환과 수직 귀환에서는 전자총을 쓰지 않음
- 1에서 주사선을 통해 전자총을 쏨
- 1에서 주사선을 통해 전자총을 쏨
- 밝히고자 하는 픽셀을 밝힘
- 수평 귀환으로 3으로 감 (전자총 안씀)
- 3에서 주사선을 통해 전자총을 쏨
- 수평 귀환으로 5로 감 (전자총 안쏨)
- 홀수줄 끝나면 수직 귀환으로 2로 감
- 다시 진행
💜 Non-Interlacing vs Interlacing
- Non-Interlacing
- 0.5초가 지나면 커피잔이 반 밖에 안보임
- Interlacing
- 0.5초가 지나면 전체적인 형태를 보임
전체적인 형태를 볼 때는 인터레이싱이 있는게 좋음
💜 래스터 그래픽 디스플레이
- 래스터 그래픽스란?
- 직사각형 격자의 화소, 색의 점을 모니터, 종이 등의 매체에 표시하는 자료 구조
- 화소단위 컬러링을 하면 계단현상이 발생
- 무한 해상도인 실제 선을 유한 면적을 지닌 화소 단위로 근사시켜서 발생
- 계단 현상은 해상도를 늘리면 없어짐
- 래스터 장치는 래스터 변환 (스캔 변환) 필수
- 물체 좌표 → 화면 좌표 변환
- 물체에 대한 좌표계를 모니터의 좌표계에 일치시켜야 함
- 화면의 (n,n) 에 물체를 위치시킬것이다!
- 부동 소수 좌표 → 정수 좌표 변환
- 선분을 모니터에 출력을 하고 싶음
- 픽셀은 1개, 2개, 3개로 표시
- (0.3, 0.5) 에 선이 있으면 이를 정수 좌표로 변환 필요
- 채움 다각형 : 선의 내부에 있는 영역이 더 많으면 칠함
→ 해당 픽셀을 밝힐건지, 밝히지 않을건지에 따라 결정
- 픽셀은 1개, 2개, 3개로 표시
- 선분을 모니터에 출력을 하고 싶음
- 물체 좌표 → 화면 좌표 변환
💜 프레임 버퍼
- Frame Buffer = Color Buffer = Video Memory
- 래스터 주사 방식에서 화면에 나타날 영상 정보를 일시적으로 저장하는 기억 장치.
- 디지털 데이터
- 컴퓨터에 0과 1의 형태로 기억장치에 저장되는 데이터
- 이산적 (0과 1으로 처리할 수 있는 데이터) 형태의 데이터이다.
- ex) 컴퓨터
- 아날로그 데이터
- 사람의 목소리는 말을 했을 때 공기 중에 연속적인 파형이 생기는데 이것이 아날로그 데이터
- 연속적인 형태의 데이터이다.
- ex) 목소리, 온도
- 비디오 컨트롤러 내부 DA 변환기
- 프레임 버퍼의 디지털 정보 → 아날로그 전압 변환
- 매우 빠르게 실시간으로 거의 동시에 변환됨
💜 비트 평면
- 프레임 버퍼의 용량은 색상의 종류와 연관
- 프레임 버퍼에 화소의 색상이 저장
- 9비트 (R, G, B) = (3, 3, 3)
- R, G, B 각각 000~111 의 값을 할당할 수 있음
- 24비트 (R, G, B) = (8, 8, 8)
- R,G,B 각각 2의 8승 256 회색도
- 회색도 : 주어진 색상의 밝기
- 총 256 * 256 * 256 의 색을 나타낼 수 있음
- R,G,B 각각 2의 8승 256 회색도
- 1024 x 1024 해상도의 24비트
- 1024 * 1024 * 24 = 3MB
3️⃣ 벡터 그래픽 장비
💜 백터 그래픽 장치
- 백터 그래픽 장치 (Vector Display, Calligraphic Display, Stroke Display, Random Display)
- 화소 개념 X
- 무한 해상도 (전자빔의 폭 → 해상도)
- 전자총이 닿는 곳 마다 빛이 밝혀지는 선을 긋는 형식
- 에일리어싱 없음
- 계단 현상 X
- 벡터 그래픽 장비에는 프레임 버퍼 대신 디스플레이 리스트 존재
- 디스플레이 리스트: 명령어의 집합 저장
- 디스플레이 리스트의 명령어가 계속 활성화
- 화면에 세모가 계속해서 그려지게 됨
- 디스플레이 리스트의 명령어가 계속 활성화
- 디스플레이 리스트: 명령어의 집합 저장
- 빔 투과 방식
- 전자총의 세기로 색을 조절함
- 살살 쏘면 초록이 보임
- 중간 쏘면 초록과 빨강 중간 색이 보임
- 세게 쏘면 빨강이 보임
- 전자총의 세기로 색을 조절함
- 오실로스코프, 레이더 등에 사용
💜 레스터 장치 vs 벡터 장치
4️⃣ 그래픽 출력 장치
💜 평판형 디스플레이 : LCD
- Liquid Crystal Display
- 컬러 = 액정의 배열 상태 변화로 나타냄
- 블라인드 커튼 사용
- 뒤쪽 편광기는 세로방향
- 빛이 세로방향으로 가게 만들어줌
- 앞쪽 편광기는 가로방향
- 빛이 가로방향으로 가게 만들어줌
- if 액정에 전극을 가하지 않음
- 빛이 앞쪽 가로방향 편광기를 뚫지 못해 어두움
- if 액정에 전극을 가함
- 액정이 눕게되면, 빛도 눕게 됨 → 빛이 앞쪽 가로방향 편광기를 뚫을 수 있음
- 액정에 전류를 흘려 액정의 배열 상태를 바꿈으로 빛의 각도를 조절 가능
- 액정이 약간 누우면 빛 조금만 통과 → 약간 밝음
- 액정이 완전히 누우면 빛 전체 통과 → 아주 밝음
- 액정의 배열상태를 바꿈으로 빛의 투과성을 조절해 밝기 조절
- (b) 에서 나온 빛은 정면에선 잘 보이지만 좌우에서는 잘 보이지 않음
- 편광기 = 블라인드 커튼
- 편광기 = 블라인드 커튼
💜 LCD vs CRT
💜 평판형 디스플레이 : PDP
- 오래된 기술
- Plasma Display Panel (플라즈마 사용)
- 표면 방전에 의한 번개
- ex. 형광등
- 화소 크기 1mm
- 계단현상 보임
- 멀리서 볼 수 있는 대형 스크린에 사용
- 전극에 전류를 흘려보냄
- 표면이 방전됨
- 가스가 플라즈마 상태가 됨 (번개침)
- 플라즈마에서 자외선이 발생함
- 자외선이 적색 인을 때림
- 빛남
💜 PDP vs LCD
💜 평판형 디스플레이 : LED, OLED
- Light Emitting Diode (LED)
- 발광 다이오드 이용
- 스스로 빛을 내는 반도체 소자
- 인 때리는 방식 X, 빛을 직접 냄
- 스스로 빛을 내는 반도체 소자
- 다이오드 종류에 따라 R, G, B 의 색 결정
- 장점: 처리 속도 ↑, 전력 소모 ↓, 수명 ↑ 등
- 발광 다이오드 이용
- Organic Light Emitting Diode (OLED)
- 유기 복합물을 발광 레이어로 사용 (발광 다이오드 X)]
- 유기물: 탄화수소 + 산소 or 질소 or 황등의 원자 주입
- 유기물의 종류에 따라 빛 색상 결정
- 단점: 유기물의 산화, 환원 반복으로 LCD, LED 보다 수명 ↓
- 유기 복합물을 발광 레이어로 사용 (발광 다이오드 X)]
💜 입체 영상
- 좌우 눈은 시야각이 다름
- 이 인식 차이를 이용
💜 입체 영상 : 3D TV
- 편광 안경 방식 (좌우에 보이는 그림을 다르게 하자!)
- 디스플레이 표면에 Patterned Retarder Plate 붙임
- 좌우 영상 번갈아 출력 (두 영상 동시 출력)
- 왼쪽 영상 (홀수줄) + 오른쪽 영상 (짝수줄)
- 분리된 좌우영상이 사용자가 쓴 편광 안경을 통해 눈에 전달
- 양안시차 발생, 입체감 느낌
- 장점: 개발 쉬움, 저비용
- 단점: 3D 시야각 협소, 수직 해상도가 절반 → 영상 품질 ↓
- if 세로축 (수직) 픽셀이 14개
- 홀수/짝수 각각 7픽셀씩 할당 → 해상도 ↓
- if 세로축 (수직) 픽셀이 14개
- 셔터 글래스 방식
- 고속 구동 패널
- 깜빡이는 화면
- 뇌가 인식 못하게 빠르게 동작
- 좌우 영상을 교차 출력
- 셔터 글래스 안경 사용
- 좌/우 측을 교차하며 빛의 투과 & 차단을 빠르게 반복
- 양안 시차 발생
- 좌/우 측을 교차하며 빛의 투과 & 차단을 빠르게 반복
- 장점: 수직 해상도 높음
- 한 화면에 좌/우 영상이 온전
- 단점: 셔트 글래스 안경이 비쌈, 고속 구동 패널이 설치되어있어야 함, 사람마다 초점이 달라 멀미를 느낄 수 있음
- 고속 구동 패널
5️⃣ 그래픽 프로세서
💜 그래픽 프로세서
- 그래픽 카드 = 그래픽 프로세서 = 그래픽 가속기
- 시스템 버스 하단이 그래픽 카드
- 수학적 처리 담당
- 메인메모리 or CPU 에서 시스템 버스를 통해 GPU로 명령어를 내림
- GPU는 이를 해독하고 실행하여 프레임 버퍼 내용을 작성
- AGP
- 가속 그래픽 포트
- 그래픽 카드에서 수학적 연산을 하지 않고 메인메모리 내에 있는것을 바로 프레임 버퍼에 올리고 싶을 때 사용
- 가속 그래픽 포트를 통해 프레임 버퍼에 올림
- 그래픽 카드에서 수학적 연산을 하지 않고 메인메모리 내에 있는것을 바로 프레임 버퍼에 올리고 싶을 때 사용
- 가속 그래픽 포트
- GPU (그래픽 카드)
- 디스플레이 프로세서
- 2차원 기하처리
- 3D 일부 작업
- 다각형 채움, 텍스쳐 매핑 (질감, 실감나게 만들어 줌)
- 지오메트리 프로세서
- 3차원 기하처리 가속
- 3D 기하 변환 빠르게
- 3D 물체를 이동 계산
- 3D 물체에 조명을 비췄을 때 광원에 따른 그림자 계산으로 명암 조절 계산
- 물체의 자른 단면, 물체에 힘을 줬을 때 확대 축소 계산
- CPU에서 할수는 있는데 느림
- → 빠르게 하기 위해 지오메트리 프로세서 사용
- GPU의 역할
- 수학적 연산을 빠르게 하는 것
- 그래픽은 모든것이 수학 연산
- CPU는 속도가 느림
- 그래픽적 요소들은 전부 그래픽 카드에서 처리!
- 그래픽 카드에서 2차원 3차원 영상들 처리
- → 디스플레이 메모리에 값을 올려줌
- 디스플레이 프로세서
- 디스플레이 메모리
- 레스터 그래픽 장치는 프레임 버퍼 가짐
- 백터 그래픽 장치는 디스플레이 리스트 가짐
- 그림은 프레임 버퍼 기준으로 비디오 컨트롤러를 통해 디지털을 아날로그로 변경
- 비디오 컨트롤러
- LUT (Look Up Table, 전압 보기표)
- “프레임 버퍼에 값이 010 이 들어오면 전압을 이런식으로 발생시켜주세요” 라는 표
- 1:1 로 매핑을 시켜주는 역할
- input → output
- DAC’s
- 보기표를 읽어 실제 아날로그 전압을 발생
- LUT (Look Up Table, 전압 보기표)
💻 Reference
'IT > 컴퓨터그래픽스' 카테고리의 다른 글
[Chapter 04] OpenGL로 배우는 3차원 컴퓨터 그래픽스 (0) | 2024.04.02 |
---|---|
[Chapter 03] OpenGL로 배우는 3차원 컴퓨터 그래픽스 (0) | 2024.04.02 |
[Chapter 01] OpenGL로 배우는 3차원 컴퓨터 그래픽스 (0) | 2024.04.01 |