본문 바로가기
Game Programming

유니티 쉐이더 Clip 성능 문제 피하기

by 게임혼 2014. 5. 12.
Y

아무래도 알파를 사용하면 클립을 빼기가 어렵다.


클립을 제외하고 사용하려고 하면 쉐이더를 나누어야 하는 경우도 생기는데


이 경우 성능 차이는 어느정도 날지 감이 잡히지 않는다. 아무래도 필레이트 처리 부가 많은 화면에서 문제가 되지 않을지 그냥 예상만 해본다.


자 그럼 클립을 잡지않고 투명을 하려면 어떻게 해야 할까? 생각해보자.


일단 유니티에서 알파 탈락을 위한 처리는 2가지 정도로 압축된다.


1. Clip 함수 사용 (가장 깔끔하지만 속도 문제 경고 뜬다.)

2. Blend SrcAlpha OneMinusSrcAlpha 사용 (특이한 경우 쉐이더 분할이 필요하다. ㅜㅜ)


자 그럼 문제와 해결된 부분을 보자.





물론 완벽한 해결은 clip이 최선이지만,,,,


어쩔 수 없이 모델이 나누어져 있기 때문에 쉐이더 분할이 필요하면 소스 데이터로 표기 되야할 부분의 Queue 를 목적지 보다 -1 정도 주어서 먼저 그려질 수 있도록 해주자.


오늘도 생고생..