Мы делаем для дела, для общества, а не ради долларов (хотя мы потом реализуем свою систему донатов). Ради Khronos'ов, графония, Github'а...
Правила:
1. Не перебивать донаты
2. Не просить бабла, ибо делаем для сообщества, а не для общей коммерции
3. Не сраться, ни здесь, ни в Discord
4. Любой дикий ряв - режим Restricted на не определенный срок, при этом просить прошение о помиловании будет крайне затруднительно (ибо коммиссия по помилованию еще не сформирована, а закон существует лишь формально)
Требования:
1. Самоотверженные
2. Отчаянные
3. Решимые
4. С долей энтузиазма
5. Знаниями или познаниями структур Vulkan API
6. Способности мыслить в C++17 на уровне медиума или сениора
7. Возможно, с интуицией и инсайтовым мышлением
8. Внешность не имеет значения, ни у меня, ни у кого, или мало у кого будет или найдется вторая половина до конца лет
9. Ну и просто те кто считает свою жизнь пожизненным заключением, но еще не потерял человечность
10. Маньяком быть не желательно, но допустимо
Проблема: создать сгенерировать univulkan.hpp в соответствии с C++17, при этом чтобы туда НЕ включался сам vulkan.h, а также сделать отдельную имплементацию Vulkan API (univulkan.cpp), тоже по генератору.
Задача: пробиться в народ, достучаться до умов, включая Khronos Group (хотя на это лучше не разивать вам харю), собрать коллабораторов и донатов. А самое главное - реализовать мечту языка C++, а именно чтобы там было меньше всего этого "extern C" хлама, а также реализовать максимальную функциональность в предельных рамках. И провести Vulkan API для C++, чуть не забыл.
В дальнейшем: планируется пробросить D3D12 в univulkan_d3d12.cpp, и возможно, Metal в univulkan_apple.cpp и сделать специфические расширения.
Подводные камни:
1. glfw, SDL, и прочее болото как правило все равно будет тянуть тот самый C-шный vulkan.h, противодействовать этому бессмысленно (разве что очередной проброс в cpp делать, но это немного другая история).
2. Поэтому налаживаем параллельную совместимость с "vulkan.h", при этом C++ версия и C версия должны работать как одна комманда, если они включены, и не тянуть за собой одеяло (за исключением, если univulkan.hpp это проброс другого GAPI).
3. Не смотря на C++17, обязательно должна быть поддержка Visual Studio 2017, хоть и инсайдерских (Preview), хоть и быстрого кольца.
4. По возможности находим выход из траблы.
Интересующихся собираем здесь:
https://discord.gg/HFfADHH
На Gamedev теме вписку лучше не устраивать.
Тип взаимодействия в разработке: предложения лучших вариантов, голосование, мое личное оценивание, мергинг, а также правки с моей стороны (если смогу).
capitalknew
Прочитал 3 раза и ни фига не понял, что ты хочешь сделать.
Jimnik
Он хочет для дела, для общества, а не ради долларов
Андрей5000
Это я понял,
а что он хочет сделать?
Jimnik
Собрать добровольцев на все это дело. А потом уже реализовать систему донатов. Но что главное, любой дикий ряв - режим Restricted на не определенный срок.
Андрей5000
На какое дело, на реализацию систему донатов?
Чтобы вместе попрошайничать что ли?
Jimnik
> На какое дело, на реализацию систему донатов?
Процитирую автора:
> реализовать мечту языка C++, а именно чтобы там было меньше всего этого "extern C" хлама, а также реализовать максимальную функциональность в предельных рамках.
Андрей5000
А-а, ясно, для реализации мечтаний языка C++ конечно нужно собирать команду.
Ничего не поняли, я не уточнил. Мы делаем Vulkan API для C++ без всякого мусора из C в коде.
Интересно рассматривать С++17 с точки зрения Visual Studio. Мелкомягкие сделали язык C# специально, чтобы убить C++, который недостаточно заточен под все маленькие капризы компании MS. Мелкомягкие уже сделали "нужный" API - DirectX. А всякие там вулканы, OpenGL - это им нафиг не нужно. Они и так сильно урезали поддержку OpenGL в Винде 10.
Язык Си пока что является самым авторитетным системным языком. Сама фраза "всякого мусора из C" выражает полное непонимание состояния дел в индустрии.
ardru
> Язык Си пока что является самым авторитетным системным языком. Сама фраза
> "всякого мусора из C" выражает полное непонимание состояния дел в индустрии.
Я не говорю что "совсем выбросить", речь скорее идет об замуровании в статическую либу (или .cpp файл) Cи составляющую, и проделать надстройку в хедере для C++ "для более тупых", которую, правда, надо еще "подключать в розетку".
Продолжу...
> Интересно рассматривать С++17 с точки зрения Visual Studio. Мелкомягкие сделали
> язык C# специально, чтобы убить C++, который недостаточно заточен под все
> маленькие капризы компании MS. Мелкомягкие уже сделали "нужный" API - DirectX.
> А всякие там вулканы, OpenGL - это им нафиг не нужно. Они и так сильно урезали
> поддержку OpenGL в Винде 10.
Надо будет, простроим D3D12 под данный хедер, благо там не нужна будет лишняя эквилибрия с языком C.
И вообще одни проблемы с генерацией такого header файла.
1. Сначала нужен правильный XML парсер, с поддержкой LaTeX и обходом всех извилин (vk.xml настолько сложный, писец)
2. Нужен специфический построитель AST древа, который в последствии можно преобразовать в C++
3. И не просто а построитель, а даже сверхразвитый AI...
Итог: ну его нафиг этого прокуренный vk.xml, лучше руками написать заголовки и имплементации. Дольше, но надежнее.
Либо положить болт...
не знаю, нужен ли "более тупым" этот Вулкан. Для нас уже есть OpenGL, который пока что свои функции выполняет. Если уж "более тупыми" называть тех, кто неосилил Си, но осилил Си++, то это тоже довольно странно, ведь Си++ полностью включает в себя всё что есть в Си. То есть, незнающий Си не знает и Си++, но о каких Вулканах тогда может идти речь? Где логика?
ardru
> не знаю, нужен ли "более тупым" этот Вулкан. Для нас уже есть OpenGL, который
> пока что свои функции выполняет. Если уж "более тупыми" называть тех, кто
> неосилил Си, но осилил Си++, то это тоже довольно странно, ведь Си++ полностью
> включает в себя всё что есть в Си. То есть, незнающий Си не знает и Си++, но о
> каких Вулканах тогда может идти речь? Где логика?
Просто возжелал слепить систему из системы. В C++ на шаблонах, лямбдах, битовых полях в структурах, дефолтных значениях, constexpr, можно бы сделать Vulkan API 1.2, с возможностью включения DirectX 12 и иных суб-GAPI, а также включения туда новых расширений. Проблема одна - нельзя построить самолет используя дешевый 3D принтер. Можно своять руками попытаться, но пройдет 3 года, и прокрутиться несколько поколений данного API, после чего задумаешься, а "нафига я этот делал"?
ardru
> Они и так сильно урезали поддержку OpenGL в Винде 10.
Вот ведь пассивные гомосексуалисты! Я и не заметил как-то :) А в чём это выражается?
capitalknew
Следующим шагом будет избавление всякого мусора в C++ в пользу Delphi? :)))
Тема в архиве.