interpolation 2

[Rasterization] 스크린좌표계에서 정확한 원근투영 interpolation지점 찾기

일반적으로 레스터화에서 정투영, 원근투영 모두 월드좌표계의 vertex들을 스크린 좌표계로 변환시킨 후 barycentric coordinates(무게중심좌표계)를 이용하여, uv좌표를 찾고 fragment에 알맞은 색을 입힙니다. 하지만 정투영에서는 왜 문제가 안 생기고, 원근투영에서 문제가 생길까요? 다음 그림을 보며 이상한 부분을 발견해봅시다.   격자무늬가 삐뚤어져있죠? 원래 월드좌표계에서의 모습은 잘 정렬되어져 있는 모습입니다. 왜 왜곡되게 보이는지 원리를 이해하기전에 레스터화에서 원근투영의 원리를 천천히 이해해봅시다. 다음 그림과 같이 레스터화의 원근투영은 월드좌표계의 vertex를 스크린좌표계 즉 z=0일 때로 투영시킨 지점을 찾습니다. (닮은꼴을 통해 구합니다)   Raytracing은 r..

[Ray Tracing] 월드좌표 도형에 텍스춰링 하는 방법

텍스처링(Texture Mapping)은 3D 그래픽스에서 객체의 표면에 이미지를 입혀 시각적 디테일을 추가하는 기술입니다. 간단히 말해, 3D 모델의 표면에 2D 이미지를 적용하는 과정입니다. 이번 개념 설명과 실습에서는 이해하기 쉽게 하나의 사각형에 이미지를 입혀볼 것입니다.사각형에 이미지를 입히는 방법은 일단 월드 좌표를 텍스쳐 좌표로 맞추고, 해당 이미지 좌표의 색을 픽셀 값에 넣어주는 것입니다. 여기서 이미지 좌표의 해당 값을 가져오는 과정을 샘플링(Sampling)이라고 합니다. 여기서 텍스쳐 좌표란 사각형(월드좌표로 표현됨)을 x,y[0,1][0,1]로 변환한 좌표계입니다.이미지 좌표란 가져올 이미지의 좌표, 예를들어 4*4화소의 이미지가 있다면 [0,4][0,4]가 이미지 좌표입니다. Ra..

그래픽스 기술 2024.10.20