Loading...

shader에서 if 와 lerp의 성능은?

나의 궁금증은 아래와 같다. 1. shader 코드에서 동적분기로 return 시키는 것은 최적화에 도움이 되는가?- 정적분기라면 굳. 확실히 최적화에 도움이 될듯. 컴파일에서 부터 정해지니까.- 동적분기라면 비교값이 상수가 아닌 변수이므로 런타임에 정해진다.- 마소 문서를 보면 if문에도 [branch]와 [flatten] 가 있으며 branch의 경우 if문의 부울이 먼저 평가 되므로 맞는 부분만 실행되고, flatten은 if의 양쪽 다 계산하고 맞는 부분을 결과값으로 선택하는 방식이다. 다만 branch는 tex2d 와 같은 그라디언트 함수를 쓰면 작동하지 않는다. 이는 주변 프래그먼트에 종속적이므로 실행되어야 하며, 각 프래그먼트를 건너뛰지 않아야 하기 때문이다. 2. if문 자체가 주는 부하를..

2018. 7. 21. 13:06

shadertoy 시작하기.

shader 테스트를 위해 rendermonkey를 주로 쓰다가 shadertoy라는걸 알게되서 편한듯해서 살짝 테스트해볼겸.. 처음 시작하면 아래와 같은 화면이다. 오른쪽에 코딩하고 "alt + enter" 하면 갱신된다. 간단하고 참 좋네. uv좌표를 테스트 해 보자면 왼쪽 아래가 (0,0)이고 오른쪽 위가 (1,1)이다. dx는 반대로 왼쪽위가 0,0이고 오른쪽 아래가 1,1이다. 작업할때 꼭 확인해줘야 한다. 참고 : UV Texture Coordinates and Texture Mapping - OpenGL / DirectX 1 : 코드에서 사용하는 iResolution값 2 : 스크립트 추가 3 : 제공하는 전역변수 4 : 채널값 위와같이 length함수로도 간단히 테스트 해 볼수 있다. le..