티스토리 뷰
참고자료:
이해가 안되는 데브리 부분하고 artifact 감추는 몇몇 공식 소개
http://ttmayrin.tistory.com/40
구현 제공
http://graphicsrunner.blogspot.com/2010/08/water-using-flow-maps.html
기대한 것
멀 반복해서 물결을 만든다는 것 같은데 와닫지 않았다.
역시 직접 쪼개서 테스트해봐야 한다;
https://alex.vlachos.com/graphics/Vlachos-SIGGRAPH10-WaterFlow.pdf
// xy 방향을 기록한 flow 맵을 로드한다
vec2 flowmap = texture( uFlowMapSamp, vTexcoord ).rg * 2.0f - 1.0f;
// Sample normal map.
return texture(uNoiseMapSamp, ( vTexcoord*uTexScale ) + flowmap )
xy 방향 -1 to 1 범위를 단순히 더하면 방향에 따란 texture coordinate 가 늘어져서
아래와 같이 흐림이 표시된다
실제로 움직이는 효과를 먹일려면, perlin noise를 사용해서 변화를 줄여야 한다
vec2 flowmap = texture( uFlowMapSamp, vTexcoord ).rg * 2.0f - 1.0f;
// blur 많이 먹힌 noise
float cycleOffset = texture( uNoiseSmoothMapSamp, vTexcoord ).r;
float phase0 = cycleOffset * .5f + uFlowMapOffset0;
float phase1 = cycleOffset * .5f + uFlowMapOffset1;
// Sample normal map.
vec3 normalT0 = texture(uWaveMap0Samp, ( vTexcoord*uTexScale ) + flowmap * phase0 ).xyz;
vec3 normalT1 = texture(uWaveMap1Samp, ( vTexcoord*uTexScale ) + flowmap * phase1 ).xyz;
float flowLerp = ( abs( uHalfCycle - uFlowMapOffset0 ) / uHalfCycle );
return lerp( normalT0, normalT1, flowLerp );
frame에 정해진 사이클의 timestamp 넣어서 돌리면, 어느정도 움직이는 것 처럼 보인다.
단순 물 색만 표시하면,
refract 추가하면,
'Game > 작업일지' 카테고리의 다른 글
RTX 구현 및 응용 (0) | 2018.11.08 |
---|---|
Parallax mapping (0) | 2018.11.08 |
uniform update 수작업으로 진행 할 때의 고통 (0) | 2018.10.24 |
2018.10.24 - OpenGL 작업 20일 째 (0) | 2018.10.23 |
Normal Encode (0) | 2018.10.17 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크