Loading...
2020. 1. 29. 13:00

ddx와 ddy

ddx와 ddy가 하는일은 무었인가? DDX : 윈도우 공간 X에 대한 근사 편도 함수를 반환한다. DDY : 윈도우 공간 Y에 대한 근사 편도 함수를 반환한다. 말이 어렵다. 그냥 ddx와 ddy는 그냥 화면 공간 좌표에 대해 값의 변화를 계산하는데 사용된다. 좀 더 풀어 써보면.. 현재 픽셀셰이더 에서 처리하려고 하려고 하는 픽셀이 있다. 이 픽셀 위치가 1920x1024 에서 0,0 번째 위치라고 한다면 ddx(current pixel's depth)의 의미는 0,0번 픽셀의 depth값과 0,1번 픽셀의 깊이값의 차이값을 나타낸다. 이 기능이 의미가 있는 이유는 기본적으로 픽셀 셰이더에서는 현재 픽셀에 대한 정보 외에 다른 픽셀에 대한 정보를 알 수가 없는데, gpu 특성상 처리 자체를 2x2로 ..

Texture LOD calculation (useful for atlasing)

최근에 본 코드중에 재미있는게 있어서 정리함. 원문 : Texture LOD calculation (useful for atlasing) 텍스쳐 아틀라스에서 가장자리 필터 문제가 없는 셰이더를 작성중이며 이를 공유한다.(텍스쳐 배열을 지원하지 않는 하드웨어에서 텍스쳐 배열 에뮬레이팅) #define SUB_TEXTURE_SIZE 512.0 #define SUB_TEXTURE_MIPCOUNT 10 float MipLevel( float2 uv ) { float2 dx = ddx( uv * SUB_TEXTURE_SIZE ); float2 dy = ddy( uv * SUB_TEXTURE_SIZE ); float d = max( dot( dx, dx ), dot( dy, dy ) ); // Clamp the v..

2013. 12. 24. 17:33

wrapped diffuse

Wrap이란 무었인가? 무었인가를 감싼다는 말인데 부드러운 반사를 표현하기 위해 빛이 비치는 반대 영역을 감싸주는 것을 말한다. (...ㅡㅡ;....맞나?) 자세한 설명은 아래들 있다. wrapped Diffuse - http://www.gamedevforever.com/150 http://cagetu.egloos.com/5621806 사실 욘석은 피부를 표현하고자 할 때 자주 사용하는데 http://blog.naver.com/PostView.nhn?blogId=edgerider&logNo=110148724540 이곳에 보면 피부(SSS)를 위해 wrapped lighting을 사용하는 예가 있다. sss 만들기 http://chulin28ho.egloos.com/5591833 lighting만 테스트 ..