Я рисую большое количество кубиков (100 000+) с помощью glDrawElementsInstanced (). Из-за соображений производительности я хотел бы реализовать отсечение усеченного конуса, но я не совсем уверен, как это сделать, когда я использую создание экземпляров. Насколько я знаю, единственный способ получить доступ к отдельному экземпляру объекта - это шейдеры, поэтому я предполагаю, что мне нужно выполнить отсечение там. Я не совсем понимаю, как это сделать. Может ли кто-нибудь указать мне на какие-нибудь учебники?
Отрисовка экземпляров OpenGL - отсечение усеченной пирамиды
Ответы (1)
Попытка выполнить отбраковку в вершинном шейдере слишком поздно. Вы должны каким-то образом передать преобразования куба шейдерам, просто возьмите эти данные и настройте Иерархию ограничивающих объемов а>. Затем нарисуйте только экземпляры, прошедшие отбраковку усеченного конуса.
person
Robert Rouhani
schedule
04.10.2013