그래픽스 강의를 듣는데 unroll에 대해서 좀 더 알고싶어서 문서를 읽고 파악해보았습니다.
이 attribute를 왜 사용해야하는지를 적어보겠습니다.
문서를 읽어보면 셰이더내에서 if문은 조건이 실패해도 실행된다고 합니다
(mask 연산을 한다고 합니다)
for문에 unroll을 적어놓은것은 반복문을 펼친 것처럼 사용하겟다는 의미가 됩니다.
즉 이렇게 입니다. 중요한 포인트는 매 루프마다 조건문 검사를 하지 않게된다는 점입니다. 확인되지 않은 내용이지만 아까 if문에서처럼 for문에서도 조건문이 동일하게 실행된다고 판단이 되었습니다.
이런 이유로 unroll을 사용한다고 이해가 되었습니다.
참고