장면 그래프를 구현하려고하는데 내가 본 모든 기사에서 객체 정렬에 대해 이야기합니다. 예를 들어 "재료"를 기준으로 개체를 정렬합니다. 이제 내가 앉아서 그것을 구현하기 시작할 때까지, 나는 이해하기 때문에 이것을 당연한 것으로 생각했습니다. 그러나 이제 정렬이 실제로 어떻게 바뀌는 지 궁금합니다.
내 엔진에는 UBO 관리자가 있으며, 시간, 카메라 및 프로젝션 매트릭스 및 라이트 만 포함하는 현재 프로그램간에 공유 할 데이터를 저장하는 데 사용합니다 (어떤 조명이 영향을 미치는지 걱정하지 않습니다) ATM에 반대 함).
이제 각 모델마다 모델을 월드 매트릭스 유니폼으로 변경해야하지만 정렬이 변경되지 않습니다. 이 매트릭스를 바꾸는 것에서 각 객체에 대한 재료를 설정하는 것으로의 도약은 나쁜가?
파이프 라인에서 무언가를 변경할 때마다 플러시되고 성능 문제가 발생할 수 있다는 것을 어딘가에서 읽은 것을 모호하게 기억합니다. 그러나 각 드로잉 호출마다 어쨌든 월드 매트릭스에 모델을 설정하고 있습니다. 그래서 이것에 대해 어떤 의미가 있습니까?
BTW는 유니폼을 변경하고 glBufferSubData를 호출하는 것이 더 비싸거나 적은지에 대한 정보가 있습니다.