bool
> , что discard на мобилах работает медленнее, чем просто alpha blend с 0 альфой.
Но это не одно и тоже
bool
> но я слышал, что discard на мобилах работает медленнее, чем просто alpha blend
> с 0 альфой.
меня не интересуют мобилы совершенно. и в подобных случаях если очевидно, что что-то должно быть быстрее, но оно сейчас почему-то медленее, скорее всего, обозначает, что через год-два это исправится.
innuendo
я понимаю, но по сути discard как и альфатест, и говорят, что альфабленд с нулевым значением быстрее, чем альфатест/дискард.
bool
> я понимаю, но по сути discard как и альфатест
При discard ни в какой буфер не пишется
innuendo
ну, при альфа-тесте, вроде, тоже, не?
bool
> ну, при альфа-тесте, вроде, тоже, не?
Да. На этом ряд оптимизаций основан. Но alpha-test задаётся для всех фрагментов сразу, а в discard может иметь разный порог
gammaker
> А с чего ты решил, что это устарело? Если это выкинули из DX10, это не значит, что это устарело.
Не спроста же его удалили.
innuendo
> Но alpha-test задаётся для всех фрагментов сразу, а в discard может иметь
> разный порог
И вот в этом-то и проблема. Железо не знает, какой фрагмент будет отброшен, а какой нет. Потому некоторые оптимизации мобильного железа не могут отработать. Например Hidden Surface Removal на Img PVR
Suslik
> меня не интересуют мобилы совершенно. и в подобных случаях если очевидно, что
> что-то должно быть быстрее, но оно сейчас почему-то медленее, скорее всего,
> обозначает, что через год-два это исправится.
Ничего это не значит. Подход к дизайну мобильных гпу сильно отличается от десктопных. Десктопные gpu - это immediate mode числодробилки, которые жрут дохренище энергии и гоняют кучу данных туда сюда. Очевидно же, что мобильники не могут себе позволить этого. Потому там пытаются по максимуму оптимизировать энергопотребление и deferred rendering (особенно в купе с Hidden Surface Removal) справляется с этой задачей намного лучше, чем immediate mode железо
Executor
> Не спроста же его удалили.
В DX10+ нету много, что есть в GL3.0 и ?
innuendo
> В DX10+ нету много, что есть в GL3.0 и ?
В ГЛ4 нет того, что есть в ГЛ3, и?
Executor
> Не спроста же его удалили.
Кто удалил то? Все на месте:
https://msdn.microsoft.com/en-us/library/windows/desktop/ff476189… vs.85%29.aspx
вон же D3D11_PRIMITIVE_TOPOLOGY_POINTLIST второй строчкой.
MrShoor
> Кто удалил то? Все на месте:
> https://msdn.microsoft.com/en-us/library/windows/desktop/ff476189…
> vs.85%29.aspx
> вон же D3D11_PRIMITIVE_TOPOLOGY_POINTLIST второй строчкой.
Ты путаешь point list и point sprites.
https://msdn.microsoft.com/en-us/library/windows/desktop/cc308047(v=vs.85).aspx
Here is a complete list of the features in Direct3D 9 that have been deprecated in Direct3D 10.
- Point sprites. Use a geometry shader instead. See Shader Stages (Direct3D 10) for additional information.
Когда я давно юзал поинт спрайты в ГЛ, помнится там были какие-то нюансы с тем, что на разных ГПУ они рисовались по разному, но уже не помню деталей. Толи размеры разные были, хз.
Интересно было бы знать, как они там в железе реализованы. Есть такое ощущение, что ДХ10+ железо хардварно их не поддерживает и драйвер их эмулирует.
Executor
> Ты путаешь point list и point sprites.
Suslik изначально говорил про GL_POINTS, что аналогично D3D11_PRIMITIVE_TOPOLOGY_POINTLIST. Далее Sergio чуть спутал понятия, и то под вопросом. Я например тоже считаю point sprite-ами квады, которые рендерятся через D3D11_PRIMITIVE_TOPOLOGY_POINTLIST, а там не важно, GS или нет его процессит.
> Когда я давно юзал поинт спрайты в ГЛ, помнится там были какие-то нюансы с тем, что на разных ГПУ они рисовались по разному, но уже не помню деталей.
Давно, помню, читал в какой-то доке, что GL_POINTS растеризовались по честному как квады. Прямо на железе заточ был. Но с введением шейдеров стали эмулироваться двумя треугольниками.
The size of each point is determined by an application-specified size combined with a distance-based function computed by Direct3D.
Какая-то FFP-шная наркомания, в топку её.
можно нарисовать одним треугольником, шарик будет вписан в правильный треугольник
Тема в архиве.