Войти
ПрограммированиеФорумГрафика

Vulkan API (вышел!) (385 стр)

Страницы: 1384 385 386 387393 Следующая »
#5760
10:17, 6 ноя. 2019
vindast
> Там даже деньги за это предлагали.

Спасибо - я получаю деньги за реальную работу, а не за демки - чего и тебе желаю


#5761
10:20, 6 ноя. 2019

innuendo
> реальную работу,
грузчик или на стройке работаешь? или не мужик??? ммм не слышу

#5762
10:25, 6 ноя. 2019

Danilw
коров посу на тракторе

#5763
10:33, 6 ноя. 2019

Он грабит программистов!
Отберает у них кофе и печеньки и продаёт в лорьке :)

#5764
(Правка: 12:58) 12:58, 6 ноя. 2019

Что-то я немного не понимаю.
Хочу при рисовании использовать смещение в буферах. С вертексным все хорошо, видно что вершины имеют нужные координаты. А вот с индексным не получается.

Допустим, я хочу начать рисовать начиная с 100-ого индекса.
Почему просто нельзя сделать так?

vkCmdBindIndexBuffer(commandBuffer, indexBuffer, 100*4, VK_INDEX_TYPE_UINT32);
vkCmdDrawIndexed(commandBuffer, indexSize, 1, 0, 0, 0);

Как правильно прописать смещение для индексного буфера? Можно ли ограничится vkCmdBindIndexBuffer, или дополнительно одновременно надо прописывать в vkCmdDrawIndexed? Читал спецификацию, пытался по ней делать по разному - все равно индексы неправильные.

#5765
(Правка: 13:33) 13:19, 6 ноя. 2019

MikeNew
> vkCmdDrawIndexed(commandBuffer, indexSize, 1, 0, 0, 0);
indexSize не выходит за пределы ?

MikeNew
> Допустим, я хочу начать рисовать начиная с 100-ого индекса.

а просто через firstIndex ?

#5766
13:47, 6 ноя. 2019

MikeNew
> Как правильно прописать смещение для индексного буфера
vkCmdBindIndexBuffer - задает не только буфер, но и рабочую область. Идея в том, что у тебя может быть вообще один буфер, где первые 128 кб - вершины, затем 64 кб - идут индексы, и потом еще две области по 16 кб идут юниформы. С точки зрения вулкана это все может быть один VkBuffer. Поэтому какой бы функцией какой бы буфер ты не задавал, всегда указывается offset - это смещение памяти внутри VkBuffer.

vkCmdDrawIndexed задает смещение по индексам, внутри памяти буфера, которую ты конкретизировал через vkCmdBindIndexBuffer.

vkCmdBindIndexBuffer(commandBuffer, indexBuffer, 100*4, VK_INDEX_TYPE_UINT32);
должно работать, но это некорректно

И не забывай про картинку
Изображение

#5767
13:56, 6 ноя. 2019

BingoBongo
> Идея в том, что у тебя может быть вообще один буфер, где первые 128 кб -
> вершины, затем 64 кб - идут индексы, и потом еще две области по 16 кб идут
> юниформы. С точки зрения вулкана это все может быть один VkBuffer.

зачем тогда VK_BUFFER_USAGE_INDEX_BUFFER_BIT ?

#5768
14:12, 6 ноя. 2019

innuendo
> зачем тогда VK_BUFFER_USAGE_INDEX_BUFFER_BIT ?
Еще скажи, что ты не делаешь так

VK_BUFFER_USAGE_VERTEX_BUFFER_BIT | VK_BUFFER_USAGE_INDEX_BUFFER_BIT
#5769
14:17, 6 ноя. 2019

BingoBongo
> Еще скажи, что ты не делаешь так

нет, я по старинке - раздельно

#5770
14:20, 6 ноя. 2019

innuendo
Вероятно, сегодня не тот день, когда мы можем понять друг друга

#5771
16:37, 6 ноя. 2019

BingoBongo
Nvidia предлагает хранить всё в одном буфере ... тоже вариант

#5772
16:56, 6 ноя. 2019

BingoBongo
> И не забывай про картинку
Уже не помню где, но я видел кучу мелких буферов на вершины и на юниформы. Возможно это был UE.

#5773
17:16, 6 ноя. 2019

/A\
UE - это пример того, как делать не надо.

#5774
17:19, 6 ноя. 2019
prowkan
> UE - это пример того, как делать не надо.

там много спорных моментов, но тебе до UE как до Луны пешком
ещё один крутой перец килогерец

Страницы: 1384 385 386 387393 Следующая »
ПрограммированиеФорумГрафика