[ OpenGL 1 ] 그래픽스 기본 지식




그래픽스에 대한 이해

추상데이터 -Rendering-> 화면 -영상처리-> 화면 -Modeling-> 추상데이터
 - 추상 데이터란 0과 1로 이뤄진 컴퓨터 상의 디지털 데이터를 의미한다. 0과 1로는 어떤 영상인지 알기 불가능 하기 때문에 추상 데이터라고 불리며, 이를 화면에 표시하는게 Rendering 기술이다. 이 화면에 표시된 영상을 필요에 맞게 조작하는 것을 영상처리, 이 화면을 다시 추상 데이터로 바꾸는 작업을 Modeling 이라 한다. 

고전적인 Cathode-Ray Tube음극선관 Monitor 의 작동원리
 - 필라멘트에서 빛을 발사하면 이 빛을 수직편향판과 수평편향판이 상하좌우로 빠르게 진동 시켜서 이를 선을 만든다. 이 선을 여러 개 출력하면 화면이 된다.

화소 Picture element = pixel = raster

Interlacing비월주사 : frame 마다 화소의 홀수/짝수 절반만 출력하여 이를 번갈아 출력하면서 낮은 퀄리티의 동영상을 출력

Alias : 계단 현상 화면은 점인 Pixel 로 이뤄지기 때문에 일어나는 현상 해결책은 아직까지 없다.

Frame buffer : Frame의 디지털 정보를 저장한 buffer 이다. DA digital-analog converter 를 이용하여 analog 전압으로 변환한다.

비트 평면 : 색을 표현하기 위한 화면의 2차원적인 비트 모임. True color 이면 pixel 24bit -> FHD 환경이면 frame 1920*1080*24 bit 필요 

Liquid Crystal Display : 빛의 편광 속성을 이용해 액정을 정렬시켜 화면을 출력
Graphic Processing Unit : Geometry Processor + Display Processer+ VRAM + DA Converter


색에 대한 이해 

색상 : 우세 주파수의 색 -> 무슨 색 인지 -> 원추 세포
명도 : 파형 아래의 면적 -> 명암 -> 막대 세포
채도 : 파형 높이 차이 -> 색 구별 난이도
Color Matching : 해당 색의 파장을 구현하기 위한 RGB 의 농도
삼중자극이론 : 원추세포에도 RGB 에 가장 민감하는 종류가 각각 있다. R:630 / G:530 / B:450 nm각 세포의 활성 정도로 색을 인식한다. 다만 인간은 수용체가 3개 이기 때문에 Red Green 을 섞어서 받아들이나, 노란색 빛을 받아들이나 구분을 못한다. 이 원리로 저렴하게 모니터를 만드는 것이다.
RGB model : 빛의 고유 파장을 이용하여 색을 표현함
R+G = Yellow , G+B = Cyan , B+R = Magenta
CMY model : 빛을 흡수하는 분자의 성질을 이용해서 여러 색을 표현함
Yellow->Blue 흡수 / Magenta->Green 흡수 / Cyan->Red 흡수 이를 조합함
CMYK : black 을 조합해서 색의 정확도와 비용을 절약함
HSV model : 색상 채도 명도 이용하여 색을 표현 / 직관성이 떨어지는 RGB를 보완
감마수정 : 프로그래머가 원하는 색과 모니터에 실제 출력되는 색이 다르기 때문에 모니터의 감마값 만큼 역계산을 해서 프로그래머가 입력해야 되는 값을 구하는 과정이다.
그림) 감마값 3.69 일 때 Flame Buffer 에 실제 저장해야 할 값을 구하는 과정
IBM 모니터의 경우 하드웨어 자체에 감마수정 기능이 없으므로, 프로그래머가 직접 감마수정된 값을 입력해야 함

OpenGL Open Graphics Library  : 1992년 실리콘 그래픽스사에서 만든 2차원 및 3차원 그래픽스 표현을 위한 표준 API 규격으로, 마이크로소프트 사의 Direct3D 와 함께 그래픽스 시장을 양분하고 있다.
 GLUT : openGL Utility Toolkit , 윈도우 시스템에 독립적인 OpenGL 프로그램을 작성하기 위한 도구
GLU : openGL 프로그램을 위한 추가적인 함수 포함 (주로 수학적인)