Specular IBL 최적화 도중 mipLevel을 cache 하도록 만들었는데 위와 같은 직각 박스가 나타 났다. 이상한 것이 0 mip level 0을 생성하게 하면 나타나지 않고, 항상 mip level 1에서만 발생했다. 위치는 항상 달랐다. 문제는, memoryBarrierShared 를 하나만 써서 그럼. OpenGL은 2개가 필요하다 https://armkeil.blob.core.windows.net/developer/Files/pdf/graphics-and-multimedia/4-compute_shaders.pdf // Ensure shared memory writes are visible to work group memoryBarrierShared(); // Ensure all thre..
아래 싸이트를 참고로 해서 최적화 작업을 하고 있다 https://placeholderart.wordpress.com/2015/07/28/implementation-notes-runtime-environment-map-filtering-for-image-based-lighting/ 다루는 것은 Specular 부분 우선, Mipmap filter 을 사용한 128x128 nvidia 750m 의 성능 Time spent on the CPU Prefilter cubemap: 12.181185 ms Time spent on the GPU Prefilter cubemap: 176.252288 ms Iris 6100 이 54 ms 라는데; 이게 먼일인지 mipmap filtering 을 끄면, Time spen..
전체 목록: http://graphicrants.blogspot.kr/2013/08/specular-brdf-reference.html https://learnopengl.com/PBR/Theory 실제 게임에서의 변화 (No visibility function vs Schlick-Smith Visibility function) Lazarov-Physically-Based-Lighting-in-Black-Ops (Siggraph 2011 Advances in Real-Time Rendering Course)
물리 https://computergraphics.stackexchange.com/questions/1513/how-physically-based-is-the-diffuse-and-specular-distinction There's no such thing as a "specular color" There's no such thing as "diffuse reflection" PBRT BRDF의 경우 미세면 각각을 perfact specular 로 취급 투과하는 개체의 경우 BTDF 로 부터 계산 (fresnel에 의해 reflection 비율 결정) fresnel을 정식으로 계산함 dielectrics conductor semi-conductor 3번은 무시하고 1, 2번을 다루는데, 2..
기본 방법은 여기에 정리 꽤 잘되있다. UE4 방법에 대해 언급해두었기에 참조하기 좋음 https://learnopengl.com/PBR/IBL/Diffuse-irradiance Equirectangular에 관한 설명은 아래에 https://www.slideshare.net/yorung/360vr Diffuse IBL 결과는 다음과 같다 Nvidia 660m 기준 230 ms 걸린다 timer는 아래 싸이트 참조함 http://www.lighthouse3d.com/tutorials/opengl-timer-query/ diffuse 결과는 albedo와 1 - fresnel(f0, saturate(n.v)) 때문인지 꽤 어둡다
실용 Direct3D 11 렌더링 계산 Practical Rendering & Computation & Direct3D 11 류광 역. 괜찮다. 인쇄도 좋고 GPU Gems 3 그림도 잘나와있고 편집이라고 해야하나 이쁘게 잘되어있다. 14장 처음 부분은 괜찮은데 뒤로 갈수록 망가진다. 20장 번역은 안습. 아주 읽기 힘들다. 23장은 볼만은 하다더라 나머진 아직; 물리 기반 렌더링 먼가 미묘했다. 한글판 보다가 이상해서 영문판 옆에 두고 대조좀 하다가 그만 읽어서 머라 할말이 없다. 영어 실력이 딸려서 해석하는데 어려움을 겪었다. 12장 부근 게임 엔진 아키텍쳐 괜찮다 리얼타임 렌더링 2판 PE triangle 부분에 이상한게 있었던 같기도 하고, 전반적으로 좋다 프로그래밍 콘테스트 챌린징, Takuya..
이미지 기반이니까 IBL 이라 했다. 거의 이제는 이렇게 않쓰지만 다른 이름으로는, Prefiltered mipmaped radiance environment map (PMREM) 자주쓰이는 이름은, Radiance Map http://jankautz.com/courses/GameCourse/05_EnvMaps.pdf SIGGRAPH 06 의 Course로 나온 강의로 Environmapping 의 Irraiance 와 Radiance 에 대해 설명한다. Irradiance는 SH 방식이 워낙 좋기에 아직도 쓰이지만 (SG나 하프라이프의 요상한것도 있지만) Radiance는 연도가 연도이니 만큼 구식이다. 근대 그 구식 방식이 이해가 안된다. Phong prefiltering [Miller84, Heid..
SH irradiance로 생성한 irradiance env map (IEM) 과 어떻게든 얻은 radiance 맵을 쓰는 방법에 대해 테스트. 우선 radiance의 경우 UE4 방식이 아니라 radiance map을 그냥 사용하였다. bgfx에 있는 예제를 openGL로 컨버팅하면서 대충 감을 잡으려 함 제일 힘들었던건 DDS Image loader FreeImage 실패, NV DDS 실패, GIL 예제 뒤통수를 너머서 OpenGL의 수많은 뒤통수를 넘어야 했다. 그 다음은 작성은 쉬운데, ImGUI의 포팅과 Widget 버전 문제; widget 이 버전이 낮아서 코드레벨로 수정해야했다 GIL의 경우 header only를 표방하는데 따라온 GLM이 내장 GLM과 버전이 맞지 않아. 아 OSX에서 ..
Vulcan으로 가야하는데 머하는 건지; 머하여간, SEAMLESS 찾아보니까 함께 찾은 건데 저게 문제고 Direct State Access로 한다네 요즘건; modern openGL 이라는 걸 봤는데; 어째 형태가 좀 구식 같더라 https://github.com/Fennec-kun/Guide-to-Modern-OpenGL-Functions "glTextureParameteri" 등등을 객체 기준으로 사용해야한다는 듯 OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.5 OpenGL Superbible: Comprehensive Tutorial and Reference 이미 유명 책들에는 들어가있네; 할 https:/..
bgfx example converting 하면서 OpenGL을 테스트해보고 있는 중 이었는데 vec3 fixCubeLookup(vec3 _v, float _lod, float _topLevelCubeSize) 위의 함수는 DX 할 때 안보이던 거라 당황함; 또, OpenGL 에서는 아래와 같은 이상한 옵션이 등장함 glEnable( GL_TEXTURE_CUBE_MAP_SEAMLESS ); 뭐냐 싶었는데; 착하게도 주석에 있는 싸이트에서 설명이 잘되어있었다. http://the-witness.net/news/2012/02/seamless-cube-map-filtering/ This feature is enabled automatically when using Direct3D 10 and 11 and in..
- Total
- Today
- Yesterday