본문 바로가기

texture mapping

쉐이더 아키텍처를 사용하는 OpenGL 프로그래밍에서의 텍스처 매핑 OpenGL에서, 텍스처 매핑(texture mapping)을 사용하는 방법은 고정 처리 파이프라인(fixed pipeline)을 사용하느냐, 쉐이더 파이프라인을 사용하느냐 여부에 따라 달라진다. OpenGL 2.0 이전의 고정 파이프라인 구조에서는 명시적인 glActiveTexture() 사용이 중요한데, 이것은 여러 장의 텍스처를 사용하는 방법은 멀티 텍스처링이 유일하기 때문이다. 반면, 쉐이더 아키텍처를 사용하는 OpenGL 2.0 이후의 구조에서는 생성된 텍스처 개체의 바인딩 대상이 되는 텍스처 유닛과 샘플링 방법만 필요하다. 생성된 텍스처 개체를 바인딩했다면, 쉐이더의 샘플러에게는 어떤 텍스처 유닛이 사용될 것인지 전달하면 된다. 그리고, 이 부분이 가장 중요한데, 상태 설정을 위해 바인딩 되는.. 더보기
텍스처 매핑(Texture Mapping) 어떤 물체를 가상의 3D 공간에서 폴리곤(polygon)을 사용하여 완전하게 재현하려면 엄청난 수의 폴리곤이 필요하다. 물체는 평평한 면으로만 구성된 것이 아니며, 이런 물체의 질감을 사실적으로 표현하려면 물체의 요철을 모두 묘사해야 하기 때문이다. 그러나, 현실적으로 엄청난 수의 폴리곤을 실시간으로 처리하는 것은 아무리 좋은 하드웨어라고 해도 성능상의 문제가 있다(테셀레이터는 이 주제를 다룬다). 따라서, 적정 수의 폴리곤을 사용하면서 사실적인 영상을 만들어내는 방법이 필요한데, 그 중 하나가 텍스처(texture)를 사용하는 것이다. 텍스처 처리란, 간단히 말해 물체의 표면의 속성을 모델링하는 기법 중 하나라고 할 수 있다. 즉, 물체의 질감이나 기타 효과를 표현하기 위해 폴리곤을 증가시키는 것이 아.. 더보기