Навигация
Поддержать материально
Steam Greenlight

Логотипы
Медальки
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Темы форума
158 - Пошаговые игры
Вчера, 14:32
 GeePee
158 !
16.11.2018
 Mefistofel
Халявные игры (The H…
16.11.2018
 Mefistofel
3д художник локации…
15.11.2018
 Vlada
Гейм дизайнер
15.11.2018
 Vlada
157 - Snake II
9.11.2018
 Mefistofel
Free Fall :: Vulkan…
1.11.2018
 Dan
The Great tribes - […
22.10.2018
 Zemlaynin
Ищем в команду фронт…
16.10.2018
 alex_pr
157 - ?
12.10.2018
 Devel
Сейчас на сайте
Гостей: 2
На сайте нет зарегистрированных пользователей

Пользователей: 1,702
новичок: ZosephbumSU
Обсуждение «Free Fall :: Vulkan Lab»
Dan
Avatar пользователя

Опубликовано 04.10.2016 03:57 (2 года назад)    #
так удобно совпало что "конкурс" Free Fall выпал на то время как я начал изучать новый графический API - Vulkan. поэтому я решил тоже присоединиться к веселью и держать всех в курсе моего прогресса.

первое, я думаю, что стоит пояснить это что такое Vulkan и зачем он вообще нужен. Vulkan это новый, низко уровневый програмный интерфейс для работы с 3д графикой и параллельными вычислениями на GPU. в общих чертах его можно сравинить с такими програмными интерфейсами как Direct3D12, Mantle и gnm/gnmx, а более отдалённо с Direct3D11 и OpenGL. чем же Vulkan привлекателен и собственно отличается от других API? это я, пожалуй, перечислю небольшим списком:

- сразу стоит сказать что Vulkan это много платформенный програмный интерфейс и с момента выхода поддерживает Windows(7, 8, 10), Linux и Android. поддержка других платформ так же постепенно развивается.
- Vulkan работает на очень низком уровне и таким образом перебрасывает огромное количество работы с драйвера на программиста приложения. как пример можно взять то что шейдеры не компилируются драйвером (как это было с OpenGL), а скармливаются ему в уже скомпилированом формате. это избавит от возможных ошибок и различиях в компиляции шейдеров разными драйверами, да и общем облегчит создание драйверов для этого API.
- структура самого програмного интерфейса Vulkan позволяет писать приложения с максимальной утилизацией многопоточной архитектуры. можно например создавать буферы команд для отрисовки в нескольких потоках (отдельно для каждого глаза в VR например, или распараллелить отрисовку буферов глубины для теней).
- Vulkan имеет встроеные средства для использвания compute шейдеров (хотя это уже стало частью большинства других API).
- Vulkan не требует высоких характеристих железа и масштабируется в зависимости от системы на которой он работает (но это нужно ещё проверить, как именно это реализовано).

какие конкретные планы у меня на период этого проекта:
- программа линкующуюся с библиотекой Vulkan.
- инициализация контекста для отрисовки
- отрисовка 3д модельки
- эффект (какой именно пока не решил) показывающий работу compute шейдера

чем я для всего этого буду пользоваться:
- компилятор/IDE: fpc/lazarus (x86)
- заголовки для работы с Vulkan (благо мне не придётся их самому генерировать): https://github.com/BeRo1985/pasvulkan

редакция от Dan, 04.10.2016 04:11

Turn by turn III:Не участвую.
Daemon
Avatar пользователя

Опубликовано 04.10.2016 10:23 (2 года назад)    #
Было бы интересно взглянуть на реальный пример использования Vulkan, буду следить за этим "свободным падением/осенью"
Turn by turn III:Не участвую.
Dan
Avatar пользователя

Опубликовано 03.10.2018 10:43 (2 месяца назад)    #
Приветствую всех ещё раз=) Более двух лет назад я взялся изучать вулкан, но из-за большой загруженности на работе ничего продуктивного на то время не получилось. И вот недавно у меня наконец появилось немного свободного времени и я решил вернуться к этому проекту.

Сейчас код разработки с несколькими рабочими демками находится здесь:
https://github.com/MrDan2345/LabVulkan

Для сборки нужно установить Vulkan SDK (https://vulkan.lunarg.com) и Lazarus (https://www.lazarus-ide.org).
В некоторых демках перед запуском нужно один раз запустить compileshaders.bat чтобы скомпилировать шейдеры для этой демки.
Turn by turn III:Не участвую.
DRON
Avatar пользователя

Опубликовано 04.10.2018 08:25 (2 месяца назад)    #
Красавчик! Я вот так и не асилил разобраться с Metal и Vulkan и даже микро либу написать под них и перешел на Unity :)
Turn by turn III:Не участвую.
Dan
Avatar пользователя

Опубликовано 24.10.2018 16:09 (4 недели назад)    #
недавно закончил более менее работающий тест со скелетной анимацией. и более менее работающий загрузчик колада файлов.
скрины всех тестов:

инициализация и простой кубик


динамический uniform буфер (загружаем кучу данных в один буфер, а при отрисовке задаём смещение для каждрой отрисовки)


загрузка текстуры и генерация мип мапов


настройка антиалиасинга


использование буфера индексов


простая скелетная анимация


загрузка модели, текстур, анимация и в общем всё что было в других тестах всё есть в этом, только немного сложнее

редакция от Dan, 24.10.2018 16:21

Turn by turn III:Не участвую.
Dan
Avatar пользователя

Опубликовано 01.11.2018 11:04 (3 недели назад)    #
добавил эксперименты с шейдерами вычислений, геометрии и тесселяции

редакция от Dan, 01.11.2018 11:05

Turn by turn III:Не участвую.
Перейти на форум:
Конкурсы
Открытые конкурсы:
Turn by turn III

Старт: 17 ноября 2018г.
Финиш: 4 декабря 2018г.

Участники: 7
Недавние конкурсы:
 157 - Snake II
 156 - Race IV
 155 - Text Quest
 154 - Point & Click
 153 - Collab Contest
 Все конкурсы
Случайная игра
Мини-чат
Вам необходимо залогиниться.

Архив чата

13,758,665 уникальных посетителей

Создано на базе русской версии PHP-Fusion copyright © 2003-2006 by Nick Jones.
Released as free software under the terms of the GNU/GPL license.