Как, по-вашему, формируется _CameraDepthTexture? Вы или отдельным пассом ее заполняете (а это два раза рисовать сцену), или копируете из буфера глубины, с МСАА это может быть дорого, так как нужен резолв.
Вы описываете подход декалей на основе текстуры глубины. Для текстуры глубины вам надо или сцену рисовать 2 раза, или делать резолв глубины. С включенным мсаа это может быть долго. Если честно, не замерял, но не думаю что это быстро для свитча.
В любом случае, это дольше чем построить меш и просто рисовать.
Можно, но сам террейн же не плоский, на нем есть подъемы и другие неровные дороги и поверхности. Будет видно что проходит насквозь, втыкаясь в террейн.
Пока что текстура одна для всех танков, поскольку мы не успели протестировать рендер в текстуру перед релизом, но в общем да, каждый кадр надо рисовать танк в текстуру.
Спасибо за комментарий. Да, SIMD это классно, но с ним тоже надо уметь работать, переключение с векторных регистров на скалярные и в обратную сторону не очень быстрое.
Полиморфизм достигается разными наборами компонентов с некоторыми общими, условно если хочешь чтобы можно было с сущностями с разными компонентами достичь полиморфизма, нужно вешать на них компонент ивент общий для всех и обрабатывать в разных системах
Вы не можете напрямую читать из буфера глубины, вы можете читать из текстуры глубины, а в нее скопировать буфер глубины.
Так чтобы ее сформировать, надо или рисовать в нее, или копировать из буфера глубины. Потом уже использовать.
Как, по-вашему, формируется _CameraDepthTexture? Вы или отдельным пассом ее заполняете (а это два раза рисовать сцену), или копируете из буфера глубины, с МСАА это может быть дорого, так как нужен резолв.
Вы описываете подход декалей на основе текстуры глубины. Для текстуры глубины вам надо или сцену рисовать 2 раза, или делать резолв глубины. С включенным мсаа это может быть долго. Если честно, не замерял, но не думаю что это быстро для свитча.
В любом случае, это дольше чем построить меш и просто рисовать.
Все равно будет так, если игнорит глубину, то проходит насквозь, если не игнорит, то втыкается.
Это будет выглядеть так
Можно, но сам террейн же не плоский, на нем есть подъемы и другие неровные дороги и поверхности. Будет видно что проходит насквозь, втыкаясь в террейн.
Плейн же плоский
А как это будет выглядеть на подъемах, рядом с вертикальными пропами, клиффах и т.д.?
Пока что текстура одна для всех танков, поскольку мы не успели протестировать рендер в текстуру перед релизом, но в общем да, каждый кадр надо рисовать танк в текстуру.
UV формируются в шейдере
Вертикальная компонента также используется для затухания по высоте, причем, затухание выше тени сильнее, чем ниже:
Да, это техника проекционных мешей, мы ее применяем и для декалей и линейного света.
Мы искренне очень рады это слышать!
Могу быть не прав, но, при совмещении симд и не симд инструкций в цикле происходит pipeline flush.
Пришлите, пожалуйста, адрес электронной почты на help@tankionline.com, разберёмся.
Спасибо за комментарий. Да, SIMD это классно, но с ним тоже надо уметь работать, переключение с векторных регистров на скалярные и в обратную сторону не очень быстрое.
Не проедет, потому что тогда в этой системе отсчета и остановки по маршруту будут двигаться со скоростью 40 км/ч.
https://leopotam.com/2/
https://habr.com/ru/post/665276/
https://habr.com/ru/post/197920/
https://habr.com/ru/post/573028/
http://gamearchitect.net/Articles/GameObjects1.html
https://cowboyprogramming.com/2007/01/05/evolve-your-heirachy/
https://habr.com/ru/post/343778/
Полиморфизм достигается разными наборами компонентов с некоторыми общими, условно если хочешь чтобы можно было с сущностями с разными компонентами достичь полиморфизма, нужно вешать на них компонент ивент общий для всех и обрабатывать в разных системах
Все потому что игра - это не только код, но и контент