Сообщений: 47
Тем: 11
Зарегистрирован: Mar 2022
Репутация:
0
Возникла проблема с порядком прорисовки моделей. Я так понял в Xtreme этот порядок определяется по времени создания, то есть, то, что было создано раньше прорисовывается в первую очередь. Такое очень нужно когда используешь прозрачную воду или что-то еще. Модель, погруженная частью в воду сверху прорисовывается, а под водой остальную часть не видно. Можно ли как-то повлиять на этот порядок? В gm это определялось глубиной объектов. Те кто поверх идут с меньшей глубиной depth.
Сообщений: 47
Тем: 11
Зарегистрирован: Mar 2022
Репутация:
0
03-19-2022, 02:13 PM
(Сообщение последний раз редактировалось: 03-19-2022, 02:20 PM Глеб.)
Ясно. Спасибо)
А как бороться с z-буфером? Когда полупрозрачные изображения на моделях пересекают друг-друга. Например куст состоит из двух полигонов, повернутых на разные углы, например на 0 и на 90. При вращении модели один полигон перекрывает другой.
В gm это решалось draw_set_alpha_test и reset_volume
Сообщений: 165
Тем: 14
Зарегистрирован: Feb 2025
Репутация:
0
Альфа-тест делается так: MaterialSetBlendingMode('myMaterial', bmAlphaTest50);
Или bmAlphaTest100, если надо вырезать альфу меньше 1 (bmAlphaTest50 - меньше 0.5)
Но, кстати, в стандартных шейдерах это не поддерживается - если нужен альфа-тест в шейдере, то надо его писать самостоятельно на GLSL. Т.е. код выше сработает только для материала без шейдера.
Сообщений: 47
Тем: 11
Зарегистрирован: Mar 2022
Репутация:
0
Да, но только оговорка - ниже alpha test будет не отображаться вообще, а выше будет считаться полностью непрозрачным, верно?