crypt of decay - флажки-флажочечки [entries|archive|friends|userinfo]
ketmar

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

флажки-флажочечки [Mar. 9th, 2019|02:01 am]
Previous Entry Add to Memories Tell A Friend Next Entry
[Tags|, ]

идея считать scissor rectangle для источников света была умная. а идея забыть включить обсечение scissor-ом — глупая. после включения оного фпс на старте E1M1 бампнулся до 80, и перестал проседать в месте, где раньше проседал на десяточку почти.

а на выходе из E1M1 с проседания до 36 падает всего лишь до 62 (фактически, всё ещё укладываясь в vsync).

правда, расплата за это — появляющиеся иногда баги засветки по углам экрана. я не очень понял, почему: scissor box ли это криво считается, или же я чего-то недоучёл.

но в общем, баги появляются не так часто и сильно (пока, надо ещё поиграть в этом режиме), чтобы разменивать их на пару десятков дополнительных фпс. может, потом пойму, почему бажит (в теории — не должно).

а выигрыш такой дало за счёт ОХУИТЕЛЬНО уменьшившегося overdraw на shadow volumes. за счёт того, что объёмы вытянуты в бесконечность, они адово овердравят даже для далеких и маленьких источников света. а ножнички это всё обрезают — потому что нам нафиг неинтересно, что происходит за границами освещённого прямоугольника.

надо будет потом попробовать сделать шэйдеры, которые просто дискардят всё, что не попадает в освещённую сферу — так должно даже меньше пикселей задеваться. только я не помню, пишется/проверяется ли scissor до fragment shader, или после. то есть, проверяется, очевидно, до, а изменяется — фиг знает. надо почитать.
Linkmeow!