일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 셰이더프로그래밍
- 운영체제
- 윈도우 프로그래밍
- c4d
- window programming
- win32
- Mesh Processing
- 베지에 곡선
- 윈도우 구조
- MFC
- 그래픽스기초
- 윈도우프로그래밍
- MFC 윈도우 프로그래밍
- Graphics
- 오픈지엘
- shader programming
- OpenGL
- Win32 API
- modeling
- 핵심 API로 배우는 윈도우프로그래밍
- 렌더링
- 윈도우
- 컴퓨터 구조
- Geometry Modeling
- denoising
- 컴퓨터 아키텍쳐
- 셰이더
- bezier curve
- 그래픽스
- shader
- Today
- Total
목록modeling (9)
오다기리 박의 알고리즘 노트
지형 메쉬를 편집하는 툴을 만들어보았다. 쿼드 메쉬를 하나 만들어서 작은 삼각형으로 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.
용량이 큰 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
메쉬의 삼각형을 정삼각형에 가깝게 만들어주는 isometric remeshing 알고리즘을 구현해보았다. 에지를 분할하거나 제거하면서 불규칙한 모양의 삼각형들을 정삼각형에 가깝게 바꿔주는 방식이다. [개발 환경] C++ / OpenGL / Visual Studio [참고] Vorsatz, Jens, Ch Ro¨ ssl, and, and H-P. Seidel. "Dynamic remeshing and applications." J. Comput. Inf. Sci. Eng. 3.4 (2003): 338-344. Botsch, Mario, and Leif Kobbelt. "A remeshing approach to multiresolution modeling." Proceedings of the 2004 Eu..