ПроектыФорумОцените

Фреймворк LDL (4 стр)

Страницы: 13 4 5 627 Следующая »
#45
1:58, 16 дек 2022

Надо бы облагородить гитхаб. Добавит скрины, описание и т.д

#46
10:50, 16 дек 2022

Есть большое желание сделать первый релиз под новый год. Сейчас готов минимальный функционал 2D графики.

Осталось исправить рисование на Windows 9x.
Запилить минимальную документацию.
Добавить больше примеров.
Дописать тесты.
Портировать под Linux (почти готово)

#47
11:14, 16 дек 2022

я опробую твой либу. но оно сильно заморочитьсян адо с этими gradle и типо cmake? если с твоим фреймворком не будет танцы с бубном как сборкой и компиляцией. то я попробую для простеньких игр. Где скриншоты где графон? это 90ых графон типо? как это понять можно примеры скрины скинуть? спасибо заранее

#48
11:25, 16 дек 2022

MicroEx
> я опробую твой либу. но оно сильно заморочитьсян адо с этими gradle и типо
> cmake? если с твоим фреймворком не будет танцы с бубном как сборкой и
> компиляцией. то я попробую для простеньких игр. Где скриншоты где графон? это
> 90ых графон типо? как это понять можно примеры скрины скинуть? спасибо заранее

Подожди плиз пару дней. Я дополню гитхаб скринами и описанием. Добавлю больше примеров по графике.

Графон аля 90-ые. Нарисовать линию, прямоугольник, вывести изображение (можно рисовать часть изображения)

И дополню описание установкой проекта. Как установить, собрать и т.д

На винде вообще на изи. Качаешь сорцы и в свой проект прописываешь add_subdirectory("Lib-LDL")

К релизу подготовлю динамическую и статическую библиотеку. Что бы не приходилось собирать из сорцов.

#49
11:27, 16 дек 2022

JordanCpp
зачем поддержка C++98? есть какие-то проблемы с компиляцией более поздними компиляторами под старые системы?

#50
11:32, 16 дек 2022

kkolyan

Таки есть. Под Windows 9x доступен только С++11. Компилио mingw из Code::Blocks 12.11. С более новыми версиями под Windows 95, 98, Me уже не работает. Вроде как проблемы и с Windows 2000.

Я выбрал стандарт С++98, что бы я мог нативно собрать фреймворк на старых системах. К примеру беру бородатый дистр дебиана и прям там собираю.

Если есть идеи как перейти на С++11 и оставить поддержку старых систем, буду рад.

#51
11:39, 16 дек 2022

Ограничение в стандарте С++98 только для разработки фреймворка. Разработчик используя фреймворк может юзать любой новый стандарт. Потоки, лямбды и т.д

#52
11:40, 16 дек 2022

Как паскалист скажу, идея прикольная. Надо глянуть) А в геймдеву оно как-то связано? и че за язык то? С++? какого стандарта?

#53
11:46, 16 дек 2022

MicroEx
> Как паскалист скажу, идея прикольная. Надо глянуть) А в геймдеву оно как-то
> связано? и че за язык то? С++? какого стандарта?
Я вдохновляюсь библиотеками SDL и SFML. Функционал в будущем будет сопоставим.

Главная изюминка это поддержка старых и новых систем. Старые дистры Windows, Mac, Linux.

Написан на стандарте С++98, для лучшей портируемости.

И меня напрягает, что библиотеки к примеру SDL2 так легко дропают поддержку старых систем. На мой взгляд, не так уж и сложно обеспечить совместимость. Понятно, что будет доп код, но это 1% процент от всего кода.

На данный момент во фреймворке реализован в основном функционал 2D графики. В будущем добавлю поддержку звука и растеризации шрифтов.

#54
11:48, 16 дек 2022

MicroEx
> А в геймдеву оно как-то связано?
Связан, но пока мало функционала. Нативно только 2D графика.

#55
11:50, 16 дек 2022

MicroEx
> это 90ых графон типо?
Пакетный режим рисования добавлю, как впилю поддержку OpenGL 2,3,4. На данный момент фреймворк поддерживает OpenGL 1.0 Есть базовые реализации dx5 и dx9, но они не доделаны. Времени и знаний пока не хватает, что бы запилить все мои хотелки.

#56
13:13, 16 дек 2022

Понял бро. Вижу работа кипит. Желаю успехов) Даже если твой фреймворк провалиться, это огромный опыт. !

#57
13:16, 16 дек 2022

MicroEx
> Даже если твой фреймворк провалиться
Спасибо за поддержку:)


MicroEx
> Желаю успехов)
Спасибо.

#58
13:51, 16 дек 2022

Подскажите пожалуйста, как лучше реорганизовать 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()

Но чёт коряво выглядит. Как улучшить данный вариант?

#59
2:46, 17 дек 2022

Корявость, это не главное, в том конфиге, вообще, привидения водятся:) Но что важно, WIN64 там прописано?

Страницы: 13 4 5 627 Следующая »
ПроектыФорумОцените

Тема в архиве.