728x90
래스터변환
- 정점, 선분, 다각형 내부를 표현하기 위해 어떤 화소를 선택해야 하는지를 결정하는 작업
- 선분의 기울기 > 1 - y 좌표를 1씩 증가시키면서 래스터변환
- 선분의 기울기 < 1 - x 좌표를 1씩 증가시키면서 래스터 변환
- 교차점 계산
- DDA(Digital Differential Analyzer) 알고리즘
- 다음 교차점의 y좌표 = 이전 교차점의 y좌표 + 기울기
- 브레스넘 (Bresenham) 알고리즘/ 중점 알고리즘
- 장점 - 연산속도
- 화소 좌표
- 주소할당 방식
다각형 래스터변환
- 그래픽 수식 표현
- Explicit Forms
- Impicit Forms
- Parametric Representation
GL의 그래픽 기본요소
- 속성
- void glPointSize(GLfloat size);
- void glLineWidth(GLfloat width);
- void glLineStipple(GLint factor, GLshotr pattern);
- void glPolygonStipple(const GLubyte *mask);
- void glShadeModel(mode);
비트맵과 포스트스크립트
- 비트맵 영상 - 비트맵 파일 형식으로 저장
- 포스트스크립트 영상 - 그래픽 메타파일 형태로 저장
- 그래픽 파일 형식
- BMP(Bitmapped Picture)
- MS 운영체제에서 기본적으로 사용하는 비트맵 파일로서 일반적으로 압축을 가하지 않은 파일
- GIF(Graphic Interchange Format)
- 무손실 압축을 사용한 비트맵 파일로서 8비트 컬러, 256컬러로 제한. 사진이나 스캔 영상 등 다양한 컬러를 지원해야 하는 영상에는 적합하지 않은 형식이다. 웹에서 자주 사용된다.
- GIF 89a
- 애니메이션을 위한 파일 형식. 하나의 파일에 일련의 영상을 저장할 수 있다. Pinter, Premiere, Flash 등의 소프트웨어를 사용하여 만들 수 있다. 단순한 웹 애니메이션 정도에 유용하다
- PNG(Portable Network Graphics)
- 웹 표준단체인 W3C 에서 추천하는 파일 형식으로서 무료 사용 제약이 없다.
- JPEG(Joint Photographic Expert Group)
- 일종의 압축 기법. JPG,TIFF,EPS등 형식에 적용 가능하다. 25비트 컬러를 지원한다. 손실압축의 일종이기 때문에 파일의 크기는 작지만 원래 영상을 완벽하게 복원하지는 못한다.
- TIFF(Tagged Image File Format)
- 8비트, 24비트 컬러를 지원하는 형식으로서 JPEG뿐만 아니라 다른 압축방법도 수용한다
- PDF(Postscript Description File)
- 그려낼 물체를 PDL(Page Desciption Language) 라는 명령어로 정의
- 이러한 명령어를 해독하여 렌더링 해야만 그림이 그려진다.
- EPS(Extended PostScript), SWF(Shockwave Flash),WMF(Windows Meta File), SVG(Scaleable Vectoor Graphic), PICT(PICTure)
- 그래픽 메타파일 형식으로서 포스트스크립트, 비트맵, 텍스트를 동시에 저장할 수 있다.
- 그래픽 파일 저장 방식
- 비트맵 파일
- 최종 렌더링 결과인 그림 자체를 저장하는 방식
- 그래픽 메타파일
- 모델링 결과 정점 좌표와 렌더링 명령을 저장한 파일
- 그림 대신 해당 그림을 그려내기 위한 명령어를 저장
- 저장된 명령어 파일을 읽어서 추가적으로 렌더링을 가해야만 그림이 그려진다.
- 비트맵 파일
- BMP(Bitmapped Picture)
에일리어싱과 안티에일리어싱
- 에일리어싱
- 무한 해상도를 지닌 사물을 유한 해상도를 가진 화면에 프롲젝션 시키는 래스터변환 과정에서 언더샘플링이 일어난다.
- 해상도가 높아질 수록 화소 크기가 작아져 에일리어싱은 감소 한다.
- 호가대하거나 좁은 간격에서 물체 모습이 자주 변할 경우(주파수가 높을 경우) 에일리어싱이 심해진다.
- 영역 샘플링 (Area Sampling)
- 화소 밝기를 면적에 비례하게 하는 방법
- 한 화소와 물체와의 교차면적을 계산해야 한다.
728x90
'Computer > 그래픽스' 카테고리의 다른 글
게임그래픽프로그래밍 주제 2. introduction | 3D Graphics Production 2 & Advanced topics (0) | 2024.07.03 |
---|---|
게임그래픽프로그래밍 주제 1. introduction (0) | 2024.07.01 |
가시성 판단(Visibility Detection) (2) | 2023.01.18 |
투상변환과 뷰포트변환 (0) | 2023.01.17 |
모델 변환과 시점 변환 (0) | 2023.01.17 |