Хотя очевидно, что когда машины за нас еще и думать начнут, то жалкие кожаные мешки больше не нужны будут)
Где почитать про материалы Урхи а то в документации всё уныло, ну там сколько текстур максимум в материале может быть, шейдеры и всё остальное? В иррлехте помню по умолчанию было 4ре, но почти все собирали движок, чтобы по максимуму 8 текстур поддерживал. Хотя вроде опенгл тянет аж 32 штуки...
Пока нашёл это, по текстурам, очень похоже на то что было на Иррлихт.ру (вроде Дисайп делал, эх были времена)...
Вообще думаю 1-2 текстуры + текстурный массив смогут реализовать любую задумку. (это я про 2д, если что).
1vanK
Кароч. Я собрал с -G "Visual Studio 17 2022" -T"ClangCL", точнее попробовал собрать. SSE не завёлся. Я для теста решил его вырубить через -DURHO3D_SSE=OFF но WebP либа всё равно думает что SSE4.1 поддерживается и при компиляции падает. Разбираться как это поправить у меня сейчас нет ни настроения ни времени. В целом проблемы sse выглядят как единственные ошибки при компиляции.
stratego
> Где почитать про материалы Урхи а то в документации всё уныло, ну там сколько
> текстур максимум в материале может быть, шейдеры и всё остальное?
Ну основы тут: https://github.com/urho3d-learn А после этого в исходниках смотришь все, что интересно)
GLoom
Либа WebP тоже опциональна (в Урхо по крайней мере)
stratego
> ну там сколько текстур максимум в материале может быть
https://github.com/urho3d/urho3d/blob/master/Source/Urho3D/Graphi… csDefs.h#L339
https://github.com/dviglo/dviglo/blob/main/bin/CoreData/Shaders/G… plers.glsl#L2
Ну через текстурные юниты что угодно можешь передавать, не обращая внимания на названия, главное в своём шейдере знай, что ты передаешь там
Я глянул, что выдаст у меня линукс про процессор (lscpu), оказывается у меня даже SSE3 нет )) Хотя если верить Википедии, то должно быть...
MAX_MATERIAL_TEXTURE_UNITS = 8,
MAX_TEXTURE_UNITS = 16
Так 8 или 16, вроде как 8, но что тогда цифра 16 значит?
Кстати, как мне в консоль вывести что-то, а то вечно подключаю iostream? а там же есть, вывод информации в консоль.
stratego
> Так 8 или 16, вроде как 8, но что тогда цифра 16 значит?
Всего 16, но некоторые текстуры используются для специфичных целей (например для теней или буфера глубины), поэтому материалу доступны 8
stratego
> Кстати, как мне в консоль вывести что-то, а то вечно подключаю iostream? а там
> же есть, вывод информации в консоль.
URHO3D_LOGINFO("Hello"); и в консоль выведет и в лог-файл
1vanK
> Всего 16, но некоторые текстуры используются для специфичных целей (например
> для теней или буфера глубины), поэтому материалу доступны 8
Понятно, моя имеет право пользоваться только 8ью )) Хотя если делать чистый 2д, то по идее они не будут использоваться вовсе. стати, буфер глубины при спрайт батчинге у тебя отключен?
1vanK
> URHO3D_LOGINFO("Hello"); и в консоль выведет и в лог-файл
Спасибо, то что надо. Там только строку можно передавать же, числа надо преобразовывать?
stratego
> Понятно, моя имеет право пользоваться только 8ью )) Хотя если делать чистый 2д,
> то по идее они не будут использоваться вовсе. стати, буфер глубины при спрайт
> батчинге у тебя отключен?
По дефолту отключен, каждый новый спрайт перезатирает ранее нарисованный.
Однако можно включить буфер глубины, чтобы внедрить спрайт батч в сцену. При этом спрайт батч сам не модифицирует буфер глубины (т.е. спрайты будут друг друга все так же перезатирать), однако использует уже готовый буфер глубины от ранее отрендеренной сцены. Это есть в примере.
> Там только строку можно передавать же, числа надо преобразовывать?
URHO3D_LOGINFO("Hello " + String(16));
1vanK
> По дефолту отключен, каждый новый спрайт перезатирает ранее нарисованный.
Да. я уже проверил. разные варианты, были сомнения, что не в той очерёдности могут друг на друга накладывается. Но нет - всё нормально.