MP-APS
최신 OpenGL 3D 렌더링 엔진. 그 뒤에있는 아이디어는 사용하기가 매우 간단합니다. 이상한 추상화 층, Janky 변수 이름 또는 대규모 2000 이상의 라인 클래스. 주로 다른 그래픽 프로그래밍 기술을 구현하거나 최소한 시도하는 놀이터입니다. 정규직 Univesity 연구, 일을 저글링하고 신체적으로 활동하려고 노력한 이후 진전이 느려졌습니다. 결국, 나는 일부 모델을로드하고 멋진 조명을 추가하고 사실상 탐색 할 수있는 "장면 기반"엔진을 만들고 싶습니다.
컴파일
우분투 (및 유사한)
bash install-deps-ubuntu.sh
make
cd build/
./MP-APS
스크린 샷
aliased 와이어 프레임 렌더링 : 
물리 기반 렌더링 : 

이미지 기반 조명 (IBL) : 
꽃: 
(구 버전) Perlin 소음을 사용한 CPU 기반 지형 생성 : 
특징
- Assimp 모델 로딩.
- 사후 처리 (HDR, 진동, 꽃).
- 병렬 AABB Frustum Culling.
- XML 엔진 구성.
- 셰이더의
#include 지시를 지원합니다. - 셰이더 기반 와이어 프레임 오버레이.
- 물리적으로 기반 렌더링.
물티
- 분산 그림자 매핑 (소프트 섀도우).
- 깊이-버퍼 최적화 (https://outerra.blogspot.ca/2012/11/maximizing-depth-buffer-range-and.html).
로드맵
- 섀도우 볼륨 (http://www.alexandre-pestana.com/volumetric-leights/, https://www.slideshare.net/benjaminglatzel/volumetric-righting-for-many-lights-in-lords-of-fallen).
- 재료 당 배열 텍스처 :
- (https://www.gamedev.net/forums/topic/662654-best-practise-texture-atlas-38-vbo/?do=findcomment&comment=5191703)
- (https://www.khronos.org/opengl/wiki/array_texture)
- 전진+재 구현.
- 더 많은 후 처리 효과 :
- fxaa (http://blog.simonrodriguez.fr/articles/30-07-2016_implementing_fxaa.html).
- 색수차 (https://gamedev.stackexchange.com/a/58412/74957).
- 샘플러 객체로 전환하십시오.
- 어떤 종류의 GUI.
- 대기 산란 : (https://github.com/korgan00/tfg-atmospheric-scattering) 또는 (https://ebruneton.github.io/precomputed_atmospheric_scattering/)
파이프 드림
- CDLOD 지형.
- 행성 렌더링.
- 글로벌 조명 (계단식 가벼운 전파 볼륨).
제 3 자 코드
- Assimp.
- GLM.
- 기쁜.
- glfw.
- stb_image.
- pugixml.
- GLM AABB 래퍼 : (https://github.com/iauns/cpm-glm-aabb).
사용 된 연구
- World-View-Projection Matrix (http://www.cs.otago.ac.nz/postgrads/alexis/planeextraction.pdf)에서 Frustum 평면을 빠르게 추출합니다 . Gribb, Hartman (2001).
- Forward+: 연기 조명을 다음 단계로 가져옵니다 (https://takahiroharada.files.wordpress.com/2015/04/forward_plus.pdf). Harada, McKee, Yang (2012).
- 솔리드 와이어 프레임 (http://developer.download.nvidia.com/sdk/10/direct3d/source/solidwireframe/doc/solidwireframe.pdf). Nvidia (2007).
- 물리 기반 렌더링 (https://learnopengl.com/# !pbr/ibl/specular-ibl)
- 분산 섀도우 매핑 (http://developer.download.nvidia.com/sdk/10.5/direct3d/source/varianceshadowmapping/doc/varianceshadowmapping.pdf)
- Dynamic Lod (http://victorbush.com/2015/01/tessellated-terrain/)로 렌더링 된 Tessellated 지형 렌더링