Но вот рисовать что-то более одного раза без особой на то причины - странно.
|
if( !LightIntersectsMesh( mesh, light ))
continue;
Определяет пересечение ограничивающей сферы у света и AABB у меша.
Нельзя заранее определить какие источники света действуют на примитив и список с ними передать в пиксельный шейдер, который сразу сложит результат яркости для каждого пикселя?
|
Тоесть ты предлагаешь написать шейдер который будет принимать N количество источников света, а а в данный момент времени будут использоваться M? У меня раньше такой шейдер был, но там в любом случае на объект действовало 6 источников даже если их не существовало.