Computer Graphics

2020. 12. 7. 00:01Hi/Computer_Graphics

------------------------- OpenGL로 배우는 컴퓨터그래픽스의 내용을 정리하였습니다.

 

<8장 가시성판단>

두 벡터가 수직이면 내적의 값은 0. 외적의 값은 1.

전면 : 법선 벡터가 시점을 향한 면

후면 : 멀어지는 방향 법선벡터 면.

 

절단

-       물체면 중 가시 부피 내부에 존재하는 면만 걸러내는 작업.

(4차원 절단 좌표계에서 일어남)

Ø  3차원 정규화 장치 좌표계에서 절단하면 시점 뒤쪽 물체 처리 시 오류 발생해서.

은면제거

-       앞면에 가려서 보이지 않는 부분 제거

후면

-       면이 서있는 방향 때문에 보이지 않는 면. 시점에서 멀어지는 방향의 법선벡터 지닌 면.

 

절단알고리즘 3

-       코헨-서더런드    

n  물체 좌표를 기준으로 절단한다는 점에서 물체 공간 알고리즘.

n   이웃코드에 의해 절단 연산속도 높인 것

-       서더런드-핫지먼  

n  내가 볼 화면을 기준으로 상변, 우변, 하변, 좌변 순으로 절단하는 과정이다.

n   절단 다각형을 기준으로 정점의 내부 외부 이동시 새로운 교차점 계산하여 추가.

-       웨일러-애서톤    

n  오목 다각형 판단에 좋은 알고리즘

n  절단에 의해 분리된 여러 개의 다각형 생성 허용.

 

 

은면제거 방법

-       페인터 알고리즘

n  먼곳에서 가까운곳으로 순차적 덧칠.

n  소프트웨어에 의한 은면제거방법.

-       지버퍼 알고리즘

n  화소 단위로 은면 판단.

          

 

 

 

 

 

 

 

 

 

 

 

<9장 레스터변환>

래스터변환이란?

-       정점, 선분, 다각형 내부를 표현하기 위해 어떤 화소를 선택해야 하는지를 결정하는 작업

 

교차점 계산 알고리즘 -> DDA 알고리즘 -> 브레스넘 알고리즘. (제일빠름)

 

주사선 채움 알고리즘

1.     Scan Line과 다각형의 교차점 계산

2.     1~2 채움, 3~4채움

 

홀수규칙이란?

-       어떤 점에서 다각형 외부를 향해 직선을 그을 때, 그 직선이 다각형 변과 홀수 번 교차하면 해당 점은 다각형 내부라는 규칙.

 

포스트스크립트란?

-       영상을 물체(객체) 단위로 명시한 것.

-       정점좌표, 정점을 연결하는 곡선의 수식, 객체 속성 등에 의해 영상을 표현한 것.

 

에일리어싱

-       낮은 해상도로 인한 정보 왜곡 현상.

-       무한 해상도를 지닌 사물을 유한 해상도를 지닌 화면에 프로젝션 시키는 레스터변환 과정에서 언더샘플링 일어나 계단현상처럼 보이는 것

 

앤티 에일리어싱 방법

-       슈퍼 샘플링

n  실제 화면 해상도 보다 더 큰 해상도로 샘플링하고, 이를 평균을 내서 해당 화소에 적용

-       영역 샘플링

n  물체가 차지하는 픽셀 면적을 기준으로 픽셀의 밝기 조절하는 방법.

n  화소 밝기를 면적에 비례하게 하는 방법.

n  물체가 차지하는 영역의 크기를 가중치로 하여, 해당 화소의 색 결정.

n  한 화소와 물체와의 교차면적 계산해야함.

n  (동일 가중치 샘플링, 피라미드 가중치 샘플링, 원뿔 가중치 샘플링

-       (블러링 : 앤티 에일리어싱 빠르지만 실제 물체색 아니여서 정확도 떨어짐)

 

<10장 조명>

렌더링이란?

-       조명과 음영 합친 것.

-       조명이란?

n  광원과 물체 특성을 감안하여 정점에서의 빛 세기를 계산하는 작업

-       음영이란?

n  해당 물체면 내부 곳곳마다 색을 부여하는 작업

 

조명의 종류

-       전역 조명 모델   : 물체면과 물체면 사이의 반사를 감안한 것

-       지역 조명 모델   :  광원으로부터 직접 물체에 부딪쳐 우리 눈에 들어오는 빛만 고려한 모델

n  주변반사 : 주변 물체에 부딪쳐 반사되는 빛.

n  확산반사 : 거친 면에 의한 난반사. 물체면에 부딪쳐 모든 방향으로 반사되는 빛.

n  경면반사 : 매끄러운 물체에 의한 전반사. 입사각과 동일한 크기의 반사각 방향으로 진행.

 

음영의 종류 (물체면 내부 화소의 컬러를 채우는 작업)

-       플랫 셰이딩 :

n  내부를 모두 동일한 색으로 채우는 것. (현저한 마하 밴드 현상 보임.)

-       구로 셰이딩 :

n  정점의 컬러로부터 보간에 의해 내부 면 채우는 것. (정점의 법선 벡터는 인접면의 법선 벡터로부터 구해짐)

-       퐁 셰이딩 :

n  컬러를 보간하는 대신 법선 벡터를 보간하는 것.

n  원 물체의 기울기를 복원하기에 정확한 렌더링 가능.

 

 

<11장 텍스처>

텍스처란?

-       텍스처를 사용하면 물체의 현실감을 높일 수 있음.

-       물체 표면의 재질을 표현하기 위한 것, 물체면을 아주 작은 다각형으로 분할해서 서로다른 색상과 법선벡터를 정의하는 것. (실행시간느려짐)

-       (현재)촬영된 영상을 물체면에 그대로 입히는 것.

 

평면 다각형 텍스처 매핑 > 물체의 정점마다 텍스처 좌표 부여.

다각형 내부 화소의 텍스처 > 무게중심 좌표를 기준으로 정점의 텍스처 좌표를 보간해서 구함.

파라미터로 표현된 곡면의 텍스처 매핑 > 파라미터 사용

파라미터 표현 할 수 없는 곡면 텍스처 매핑 > S매핑, O매핑.

-       S매핑 : 평면 텍스처를 중개 곡면에 입히는 작업. (원기둥, 원구, 육면체 등)

-       O매핑 : 텍스처가 입혀진 중개면으로부터 원래의 물체에 텍스처 입히는 작업.

주변매핑 : 주변 환경이 물체 표면에 비친 모습 생성하는 것.

           물체 중심으로 180~360도 시야각 범위에 있는 주변 모습을 텍스처 영상으로 사용.

 

픽셀->텍셀 or 텍셀 ->픽셀 매핑

-       점 샘플링

텍스처 좌표가 속한 텍셀의 색을 그대로 취하는 것.

에일리어싱 수반함

앤티 에일리어싱 할려면 양방향 선형보간 사용.

-       밉 매핑

여러 텍셀을 평균내어 사용하는 방법.

텍스쳐 도메인에서 이러한 계산을 미리 수행해서 저장함으로써 처리 속도를 높인 것

 

축소관계의 경우 텍셀의 평균을 구하여 해당 화소를 칠함으로써 안티-에일리어싱을 할 수 있다.

 

자동 텍스쳐 매핑을 사용하면 물체 내부의 모든 정점마다 텍스쳐 좌표가 자동으로 할당된다.이후 다각형 내부의 텍스쳐 좌표는 보간에 의해 할당된다.

 

텍스쳐 객체를 사용하는 이유

-       장면 내에 여러 물체가 있고 물체별로 서로 다른 텍스쳐를 적용하기 위해 텍스쳐 객체 개념을 사용한다.

 

별도의 텍스쳐 메모리에 여러 개의 텍스쳐 객체를 저장할 수 있다.

 

 

 

 

 

<12장 프레그먼트 연산>

3차원 정점 > 모델뷰변환 > 투상변환 > 래스터변환

텍스처 매핑 > 프래그먼트 테스트 > 블렌딩디더링논리연산

프래그먼트란

           하나의 화소로 매핑될 테이터를 지닌 단위.

화소의 색, 깊이, 텍스처 등의 정보를 지님.

 

프래그먼트 테스트

-       시저 테스트

절단에 의해, 화면의 변화를 뷰포트 내부의 일정 사각형 영역으로 제한하는 것.

-       알파 테스트

불투명도를 기준으로 프래그먼트를 제외하는 것.

-       스텐실 테스트

스텐실 버퍼에 기록된 임의 모습을 기준으로 프래그먼트를 제외하는 것.

-       깊이 테스트

깊이 값을 기준으로 프래그먼트 제외하는 것.

브렌딩이란?

           소스 프래그먼트와 프레임 버퍼의 대상화소를 혼합해서 다시 대상 화소로 저장하는 작업.

디더링이란?

           제한된 색으로 여러색 표현하기위한 기술

           하프토우닝을 포함하는 개념. 그래픽 카드마다 처리 방법이 다름.

           하프토우닝이란 점의 크기를 다양하게 함으로써 여러 가지 회색 레벨을 만들어 내는 .

논리연산이란?

           브랜딩정의 + 비트 단위의 논리 연산에 의해 대상화소값 변경가능.

영상(화소 파이프라인을 통해 입력되는)

-       비트맵

n  프레임 버퍼에 쓰기 위한 화소 기본요소 중 2차원 배열로 표현되는 영상.

n  영상이라기보다 어떤 화소를 변경할 것인가를 결정하는 일종의 마스크

n  영상 내부의 값에 따라 화소별로 프레임 버퍼의 색 or 정의된 색 선택.

-       화소맵

n  프레임 버퍼에 쓰기 위한 화소 기본요소 중 2차원 배열로 표현되는 영상.

n  비트맵과 같은 마스크 기능을 위한 것이 아닌 실제 영상의 컬러를 저장한 것.

n  화소 당 여러 비트를 할애한 것으로서 실제 영상의 색에 해당.

 

 

A-버퍼란?

일반적으로 여러 개의 물체(객체)를 연결 리스트로 저장하는 버퍼.

내부에 컬러, 투명도, 깊이, 화소 점유율 등의 정보 지님.

지엘의 A-버퍼는 여러 개의 영상을 중첩하는데 사용됨.

떨림에 의한 화면 단위의 앤티 에일리어싱에도 사용되지만, 초점에서 먼 곳의 물체를 흐리게 하거나 모션 블러 효과를 내는데도 사용.

 

728x90

'Hi > Computer_Graphics' 카테고리의 다른 글

[CG]시점변환  (0) 2021.01.05
[CG] 태양계 모델링  (0) 2021.01.05