티스토리 뷰

Game/Graphics

Re:SSAO

newpolaris 2017. 12. 2. 17:01

간단하게 Crytek 방법 유사한 걸 테스트

http://john-chapman-graphics.blogspot.kr/2013/01/ssao-tutorial.html

4x4 random noise를 사용해서 noise pattern 이 보인다.

일부로 작은 random으로 큰 주파수 노이즈를 만들고, blur로 저주파수 대역만 남긴다고 하네

괜찬던게 뿌옇게 변한다

noise scale을 w,h / 1

Bilateral Filter

0.5, 0.5 box filtering

half size 3x3 으로는 bluring이 안되서 5x5로 늘렸음

bilateral filter를 다른 걸로 바꿔보기로 했다.

우선,

https://people.csail.mit.edu/sparis/bf_course/slides/08_applications_advanced.ppt

‘Joint Bilateral’ or ‘Cross Bilateral’ (2004) (Digital photography with flash and no-flash image pairs 04)

Spatial smoothing of pixels in image A, with
WEIGHTED by intensity similarities in image B

어케했나 했는데, 우선 EA 마지막 슬라이드에 수식 weight는 나와있다.

대충 구현하니 5x5 에 (3x3 은 블록이 보인다)

Depth 쪽 scale 변화도 안먹는 걸 디버깅해봤는데;

분포가 이래서 1칸 옆에 있는 pixel도 d 가 같은 걸로 나온다

    d0    0.027038990    float
    d1    0.027046620    float

d scale을 높여도 별 변화가 없다; 씹히는듯

유사한게 Nvidia의 옛날 HBAO 에 CS로 구현되어있다.

Nvidia Blur_COmmon.hlsl 부분이다

    float CrossBilateralWeight(float r, float d, float d0)
    {
        // The exp2(-r*r*g_BlurFalloff) expression below is pre-computed by fxc.
        // On GF100, this ||d-d0||<threshold test is significantly faster than an exp weight.
        return exp2(-r*r*g_BlurFalloff) * (abs(d - d0) < g_BlurDepthThreshold);
    }

여기서

 m_SceneScale = (SceneScale != 0.0f) ? SceneScale : min(ZNear, ZFar);
 BlurDepthThreshold = 2.0f * SQRT_LN2 * (m_SceneScale / m_BlurSharpness);
 m_BlurSharpness (8.0 default)

7x7 커널에서 0.1 ms 빨라졌나;

d는 0.0001 / 100 을 사용하니 머리카락과 같은 부분에서 좀더 또렸해진다

bilateral upsampling

http://developer.amd.com/wordpress/media/2012/10/ShopfMixedResolutionRendering.pdf

대충 이때 resolution mix 가 나왔고 방법은 bilateral upsamping

...쓰...블

http://c0de517e.blogspot.kr/2016/02/downsampled-effects-with-depth-aware.html

'Game > Graphics' 카테고리의 다른 글

Cloth move  (0) 2017.12.09
디버거에서 같은 값이 보일때,  (0) 2017.12.06
Upsampler and downsampler  (0) 2017.12.02
MSAAO (2)  (0) 2017.12.02
LSAO  (0) 2017.12.02
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크