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

есть ли где то пример (Vulkan) с orbit камерой ?

#0
2:29, 27 дек 2020

есть ли где то пример (Vulkan) с orbit камерой ? (source code)

и вообще какие книжки по вулкану порекомендуете ?

#1
6:18, 27 дек 2020

В гугле набери "github vulkan" и вперед по первой ссылке.
Там и орбит-камера тоже есть.

По себе знаю - надо понять как работают матрицы, как выполнять поворот векторов, как строить матрицу поворота из нормализованного вектора и тому подобные вещи. Одним словом, надо уметь в линейную алгебру в необходимых пределах, без нее дальше никуда. Как раз вчера себе орбит-камеру делал и хрен бы у меня что получилось без вышеописаного. Конечно, для начала можно тупо скопипастить чужой код, но разбираться как все работает все равно придется.

#2
6:52, 27 дек 2020

xma
думаю, если ты не в состоянии сделать какую тебе нужно камеру, то на вулкан лучше даже не смотреть

#3
7:59, 27 дек 2020

Suslik

камеру я себе в состоянии сделать любую (делал в OpenGL/RTRT/Software/Unity), а вот обилие всякого г.. в Vulkan - доверия к "возможной простоте" решения, не вызывает .. :D

#4
8:20, 27 дек 2020

xma
> камеру я себе в состоянии сделать любую
Тогда почему у тебя вообще вопрос возник про орбит-камеру? Или ты считаешь что в Вулкане какая-то своя особая математика?

#5
8:58, 27 дек 2020

MikeNew

ну просто если уж чего и желать, то уж сразу - то что наиболее подходит .. (понятно что иные варианты, по которым можно уловить суть инициализации Vulkan'а - тоже подойдут)

перечислю что интересно,

a) обработка ввода (мышь клавиатура);

b) создание и передача буферов данных - в "вычислительные шейдеры", и обратно;

c) формирование и вызов собственно "вычислительных шейдеров";

d) вывод буферов (изображение RGBA) на экран.

собственно, судя по тем примерам что я видел (напр., https://github.com/inexorgame/vulkan-renderer ), Vulkan тот ещё гимморой .. :D

хотелось бы чего то простого и понятного (в плане примеров кода), и желательно с объяснениями (что и зачем инициализируем) - но понятно что это жЫр ..

#6
9:50, 27 дек 2020

xma
https://github.com/nvpro-samples/build_all/blob/master/README.md

#7
19:56, 27 дек 2020

xma
> обработка ввода (мышь клавиатура);
расскажи как вулкан к вводу вообще относится?

#8
0:11, 28 дек 2020

vindast
> расскажи как вулкан к вводу вообще относится?

ну я думал, что примерно так же как glut - типа задаёшь callback функции и они вызываются при соответствующих нажатиях .. (для обработки input)

а что, в вулкане разве не так ? :D

#9
15:41, 28 дек 2020

xma
> а что, в вулкане разве не так ? :D
Вулкан - он про графику, а не про ввод-вывод.
Я использую для клавомыши GLFW, в принципе все устраивает, интеграция с вулканом там сделана хорошо. Пока что, дальше видно будет.

#10
19:45, 28 дек 2020

xma
> ну я думал, что примерно так же как glut - типа задаёшь callback функции и они
> вызываются при соответствующих нажатиях .. (для обработки input)
>
> а что, в вулкане разве не так ? :D
лулз

glut  / glfw и прочее, тебе сразу создают и контекст, и окно, платформозависимые.
И они тебе предлагаю апи, которое будет плаформонезависимое. В том числе для обработки ввода.

А теперь к сути.
Для того, чтобы тебе потом плохо не было, совет:
1) напиши на голом винапи создание винкласса и окна, обработчик ввода сюда же
2) напиши создание контекста того же opengl
3) дополни это явной установкой версии opengl (тут поймешь как явно получить адрес функции opengl, а для всего остального есть glad, в принципе от него тоже можно отказаться, но это долго )
4) дополни проверкой наличия нужных тебе расширение
5) дополни получением критически важных констант, вроде максимального числа семплеров в шейдере, максимального разрешения текстур, максимального количества ssbo, максимального числа слоев в текстурных массивах

И когда ты вот это сделаешь лезь в вулкан, иначе у тебя будет слишком много пробелов в знаниях.
Работы тут часов на 5-6 если не знаешь и не понимаешь что это и как работает.
Все из этого легко гуглится.

И если ты не понимаешь о чем вообще п4 и п5 то ты не готов в вулкану.
Вулкан куда как более требователен к уровню вхождения чем тот же opengl.

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

Тема в архиве.