Форум программистов, компьютерный форум, киберфорум
Программирование мультимедиа
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.90/58: Рейтинг темы: голосов - 58, средняя оценка - 4.90
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21

Khronos Group API Vulkan

17.02.2016, 16:38. Показов 11134. Ответов 66
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Состоялся релиз спецификации API Vulkan версии 1.0.

Компании AMD и NVIDIA заявили о выпуске драйверов для Vulkan. По утверждению NVIDIA, поддержка Vulkan для конечного пользователя преподнесёт множество приятных сюрпризов в плане производительности, позволит разработчикам добавить в игры больше деталей и интересных спецэффектов.
На официальном сайте Khronos Group уже доступны примеры работы с данным API, а также Vulkan SDK

технология является полностью открытой и имеет в свободном доступе все необходимые хейдеры и библиотеки.
5
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.02.2016, 16:38
Ответы с готовыми решениями:

Vulkan API — уроки (перевод и дополнение)
Доброго времени суток! Недавно решил сделать уроки по новому Vulkan API. Сначала он может показаться сложным, громоздким, будто бы сделали...

Запуск приложений с Vulkan API на Android
Доброго времени суток, форумчане! С выходом нового графического API Vulkan компания Samsung продемонстрировала работу демки Protostar на...

Нет ли инфы о планах интеграции Vulkan API в Qt?
Может кто наталкивался на статейку, есть ли хотя бы в планах у Qt-шников интеграция Vulkan API в Qt ?

66
Программист велосипедист
 Аватар для hays
161 / 48 / 7
Регистрация: 23.11.2014
Сообщений: 313
17.02.2016, 17:47
Помойму самое время создать новый подраздел для Vulkan
2
85 / 31 / 3
Регистрация: 26.01.2016
Сообщений: 82
17.02.2016, 21:15
Супер! Теперь только следи за новостями, демками, примерами, тестами и тп...
0
 Аватар для snake32
3502 / 1685 / 236
Регистрация: 26.02.2009
Сообщений: 8,377
Записей в блоге: 6
18.02.2016, 10:53
Теперь перед каждым вызовом ф-ии API нужно создавать и ждать семафор?
За что боролись - на то и напоролись....
0
85 / 31 / 3
Регистрация: 26.01.2016
Сообщений: 82
18.02.2016, 11:11
Не только семафор, как я понимаю, еще и общее усложнение и увеличение строк кода под любую фигню.

Когда я изучал CUDA после OpenGL, мне лично он показался намного проще для понимания, базовых сущностей и функций намного меньше при более низком уровне доступа и контроле, но при этом никаких тысяч строк кода для подготовки не требовалось. Универсальность оказалась простотой в том случае. Как я понимаю, с Вулканом все наоборот.
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
18.02.2016, 11:15  [ТС]
Цитата Сообщение от snake32 Посмотреть сообщение
Теперь перед каждым вызовом ф-ии API нужно создавать и ждать семафор?
особо пока не копался (жду драйвера от Intel), но при быстром осмотре мне код тоже не очень понравился (даже у Mantle было более "приятнее глазу").
в общем посмотрим, пока Vulkan проигрывает даже DirectX 11
0
 Аватар для snake32
3502 / 1685 / 236
Регистрация: 26.02.2009
Сообщений: 8,377
Записей в блоге: 6
18.02.2016, 11:38
Цитата Сообщение от _lunar_ Посмотреть сообщение
пока Vulkan проигрывает даже DirectX 11
На сколько я понял это кривой код (не оптимальный для Vulkan) о чём говорят сами разработчики. Код вроде обещают с оптимизировать + ещё сами дрова пока не блещут производительностью. В любом случае говорить о низкой производительности рано, тем более по одной игре. Ну если действительно будет всё плохо то нафиг надо писать столько кода и ничего не получить относительно старых API (DX11).

Неужели OpenGL такое дно? В 2 раза хуже DX11? Они там что через glVertex рисуют? Может и вправду кривые руки?

Цитата Сообщение от _lunar_ Посмотреть сообщение
особо пока не копался
Я тоже по диагонали глянул. Что в ваших примерах что здесь сразу пишут фреймворк, на базе которых пишут туторы. Мне лично так сложнее понять последовательность вызовов и понять их суть. Может есть где нить сплошняком (одним файлом) рисование треугольника?
1
85 / 31 / 3
Регистрация: 26.01.2016
Сообщений: 82
18.02.2016, 15:28
Лично я считаю, что нет никакой срочной надобности щас начинать разбираться в вулкане и переписывать свой код, если вы не создаете свой движок или не являетесь передовым девелопером в индустрии. Лучше направить силы на завершение уже начатых проектов на opengl, а через полгодика-годик, можно начать разбираться с этим зверем, к тому же обещают книжку

http://www.amazon.com/Vulkan-P... 0134464540

https://www.khronos.org/news/p... ing-vulkan
1
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
18.02.2016, 15:50  [ТС]
Цитата Сообщение от snake32 Посмотреть сообщение
На сколько я понял это кривой код
не спорю, но когда Dx11 в последний раз обновлялся? Этак в июне 2010
у разработчиков Vulkan было 5 лет, чтобы выйти хотя бы на уровень Dx11, который просто стоял как камень.
в общем будем надеяться, что это только первая версия и в дальнейшем API как и собственно драйверы будут оптимизироваться. Вот только и MS не будет стоять на месте со своим Dx12, а уж эта контора совершенно не идёт ни в какое сравнение с opensource разработчиками.

Цитата Сообщение от snake32 Посмотреть сообщение
Может есть где нить сплошняком (одним файлом) рисование треугольника?
мне тоже легче читать и понимать код "одним куском", без всяких разделений на кучи хейдеров, классов и прочего.
я бы попробовал нарисовать треугольник, да вот не на чем) жду драйвера.
0
 Аватар для snake32
3502 / 1685 / 236
Регистрация: 26.02.2009
Сообщений: 8,377
Записей в блоге: 6
18.02.2016, 17:10
Цитата Сообщение от _lunar_ Посмотреть сообщение
не спорю, но когда Dx11 в последний раз обновлялся? Этак в июне 2010
у разработчиков Vulkan было 5 лет, чтобы выйти хотя бы на уровень DX11, который просто стоял как камень.
Интерфейс может быть и был 5 лет как камень(не слежу за DX), а вот внутренности... ведь когда обновляются дрова то можно же получить чуть больше FPS в какой-нить игре не меняя саму игру?
Цитата Сообщение от _lunar_ Посмотреть сообщение
MS не будет стоять на месте со своим Dx12, а уж эта контора совершенно не идёт ни в какое сравнение с opensource разработчиками.
Бабло побеждает зло всё!
0
85 / 31 / 3
Регистрация: 26.01.2016
Сообщений: 82
18.02.2016, 19:54
DX12 vs Vulkan - что лучше? Я думаю важнейший критерий это не производительность, а простота и доступность!
Простота в изучении, кодинге, отладке. Кроссплатформенность, время и затраты на разработку. Вот что действительно важно.
0
 Аватар для snake32
3502 / 1685 / 236
Регистрация: 26.02.2009
Сообщений: 8,377
Записей в блоге: 6
20.02.2016, 14:10
Люди знающие С++ подскажите есть такой макрос в vulkan.h
C++
1
#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
Что значит ##? Какой код сгенерится при таком определении
C++
1
VK_DEFINE_HANDLE(VkInstance)
ЗЫ: Хочу написать заголовки для Delphi

Добавлено через 7 минут
Нашёл https://www.cyberforum.ru/blogs/18334/blog100.html

C++
1
typedef struct VkInstance_T* VkInstance;
0
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
27.02.2016, 08:41
Ну вообще исходя из ReferenceCard они DX12 брали за основу. Та же система списков команд. Кстати в общем то под подобную штуку (под подобный стиль) очень даже стоит переделать код который для более старых версий как GL так и DX. Как минимум отрисовка сцены при изменении только положения камеры ускорится. Если матрицы преобразований каждого объекта не напрямую в командах хранить, а задавать на них указатели, то и с перемещениями отрисовка ускорится, а без добавления/удаления объектов сцены в списке команд и менять ничего не надо. т.е. вырисоывывается такая ситуация - один поток просто считает себе физику/перемещения, второй просто периодически отправляет список на выполнение. Даже если при этом обновлена только часть данных о положении то на 30fps все равно никто ничего не заметит. хотя для движков которые делают первичное отсечение на пообъектной основе такая штука не пройдет, потому что им каждый кадр нужно новый список строить. Для того чтобы для них пошло нужно иметь в списке команд возможность отключать блоки, а еще лучше собирать список из блоков. Хотя опять же, если каждый объект имеет свой список команд и при вызове отрисовке его запускает, то простои все равно меньше будет, чем если как обычно циклом по DrawCall на каждый сабсет.

Добавлено через 11 минут
Цитата Сообщение от Phisix Посмотреть сообщение
Когда я изучал CUDA после OpenGL, мне лично он показался намного проще для понимания, базовых сущностей и функций намного меньше при более низком уровне доступа и контроле, но при этом никаких тысяч строк кода для подготовки не требовалось. Универсальность оказалась простотой в том случае. Как я понимаю, с Вулканом все наоборот.
Ну по большому счет 99% добра которое живет в хидерах GL порезать и выбросить осталось. Оно относится к дошейдерной эпохе. На сегодняшний день актуален небольшой набор функций из четырех небольших групп функций, а именно:
1. Компиляция и установка шейдеров и установка константных буферов.
2. Манипуляции с буферами геометрии.
3. Загрузка текстур в видеопамять.
4. glDrawArrays и glDrawElements.
0
16 / 16 / 0
Регистрация: 13.11.2009
Сообщений: 69
01.03.2016, 10:40
Fasm пример Vulkan API !
Красный треугольный треугольник
Нажмите один раз клавишу 1 и VSync-Off, еще раз нажмите клавишу один и получите VSync-On
Качать отсюда. Это не вирус. Я серъезно !
Вложения
Тип файла: rar triangle.rar (5.5 Кб, 0 просмотров)
0
 Аватар для snake32
3502 / 1685 / 236
Регистрация: 26.02.2009
Сообщений: 8,377
Записей в блоге: 6
01.03.2016, 10:53
ronniko, Исходники будут? И как посмотреть хотя бы код шейдеров? Что-то notepad++ не поймёт кодировку.

Добавлено через 36 секунд
Дрова, для NV только бетка последняя подойдёт?
0
16 / 16 / 0
Регистрация: 13.11.2009
Сообщений: 69
02.03.2016, 07:43
Шейдеры GLSL скомпилиный через Spir-V в формат для Vulkan API.
Вот вершинный шейдер:
C++
1
2
3
4
5
6
7
8
#version 450 core
    
    layout (location = 0) in vec4 a_vertex;
    
    void main() 
    {
        gl_Position = a_vertex;
    }
Вот пиксельный:
C++
1
2
3
4
5
6
7
8
#version 450 core
    
    layout (location = 0) out vec4 ob_fragColor;
    
    void main()
    {
       ob_fragColor = vec4(1.0, 0.0, 0.0, 1.0);
    }
Пример брал отсюда https://github.com/McNopper/Vu... _Example02
И шейдеры отсюда https://github.com/McNopper/Vu... S_Binaries

Добавлено через 5 минут
Сравнивая Vulkan API с Мантле API, более проще\удобнее писать на Мантле(но он только для АМД GNC видях)
Мне не нравиться что Vulkan API работает только с GLSL.
Так как у меня много под Directx 11 шейдеров.
Мантле работал с IL ассемблерными шейдерами (у AMD был HLSL компилятор и шейдеры короткие были)
А простой шейдер скомпиленный в Spir-v, почему то больше GLSL кода ?!
Может по этому Vulkan API пока проигрывает DX11 ?

Кстати у меня на Radeon HD 7950 не идут Vulkan демки с сайта NVIDIA ! 2 штуки пробовал не пошли.
И еще Vulkan API будут спецификации обновлять и дрова, как это было 26 февраля.

Добавлено через 7 часов 12 минут
Новое демо.
Вращающаяся 3д модель.
115378_1456858368_new.rar

Добавлено через 9 часов 44 минуты
Новый пример камера от первого лица.
Клавиша '1' Vsync On\Off
Левая кнопка мыши вращать камеру, правая кнопка мыши остановить вращение камеры.
Клавиши 'S' 'W' идти в перед и назад.
115387_1456893533_camera.rar
2
9036 / 2937 / 493
Регистрация: 05.10.2013
Сообщений: 7,960
Записей в блоге: 216
04.03.2016, 12:00
Производительность на лицо: Vulkan™ API on Intel® Graphics
Кликните здесь для просмотра всего текста


Добавлено через 4 минуты
Цитата Сообщение от hays Посмотреть сообщение
Помойму самое время создать новый подраздел для Vulkan
Цитата Сообщение от ronniko Посмотреть сообщение
Сравнивая Vulkan API с Мантле API, более проще\удобнее писать на Мантле(но он только для АМД GNC видях)
А может и под Мантл новый раздел?
1
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.03.2016, 13:50
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Производительность на лицо:
Ага. Особенно по сравнению даже с 11-ым X-ом. Положительный момент в том что начали делать то что в DirectX было с рождения - менедежмент аппаратной памяти и маппинг ее в виртуальную. Но тут вырисовывается проблемка в том что такая штука очень удобна как база всей иерархии, а не теперь расстыкивать по всем функциям поддержку, а во вторых врядли кому то удастся подружится с майкрософтовским менеджером виртуальной памяти лучше чем команде разработчиков HAL DirectX
Цитата Сообщение от 8Observer8 Посмотреть сообщение
А может и под Мантл новый раздел?
Я так понимаю и то и то новые экстеншены к GL.
0
16 / 16 / 0
Регистрация: 13.11.2009
Сообщений: 69
06.03.2016, 11:42
Vulkan API Radeon 7950 динамическая текстура. Полезно для вывода видео на 3д модель.

Кликните здесь для просмотра всего текста
1
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
07.03.2016, 21:35
Цитата Сообщение от snake32 Посмотреть сообщение
о значит ##? Какой код сгенерится при таком определении
C++
1
typedef struct VkInstance_T* object;
## - конкатенация в контексте макроса.

Добавлено через 1 минуту
У AMD где-нибудь есть список поддерживаемый видеокарт/чипов?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.03.2016, 21:35
Помогаю со студенческими работами здесь

Почему в Cyberforum нету раздела про Vulkan API
Не знаю, может вопрос может показаться вызывающим. Но почему в Cyberforum нету разделов по OpenCL и Vulkan API?

Vulkan API и nVidia GeForce GT240: всё безнадёжно?
Видеокарта GeForce GT240 образца 2012 года. По тем временам более чем нормальная: 4 Гб, 1,3 ГГц. На днях решил стать кулхацкером. ...

Классы-строители для построения VkDevice (Vulkan API)
Написал классы-строители для построения VkDevice (Vulkan API) #pragma once #ifndef DEVICEBUILDER_H #define DEVICEBUILDER_H ...

Возможен уход производителей игр, от зависимости к Windows ? (за счет Vulkan API)?
Был проект у AMD - mantle. Замена DirectX. Потом Khronos Group запилила общий проект - Vulkan API. Этот графический API для всех под...

Mixing of GROUP columns (MIN(),MAX(),COUNT(),.) with no GROUP columns is illegal if there is no GROUP BY clause
Такая ошибка: КОД: $result=mysql_query("SELECT description, min(schedule.date) as date FROM schedule where...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru