Мне хочется досконально разбираться с каждым GAPI по отдельности (Знаю только OpenGL), хочется взять готовый кусок кода содержащий в себе RHI + обертку для всякого добра по типу создания отдельных RenderPass с указанием шейдеров и текстур и че куда рендерить с каким блендингом и тп и тд. Т.е. некий готовый функционал, где не наворочено тонна всего для всех других платформ, чисто под PC. Для чего? Да просто хочется свой движок написать. Я как-то начал переписывать рендер на Unity, добрался до того что хочу кастомную сетку для скайбокса юзать и приехали ко всяким костылям в итоге, не нравится такое. В общем, захотелось чисто свое что-то забабахать, пусть и простое но "своё, родное" + набраться опыта + полный контроль есть над всем чтобы никто в лицензию не тыкал носом. Вполне ожидаю, что скажете: "Ну так бери и пиши, в чем проблема". Ну да. Я и могу чисто на OpenGL, но хочется что-то заюзать от мастодонта, где я увижу как надо такое делать и где не овер 1500000 строк, где понятно будет, что и как с архитектурой в таких вещах происходит. В общем, подскажите, пожалуйста, что можно заюзать в моем случае как основу для своего движка. Чтобы мне не чисто прям всё с нуля городить, ибо пытался уже, но погряз в своих же костылях и в итоге перегорел. Но сейчас опять ломка началась и хочется свое сделать (итеративное явление какое-то). BGFX не предлагать, слишком он уж многофункционален, отпиливать от него функционал мне не охота, мне нужен просто чисто правильный каркас под разработку своего RenderPipeline, а не полностью готовый рендер где даже постэффекты за тебя напихали уже. С радостью бы принял некое наставление, направление, подсказки, что и куда. Сам я делаю игры на мобильные, но что-то тухло это и скучно, всегда хотелось с технологиями работать, потому припёрло. Спасибо за понимание)
Проектируют обычно сверху вниз, рендер должен учитывать пожелания сверху.
Одно дело рендерить миллионы партиклов, другое дело рендерить тысячи страниц текста и совсем третье рендерить интерактивное гуи.
Это пустая трата времени, выбери дх12 или вулкан и учи только его.
Для дх11/дх12 есть трансляция в вулкан, чтоб под линуксом работало.
Я бы советовал вулкан, так как у него документация наиболее подробная.
Лучше учи архитектуру гпу и как под них оптимизировать.
/A\
он хочет pip install ahuenno
написано же - "хочется что-то заюзать от мастодонта" и "не хочу кувырять *движок нейм*"
lookid
ну не настолько критично же)
Про OpenGL говорят, что он весьма стар уже и надо новое осваивать. Я на гитхабе просмотрел всякие фреймворки по типу того что мне понадобилось, понял что можно подсмотреть что и как устроено. Так что писать, видимо, опять буду сам, с нуля
Target
> Ну да. Я и могу чисто на OpenGL, но хочется что-то заюзать от мастодонта, где я
> увижу как надо такое делать и где не овер 1500000 строк
Бро, вот сейчас ты пытаешься свернуть куда-то не туда. Вот если бы ты наоборот хотел писать 100500 строк на каждый чих - тогда д12 / вулкан - самое то.
Подумай хорошо зачем тебе свой двиг.
Делать уникальные техники, которые сложно запилить в готовых движках - ок.
Подучить современные ГАПИ, и архитектуру ГПУ - тоже ок.
Но экономить строчки... Это совсем в другую сторону.
HolyDel Ну, тут либо полностью погружаться с головой в то, с чем будешь иметь дело, либо юзать что-то готовое, однако вот хотелки с реальностью редко дружат, ага( Так что без дофигалион строк не обойтись. Свой движок - ну это у меня мечта такая ещё с ранних пор, несколько раз приступал и бросал. Проходит время и снова меня колбасит начать писать своё, пусть корявое даже получится, но своё. А так меня, конечно же, и это естественно, отпугивает вулкан низкоуровневостью после OpenGL, скорее сейчас прям опять начну на нём писать. Я чего так сподхватился то, посмотрел сорцы CryEngine и захотелось так же) Там на каждую фичу свои RenderPass со всякими удобностями. Захотелось такую же или похожую обертку но для своего движка сделать, хоть бери и слизывай у них
Короче, ребят, не буду ни ваше ни свое время тратить, пойду вникать в Vulkan, а пост считайте криком моей ленивой натуры :D, кто хочет, тот делает. Всем спасибо)
Target
учи DX12, он проще
innuendo
> учи DX12, он проще
потому что на него документации нормальной нет и слои валидации почти ничего не ловят, поэтому пишешь в стиле "работает и ладно"
/A\
> и слои валидации почти ничего не ловят
dxdebug
innuendo Да я уже за ночь вник в несколько вулкановских вещей, буду дальше ковырять, прифигел, конечно, но ничего, сойдёт) Споткнулся уже и тупил, почему инстанс не создаётся, а оказалось VK_LAYER_LUNARG_standart_validation уже не нада юзать)
Target
> Да я уже за ночь вник в несколько вулкановских вещей
ну-ну
Target
Рано радуешься, большинство опенсорс проектов на вулкан сделаны очень неоптимально, так что когда ты будешь думать, что знаешь вулкан, то на самом деле будешь на уровне создателей этих проектов.
В не до ААА движках ситуация не сильно лучше.
/A\
> В не до ААА движках ситуация не сильно лучше.
А можешь привести пример, где оптимально? Я смотрел твои капчи УЕ-шки и Дума, и к их реализации тоже были вопросы. Если Эпики и АйДи не сделал идеально, то кто сделал?
Тема в архиве.