Effects 11 라이브러리를 사용하는 대신 쉐이더 관리 시스템을 생성합니다. 셰이더의 리소스 관리에 대해 몇 가지 질문이 있습니다.DirectX 11 쉐이더 리소스 관리
셰이더 코드의 특정 레지스터로 설정된 상수 버퍼를 장치에 설정할 때 해당 레지스터로 설정해야합니까? 그 레지스터를 사용하는 셰이더가 여러 개 있으면 어떻게 될까요?
상수 버퍼가 메모리 사이에서 메모리 사이에 유지 관리되는지, 아니면 지워지나요? 예를 들어 마지막 무승부에서 변경되지 않은 상수 버퍼가 있는데 다시 설정해야합니까?
상수 버퍼를 한 번에 하나씩 설정하거나 모든 것을 한꺼번에 설정하는 것이 더 느 립니 까?
미리 감사드립니다.
자세한 답변을 보내 주셔서 감사합니다. 한 번에, 나는 매개 변수로 버퍼 배열을 취하고 시작 입력 슬롯을 기반으로 순차적으로 설정하는 함수 VSSetConstantBuffers가 있음을 의미합니다. 한번에 모든 것을 설정하거나이 함수를 여러 번 호출하는 것이 좋습니다. – pghazanfari
확실히 한 번에. 그것은 드라이버와의 모든 의사 소통을 한 번에 일어날 것입니다 (1 함수 호출과 롯트는 말할 것도 없습니다). 기본적으로 함수의 존재 목적. – Icebone1000
몇 가지 추가 질문 : 동일한 레지스터를 사용하여 2 개의 쉐이더를 처리하려면 어떻게합니까? 상수 버퍼를 inbetween draw 호출로 설정해야합니까? 정점 버퍼와 인덱스 버퍼는 어떨까요? 드로잉 할 각 메쉬가 동일한 입력 슬롯을 사용해야합니까, 아니면 다른 메쉬를 사용해야합니까? 또는 다른 데이터를 GPU에 설정할 수있는 입력 슬롯입니까? – pghazanfari