내 프로젝트와 포럼에서 XNA를 사용합니다. 때때로 메시에 대한 효과를 교체하는 데 비용이 상대적으로 높다는 사실에 대한 언급이 종종 있습니다. 효과를 바꾸는 것이 단순히 교체 쉐이더 프로그램을 복사 한 경우라고 생각하면 놀랍습니다 적절한 매개 변수와 함께 GPU에.
누군가이 프로세스에 대해 비용이 많이 드는 것을 정확하게 설명 할 수 있는지 궁금합니다. 가능하다면 문맥에 '상대적으로'넣는가?
예를 들어, 짧은 셰이더를 사용하여 피킹을 돕고 싶다고 말하면 다음과 같습니다.
- 고유 한 색상을 계산하여 식별하고 쉐이더에 제공하여 모든 객체에 대한 효과를 변경하십시오.
- 모든 객체를 메모리의 렌더 타겟에 그립니다.
- 대상에서 색상을 가져 와서 선택한 객체를 찾는 데 사용하십시오.
해당 프로세스를 완료하는 데 걸린 총 시간 중 셰이더를 교체하는 데 소요되는 시간은 얼마입니까? 내 본능은 셰이더가 아무리 단순하더라도 장면을 다시 렌더링하는 것이 프로세스의 다른 부분보다 훨씬 느리게 진행될 것이라고 생각합니다.