일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- modeling
- 베지에 곡선
- MFC
- 오픈지엘
- 핵심 API로 배우는 윈도우프로그래밍
- 윈도우프로그래밍
- 셰이더
- 렌더링
- 윈도우
- MFC 윈도우 프로그래밍
- denoising
- Geometry Modeling
- c4d
- win32
- window programming
- 컴퓨터 아키텍쳐
- 운영체제
- shader
- Win32 API
- Graphics
- OpenGL
- 컴퓨터 구조
- 셰이더프로그래밍
- 그래픽스
- 그래픽스기초
- 윈도우 프로그래밍
- shader programming
- bezier curve
- Mesh Processing
- 윈도우 구조
- Today
- Total
목록컴퓨터 그래픽스/3D 모델러 (13)
오다기리 박의 알고리즘 노트
메쉬에 뼈(bone)를 심어서 애니메이션을 만들어보았다. 영상에서는 3D shape, skeleton, animation 정보가 포함된 FBX파일을 임포트한 결과를 보여준다. 각 관절과 메쉬 정점은 서로 적절한 가중치로 바인딩되어 있어서 관절의 움직임에 따라 메쉬 skinning이 수행된다. [개발 환경] C++ / OpenGL / Visual Studio
지형 메쉬를 편집하는 툴을 만들어보았다. 쿼드 메쉬를 하나 만들어서 작은 삼각형으로 subdivision하고, 메쉬를 sculpting 및 deformation을 해서 지형 메쉬로 만들었다. [개발 환경] C++ / OpenGL / Visual Studio [참고] Botsch, Mario, and Leif Kobbelt. "An intuitive framework for real-time freeform modeling." ACM Transactions on Graphics (TOG) 23.3 (2004): 630-634.
메쉬에 존재하는 홀(hole)을 발견해서 부드러운 메쉬(초록색)로 채운 후, 그 위에 디테일을 추가하여 모델을 복원하는 툴을 만들어보았다. [개발 환경] C++ / OpenGL / Visual Studio [참고] Liepa, Peter. "Filling holes in meshes." Proceedings of the 2003 Eurographics/ACM SIGGRAPH symposium on Geometry processing. 2003. Park, Jung-Ho, et al. "GeoStamp: Detail Transfer Based on Mean Curvature Field." Mathematics 10.3 (2022): 500.
안녕하세요. C++과 이번 기술은 소스 영역(노란색 경계)의 디테일 형상을 추출하여 타겟 영역(보라색 경계)으로 전이하는 기술입니다. 소스 영역의 평균 곡률장을 타겟 영역으로 옮기는 방식입니다 . 형상 디테일 전이는 형상 변형, 메쉬 홀 필링등에 응용 가능합니다. This technique is that extracts geometric detail from the source region (yellow boundary) and transfers it to the target region (purple boundary). The method moves the mean curvature field of the source region to the target region. Shape detail trans..
용량이 큰 high polygon mesh를 단순화해보았다. 메쉬의 형상(shape)을 최대한 유지하면서 모델의 정점과 삼각형의 개수를 줄여나가는 방식이다. [개발 환경] C++ / OpenGL / Visual Studio [참고] Garland, Michael, and Paul S. Heckbert. "Surface simplification using quadric error metrics." Proceedings of the 24th annual conference on Computer graphics and interactive techniques. 1997.
메쉬를 부위별로 분할하고 선택하는 기능을 만들어보았다. 분홍색으로 나타나는 영역에서 메쉬 굴곡이 급격하게 변하는 부분까지 자동으로 분할이 가능하다. [개발 환경] C++ / OpenGL / Visual Studio [참고] Au, Oscar Kin-Chung, et al. "Mesh segmentation with concavity-aware fields." IEEE Transactions on Visualization and Computer Graphics 18.7 (2011): 1125-1134.
메쉬에서 일부 영역을 선택해서 Fairing 을 적용해보았다. mesh fairing은 디테일/노이즈를 제거하여 부드럽게 만드는 기법이다. [개발 환경] C++ / OpenGL / Visual Studio [참고] Moreton, Henry P., and Carlo H. Séquin. "Functional optimization for fair surface design." ACM SIGGRAPH Computer Graphics 26.2 (1992): 167-176. Desbrun, Mathieu, et al. "Implicit fairing of irregular meshes using diffusion and curvature flow." Proceedings of the 26th annual con..
메쉬의 재질(material)에 셰이더(shader)를 붙여서 표현해보았다. OpenGL에서는 기본적으로 삼각형 안에서 세 점의 조명색상을 보간하는 방식인 Gouraud 셰이딩을 사용하기 때문에 메쉬의 렌더링 퀄리티가 높지 않다. 영상에서는 GLSL을 사용하여 퐁(Phong) 셰이딩, 툰(Toon) 셰이딩, 환경 매핑(Environment mapping)등을 사용한다. 특히 퐁셰이딩은 삼각형 안에서 세 점의 법선을 보간하기 때문에 Specular 효과를 확실하게 표현할 수 있다. [개발 환경] C++ / OpenGL / Visual Studio