Надо бы облагородить гитхаб. Добавит скрины, описание и т.д
Есть большое желание сделать первый релиз под новый год. Сейчас готов минимальный функционал 2D графики.
Осталось исправить рисование на Windows 9x.
Запилить минимальную документацию.
Добавить больше примеров.
Дописать тесты.
Портировать под Linux (почти готово)
я опробую твой либу. но оно сильно заморочитьсян адо с этими gradle и типо cmake? если с твоим фреймворком не будет танцы с бубном как сборкой и компиляцией. то я попробую для простеньких игр. Где скриншоты где графон? это 90ых графон типо? как это понять можно примеры скрины скинуть? спасибо заранее
MicroEx
> я опробую твой либу. но оно сильно заморочитьсян адо с этими gradle и типо
> cmake? если с твоим фреймворком не будет танцы с бубном как сборкой и
> компиляцией. то я попробую для простеньких игр. Где скриншоты где графон? это
> 90ых графон типо? как это понять можно примеры скрины скинуть? спасибо заранее
Подожди плиз пару дней. Я дополню гитхаб скринами и описанием. Добавлю больше примеров по графике.
Графон аля 90-ые. Нарисовать линию, прямоугольник, вывести изображение (можно рисовать часть изображения)
И дополню описание установкой проекта. Как установить, собрать и т.д
На винде вообще на изи. Качаешь сорцы и в свой проект прописываешь add_subdirectory("Lib-LDL")
К релизу подготовлю динамическую и статическую библиотеку. Что бы не приходилось собирать из сорцов.
JordanCpp
зачем поддержка C++98? есть какие-то проблемы с компиляцией более поздними компиляторами под старые системы?
kkolyan
Таки есть. Под Windows 9x доступен только С++11. Компилио mingw из Code::Blocks 12.11. С более новыми версиями под Windows 95, 98, Me уже не работает. Вроде как проблемы и с Windows 2000.
Я выбрал стандарт С++98, что бы я мог нативно собрать фреймворк на старых системах. К примеру беру бородатый дистр дебиана и прям там собираю.
Если есть идеи как перейти на С++11 и оставить поддержку старых систем, буду рад.
Ограничение в стандарте С++98 только для разработки фреймворка. Разработчик используя фреймворк может юзать любой новый стандарт. Потоки, лямбды и т.д
Как паскалист скажу, идея прикольная. Надо глянуть) А в геймдеву оно как-то связано? и че за язык то? С++? какого стандарта?
MicroEx
> Как паскалист скажу, идея прикольная. Надо глянуть) А в геймдеву оно как-то
> связано? и че за язык то? С++? какого стандарта?
Я вдохновляюсь библиотеками SDL и SFML. Функционал в будущем будет сопоставим.
Главная изюминка это поддержка старых и новых систем. Старые дистры Windows, Mac, Linux.
Написан на стандарте С++98, для лучшей портируемости.
И меня напрягает, что библиотеки к примеру SDL2 так легко дропают поддержку старых систем. На мой взгляд, не так уж и сложно обеспечить совместимость. Понятно, что будет доп код, но это 1% процент от всего кода.
На данный момент во фреймворке реализован в основном функционал 2D графики. В будущем добавлю поддержку звука и растеризации шрифтов.
MicroEx
> А в геймдеву оно как-то связано?
Связан, но пока мало функционала. Нативно только 2D графика.
MicroEx
> это 90ых графон типо?
Пакетный режим рисования добавлю, как впилю поддержку OpenGL 2,3,4. На данный момент фреймворк поддерживает OpenGL 1.0 Есть базовые реализации dx5 и dx9, но они не доделаны. Времени и знаний пока не хватает, что бы запилить все мои хотелки.
Понял бро. Вижу работа кипит. Желаю успехов) Даже если твой фреймворк провалиться, это огромный опыт. !
MicroEx
> Даже если твой фреймворк провалиться
Спасибо за поддержку:)
MicroEx
> Желаю успехов)
Спасибо.
Подскажите пожалуйста, как лучше реорганизовать CMakeLists.txt
Фреймворк поддерживает несколько версий графического API.
Я сделал так.
Устанавливаю переменную и дефайн конкретной версии.
set(LDL_GPU_SUPPORT_OPENGL1 true) add_definitions(-DLDL_GPU_SUPPORT_OPENGL1)
Далее
if (LDL_GPU_SUPPORT_OPENGL1) target_sources(LDL PRIVATE "source/Graphics/GL1/GpuRenderImpl.cpp" "source/Graphics/GL1/GpuImageImpl.cpp" "source/Graphics/GL1/GpuUtil.cpp" "source/Graphics/GL1/GL1Screen.cpp" "source/Graphics/GL1/GpuScreenshoterImpl.cpp") endif() if (WIN32 AND LDL_GPU_SUPPORT_OPENGL1) target_sources(LDL PRIVATE "source/Platforms/Windows/Graphics/GL1/GpuWindowImpl.cpp") endif()
Но чёт коряво выглядит. Как улучшить данный вариант?
Корявость, это не главное, в том конфиге, вообще, привидения водятся:) Но что важно, WIN64 там прописано?
Тема в архиве.