물리 엔진 연구

물리 엔진은 복잡한 수식들이 코드로 풀어져 있는 블랙박스 같아서 내부 원리를 알려면 소스 분석을 하기 전에 관련 수학과 이론을 먼저 배워야 합니다. (소스 코드는 상대적으로 짧은 편입니다) 제 경우엔 어디서부터 어떻게 공부해 나가야 할지 가이드라인을 찾기가 힘들었습니다. (Eberly 형님의 ‘게임 물리 바이블’ 책이나 Baraff 아저씨 문서를 보라고 하는데 기초지식이 부족하니 처음부터 막혔습니다.) 그래서 비교적 쉬운…

Continue reading →

Tangent Basis 벡터 계산

tangent, bitangent 벡터 구하는 방법을 간단하게 설명해 보겠습니다. tangent space (texture space) 에 있는 () 벡터를 world space 로 변환하면 삼각형의 edge 벡터가 된다는 사실로부터,         이 식은 () 벡터를 가 기저인 world space (column space) 로 변환하는 식입니다. 식을 하나로 합치면,     이것은 미지수가 6 개인 6 개의 연립 일차…

Continue reading →

Rendering in Linear Color Space

# sRGB 컬러 공간 우리가 사용하는 대부분의 디지털 이미지 장비들(디카, 스캐너, 모니터, 프린터) 은 표준 non-linear 색 공간인 sRGB 를 사용하도록 정해져있다. 따라서 사진이나 그림파일들도 그에 맞추어진 형태로 저장된다. 보통 이미지를 합성(필터링, 블렌딩, 쉐이딩,..) 할때 우리는 색공간이 linear 하다고 생각하지만, 실제 저장된 파일은 sRGB 에 맞춰져 있기 때문에 연산 전에 먼저 linearize 해줘야 정확한 컬러…

Continue reading →