티스토리 뷰
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 OpenGL when using the ARB_seamless_cube_map extension.
Direct9 과 구형 콘솔에서는 저 기능이 동작하지 않아서 문제가 된다고 한다.
https://stackoverflow.com/questions/32113528/pbr-reflection-stange-behaviour
https://www.slideshare.net/Mark_Kilgard/opengl-32-and-more/54-Seamfree_Cube_Map_Edges_ulliCube (54 페이지)
// Note: Environment textures are filtered with cmft: https://github.com/dariomanesku/cmft
// Params used:
// --excludeBase true //!< First level mip is not filtered.
// --mipCount 7 //!< 7 mip levels are used in total, [256x256 .. 4x4]. Lower res mip maps should be avoided.
// --glossScale 10 //!< Spec power scale. See: specPwr().
// --glossBias 2 //!< Spec power bias. See: specPwr().
// --edgeFixup warp //!< This must be used on DirectX9. When fileted with 'warp', fixCubeLookup() should be used.
Irradiance는 우의 옵션으로 cmft에서 가져왔다는데 --edgeFixup 을 어떻게 한건지,
(CLAMP_TO_EDGE 로 그림)
OpenGL 옵션을 키든,
끄든,
fixup을 사용할 때만 괜찮게 나온다
원래 그런건지는 문제 발생했을 때 알아보자
'Game > Graphics' 카테고리의 다른 글
IBL (1) (1) | 2017.12.29 |
---|---|
Bindless Graphics Model (0) | 2017.12.29 |
bgfx and cmake (0) | 2017.12.21 |
OpenGL (0) | 2017.12.20 |
Normalization term (0) | 2017.12.20 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크