Computer/그래픽스

래스터변환(Rasterization)

에린_1 2023. 1. 19. 20:41
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)
      • 그래픽 메타파일 형식으로서 포스트스크립트, 비트맵, 텍스트를 동시에 저장할 수 있다.
    • 그래픽 파일 저장 방식
      • 비트맵 파일
        • 최종 렌더링 결과인 그림 자체를 저장하는 방식
      • 그래픽 메타파일
        • 모델링 결과 정점 좌표와 렌더링 명령을 저장한 파일
        • 그림 대신 해당 그림을 그려내기 위한 명령어를 저장
        • 저장된 명령어 파일을 읽어서 추가적으로 렌더링을 가해야만 그림이 그려진다.

 

 

에일리어싱과 안티에일리어싱

 

  • 에일리어싱
    • 무한 해상도를 지닌 사물을 유한 해상도를 가진 화면에 프롲젝션 시키는 래스터변환 과정에서 언더샘플링이 일어난다.
    • 해상도가 높아질 수록 화소 크기가 작아져 에일리어싱은 감소 한다.
    • 호가대하거나 좁은 간격에서 물체 모습이 자주 변할 경우(주파수가 높을 경우) 에일리어싱이 심해진다.
  • 영역 샘플링 (Area Sampling)
    • 화소 밝기를 면적에 비례하게 하는 방법
    • 한 화소와 물체와의 교차면적을 계산해야 한다.
728x90