A 3D real-time simulator which simulates phong reflection model
Phong Reflection Model Simulator는 C++과 OpenGL API로 작성된 간단한 3D 그래픽 시뮬레이터입니다.
Phong reflection model을 시각화해주는 간단한 프로그램입니다.
Phong reflection model은 물체의 표면을 표현하기 위해서 phong lighting model을 사용합니다.
Phong lighting model은 세 가지 구성요소를 갖습니다: 주변광 표현(ambient lighting), 난반사광 표현(diffuse lighting), 정반사광 표현(specular lighting).
이 시뮬레이터에서는 "Light" 탭에서 주변광 세기(ambient)와 난반사광 세기(diffuse)를 수정하여 주변광 표현과 난반사광 표현을 조절할 수 있습니다.
더 나아가, 정반사광 표현은 "Mesh" 탭 아래 "Material" 섹션에서 주변광 세기(specular)을 수정하여 조절할 수 있습니다.
빛과 물체의 부가적인 설정값과 카메라, 스카이박스 등의 설정 또한 관리할 수 있습니다.
이 프로젝트는 Windows 10, Visual Studio 2019 에서 Modern C++을 사용하여 진행되었습니다. 3D 그래픽스 API로는 OpenGL이 사용되었습니다.
OpenGL 확장 라이브러리로는 GLEW를 사용하였습니다.
OpenGL 유틸리티 라이브러리로는 GLFW를 사용하였습니다.
수학 라이브러리로는 GLM을 사용하였습니다.
에셋 임포터로는 ASSIMP를 사용하였습니다.
이미지 임포터로는 STB(stb_image)를 사용하였습니다.
그래픽 사용자 인터페이스로는 Dear ImGui를 사용하였습니다.
프로젝트는 계속 진행 중입니다. 개인적으로 프로그램을 앞으로의 그래픽 프로젝트들의 뷰포트로 사용할 계획입니다.
MIT License