Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Программирование игр для компьютеров > C++

Ответ
 
Опции темы
Старый 18.04.2018, 17:22   #1
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 977
Написано 388 полезных сообщений
(для 630 пользователей)
Hello Vulkan

Нажмите на изображение для увеличения
Название: hello-vulkan.png
Просмотров: 110
Размер:	4.1 Кб
ID:	22853

На днях проходил вот эти туторы.

GAPI довольно низкоуровневый. Кубик как на картинке (он даже не вращается - только один кадр выводится без рендер-цикла) требует освоение 15 уроков теории и примерно 2к строк кода (я немного по другому делал - создавал классы интерфейсов, а не как в примерах сишный процедурный код, но количество кода примерно тоже выходит). Не скажу что этот GAPI сложный, там всё хорошо структурировано, годно написана спецификация и доки, но объём материала большой и требует больше времени и на изучение и на кодирование чем традиционные GAPI (наверное самое сложное найти это время).

Тем не менее, GAPI новый и даже такие простые демки неплохо бы потестить: hello-vulkan-7.zip.
В архиве:
  • hello-world.exe - запустить тест.
  • hello-world-layers.exe - запустить тест с отладочными слоями, в случае если что-то не работает и нужно выяснить подробности ошибки.
  • RunTimeInstaller - библиотеки для вулкана. В частности стандартная утилита vulkaninfo.exe тоже должна быть там (вроде бы она и так у всех в System32 есть - достаточно набрать vulkaninfo в терминале).
Спасибо.

Чтобы завершить приложение нужно нажать любую клавишу на окне терминала. А перед закрытием было бы здорово скопировать лог сюда. Так же интересно посмотреть результаты лога у кого несколько GPU.

Последний раз редактировалось Samodelkin, 19.04.2018 в 18:58.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
St_AnGer (19.04.2018)
Старый 18.04.2018, 19:47   #2
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,900
Написано 2,149 полезных сообщений
(для 5,780 пользователей)
Ответ: Hello Vulkan

libwinpthread-1.dll нету, говорит.
откопал его где-то у себя, тогда application could not start correctly (возможно разная битность дллки и ехе)
__________________
бложик
geom.io
твиттер
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Samodelkin (18.04.2018)
Старый 18.04.2018, 20:05   #3
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 977
Написано 388 полезных сообщений
(для 630 пользователей)
Ответ: Hello Vulkan

Сообщение от Mr_F_ Посмотреть сообщение
libwinpthread-1.dll нету, говорит.
откопал его где-то у себя, тогда application could not start correctly (возможно разная битность дллки и ехе)
Добавил. Приложение 64 битное.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Mr_F_ (18.04.2018)
Старый 18.04.2018, 20:42   #4
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,900
Написано 2,149 полезных сообщений
(для 5,780 пользователей)
Ответ: Hello Vulkan

чёт не пашет. нужны какие-то особые драйвера?
лог:


Let's go!

1 GPU(s) found.

props.deviceName: GeForce GTX 1060 6GB
props.deviceType: VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
props.apiVersion: 1.0.65
props.driverVersion: 1637040128
props.vendorId: 0x10de
props.deviceId: 0x1c03
props.pipelineCacheUUID: 79952e26-77dc-a01c-4dfb-cacab4b35cf4

WARNING: The app is always using the first GPU (index=0).
Create Swapchain ...
VK_FORMAT_B8G8R8A8_UNORM
VK_FORMAT_B8G8R8A8_SRGB
The best format is VK_FORMAT_B8G8R8A8_UNORM.
minImageCount=2
maxImageCount=8
maxImageArrayLayers=1
supportedTransforms=VK_SURFACE_TRANSFORM_IDENTITY_ BIT_KHR
currentTransform=VK_SURFACE_TRANSFORM_IDENTITY_BIT _KHR

VK_PRESENT_MODE_FIFO_KHR
VK_PRESENT_MODE_FIFO_RELAXED_KHR
VK_PRESENT_MODE_MAILBOX_KHR
... Done.
Create Depth Buffer ... Done.
Create Uniform Buffer ... Done.
Create Descriptor Set and Pipeline Layouts ... Done.
Create a Descriptor Set (Stage 2) ... Done.
Create a Render Pass ... Done.
Create Shaders ...
... Done.
Create Framebuffers ...
... Done.
Create the vertex buffer (the cube model) ...
... Done.
Create the graphics pipeline ...
ERROR: 'sCrtGraphicsPipeline()': 'vkCreateGraphicsPipelines()' failed.
__________________
бложик
geom.io
твиттер
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Samodelkin (18.04.2018)
Старый 18.04.2018, 21:11   #5
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 977
Написано 388 полезных сообщений
(для 630 пользователей)
Ответ: Hello Vulkan

На GTX 1070 аналогичная проблема. Сейчас выясняю. Надо попробовать другие режимы подобрать и больше отладочный инфы выводить. В общем там доработать код надо ещё. Терминал который закрывается сразу в случае ошибки я тоже пофикшу.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Mr_F_ (18.04.2018)
Старый 19.04.2018, 07:50   #6
St_AnGer
Элита
 
Аватар для St_AnGer
 
Регистрация: 21.01.2010
Адрес: Россия, Рязанская область, г.Михайлов
Сообщений: 2,016
Написано 1,154 полезных сообщений
(для 2,775 пользователей)
Ответ: Hello Vulkan

GTX1050ti вылетает с той же ошибкой 'sCrtGraphicsPipeline()': 'vkCreateGraphicsPipeline()' failed.
__________________
Main PC:
Intel Core i5 4260U 1.44 GHz + LPDDR3 1x4096 1600 MHz + Intel HD Graphics 5000.

Asus Ёжик T101-MT:
Intel Atom N-570 1.66 Ghz + DDR2 2x1024 800 Mhz + Intel GMA 3150 128 Mb DDR2


Скачать Doom 2D: Remake v0.3.8a
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Samodelkin (19.04.2018)
Старый 19.04.2018, 15:57   #7
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 4,502
Написано 1,969 полезных сообщений
(для 4,714 пользователей)
Ответ: Hello Vulkan

GTX 1050
Появляется консоль, следом белое окошко, и сразу закрывается не оставив никаких ошибок и логов. И всё это за 1 секунду.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Samodelkin (19.04.2018)
Старый 19.04.2018, 19:10   #8
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 977
Написано 388 полезных сообщений
(для 630 пользователей)
Ответ: Hello Vulkan

Обновил первый пост.
  • Исправил ошибку которая приводила к 'vkCreateGraphicsPipeline()' failed.
  • Терминал теперь не закрывается раньше времени если происходит исключение.
  • Добавил проверочные слои (validation layers). С ними можно запускать тест через hello-world-layers.bat. Подробнее про проверочные слои.
  • Добавил RunTimeInstaller в архив -- если ваша версия Вулкана устарела.
  • Ещё в System32 есть vulkaninfo.exe (можно набрать в терминале команду vulkaninfo) -- там все подробно про ваш конфиг Вулкана.
  • Можно перенаправить вывод в файл командой hello-world > file.txt если так удобнее. Самостоятельный вывод в файл лога чуть позже сделаю, просто обычный куб этого не достоин.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Samodelkin за это полезное сообщение:
Mr_F_ (19.04.2018), St_AnGer (19.04.2018)
Старый 19.04.2018, 21:38   #9
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,900
Написано 2,149 полезных сообщений
(для 5,780 пользователей)
Ответ: Hello Vulkan

Теперь работает, рисует куб
__________________
бложик
geom.io
твиттер
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Samodelkin (19.04.2018)
Старый 19.04.2018, 23:57   #10
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 4,502
Написано 1,969 полезных сообщений
(для 4,714 пользователей)
Ответ: Hello Vulkan

Аналогично, рисует куб. Правда окно зависает, это нормально?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Samodelkin (20.04.2018)
Старый 20.04.2018, 07:22   #11
St_AnGer
Элита
 
Аватар для St_AnGer
 
Регистрация: 21.01.2010
Адрес: Россия, Рязанская область, г.Михайлов
Сообщений: 2,016
Написано 1,154 полезных сообщений
(для 2,775 пользователей)
Ответ: Hello Vulkan

Вроде всё работает, куб рисуется, только окно зависает сразу после запуска, но это не баг, я так понимаю?

Лог с консольки:
Let's go!
1 GPU(s) found.

props.deviceName: GeForce GTX 1050 Ti
props.deviceType: VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
props.apiVersion: 1.0.56
props.driverVersion: 1627602944
props.vendorId: 0x10de
props.deviceId: 0x1c82
props.pipelineCacheUUID: 633e3277-17b8-6cac-c3b4-d661bf1b5e73

WARNING: The app is always using the first GPU (index=0).
Create Swapchain ...
VK_FORMAT_B8G8R8A8_UNORM
VK_FORMAT_B8G8R8A8_SRGB
The best format is VK_FORMAT_B8G8R8A8_UNORM.
minImageCount=2
maxImageCount=8
maxImageArrayLayers=1
supportedTransforms=VK_SURFACE_TRANSFORM_IDENTITY_ BIT_KHR
currentTransform=VK_SURFACE_TRANSFORM_IDENTITY_BIT _KHR

VK_PRESENT_MODE_FIFO_KHR
VK_PRESENT_MODE_FIFO_RELAXED_KHR
VK_PRESENT_MODE_MAILBOX_KHR
... Done.
Create Depth Buffer ... Done.
Create Uniform Buffer ... Done.
Create Descriptor Set and Pipeline Layouts ... Done.
Create a Descriptor Set (Stage 2) ... Done.
Create a Render Pass ... Done.
Create Shaders ...
sizeof( vertSpv )=1148
sizeof( fragSpv )=448
... Done.
Create Framebuffers ...
... Done.
Create the vertex buffer (the cube model) ...
... Done.
Create the graphics pipeline ...
... Done.
Draw the cube ...
... Done.

OK. All preparations are done!
Press any key in the app _terminal_ window to continue ...
__________________
Main PC:
Intel Core i5 4260U 1.44 GHz + LPDDR3 1x4096 1600 MHz + Intel HD Graphics 5000.

Asus Ёжик T101-MT:
Intel Atom N-570 1.66 Ghz + DDR2 2x1024 800 Mhz + Intel GMA 3150 128 Mb DDR2


Скачать Doom 2D: Remake v0.3.8a
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Samodelkin (20.04.2018)
Старый 20.04.2018, 12:25   #12
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 977
Написано 388 полезных сообщений
(для 630 пользователей)
Ответ: Hello Vulkan

Да на окне нет обработчика событий поэтому выглядит зависшим. Далее попробую окно, события и ввод обрабатывать через SDL2, посмотрим как вместе с Vulkan работать будет.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Samodelkin за это полезное сообщение:
Arton (20.04.2018), St_AnGer (20.04.2018)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +1, время: 20:58.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com