Dimich
> но изначальный вопрос в чём, надо в каждый буфер писать vkDraw или нет?
рисуешь 1 кадр, vkDraw в 1 буфер
рисуешь 2 кадр, vkDraw в 2 буфер
...
рисуешь N кадр, vkDraw в N буфер
SDC
> но отвечу: несколько команд буферов записывываются именно потому, что нужно
> рисовать в разные фреймбуферы.
э... просто ставить разные пайплайны нельзя?
Dimich
> У меня два варианта, делать несколько command буферов или резетить и заполнять
> один каждый кадр, что лучше?
Если перезаписывать один, то придется ждать пока отработает рендер предыдущего кадра, чтобы записать новый. А хотелось бы чтобы к тому моменту следующий кадр был уже готов. Поэтому проще каждому Image в свапчейне выделить свой CB.
innuendo
> э... просто ставить разные пайплайны нельзя?
Пайплайны одинаковые везде, команд буферы отличаются только фреймбуфером для vkCmdBeginRenderPass.
ок, другой вариант, в каждом кадре писать в один из двух command буферов.
Dimich
Ну типа вариант, но в свапчейне всего 2-3 images, и плюс у варианта с отдельным буфером для каждой то, что можно перезаписывать только когда сцена меняется.
Так, сделаю сначала с отдельным буферов под рендер, скорее всего ничего не заработает(вулкан же), отпишусь.
SDC
> Пайплайны одинаковые везде, команд буферы отличаются только фреймбуфером для
> vkCmdBeginRenderPass.
да, точно, через renderPassBeginInfo.framebuffer
Dimich
> Он весь обмазан местным фреймворком, я в нём сколько буду разбираться.
Что там разбираться ? В чём сложность?
Andrey
> Планируется Direct3D12 ? Если да, оборачиывай VkPipeline, VkDescriptorSet и все
> остальное в интерфейсы и выноси наружу для асбтракции
Как же так, абстракции зло, виртуальные методы и тд... Или наконец-то пришло понимание кроме крутизны-пупизны ?
innuendo
> Что там разбираться ? В чём сложность?
Да я с вулканом ещё не разобрался, заполнять тонну структур через прослойки не особо понятно.
SDC
> Поэтому проще каждому Image в свапчейне выделить свой CB.
у меня такой вариант без синхронизации не работает
Тема в архиве.