Войти
ПрограммированиеФорумГрафика

Diligent Engine - современная кросс-платформенная низкоуровневая графическая библиотека

Страницы: 1 2 3 4 5 6 Следующая »
#0
(Правка: 21 апр. 2019, 18:57) 9:15, 5 апр. 2019

Всем доброго времени суток! Хотел бы поделиться проектом Diligent Engine, над которым я работал последнее время. Это низкоуровневая кросс-платформенная графическая библиотека и некоторые утилиты к ней. Библиотека поддерживает следующие платформы: Windows, Universal Windows, Mac, Linux, Android и iOS и имеет следующие бэк-энды: Direct3D11, Direct3D12, OpenGL/GLES, Vulkan.
Библиотека создавалсь с целью использовать преимущества новых API (Direct3D12, Vulkan), и вместе с тем быть удобной в использовании и доступной широкому кругу пользователей.

Код полностью открыт и доступен на GitHub: https://github.com/DiligentGraphics/DiligentEngine


#1
9:19, 5 апр. 2019

assiduous
Ваш мейн луп (windows имплементация) можно сделать дружелюбнее к юзверю.

#2
9:32, 5 апр. 2019

https://github.com/DiligentGraphics/DiligentCore/search?q=virtual
https://github.com/DiligentGraphics/DiligentCore/search?&q=dynamic_cast
Выглядит внушительно и круто. Но я, лично, предпочитаю полиморфизм на уровне сборки, а не в рантайме.

#3
9:33, 5 апр. 2019

Вроде 167 строчек всего во всем файле - куда уж дружелюбнее?

#4
9:35, 5 апр. 2019

assiduous
Я не про строчки кода, а про поведение приложения.
Если свернуть приложение, написанное на вашем движке, оно по прежнему будет грузить процессор, только и всего.

#5
9:35, 5 апр. 2019

lookid
dynamic_cast используется только в debug-сборке. Релиз строится вообще без rtti. Все классы помечены как final. Если хотите полиморфизм на этапе сборке - можно использовать финальные классы.

#6
9:36, 5 апр. 2019

nes
Мейн луп не является частью движка, а служит только для демонстрационных приложений. Реальные приложения должны реализовывать свой мейн луп.

#7
9:38, 5 апр. 2019

assiduous
Тогда вопросов больше нет )

#8
9:44, 5 апр. 2019

Misanthrope
Потому что это не демки, а тьюториалы, которые покызывают как использовать API.

#9
9:50, 5 апр. 2019

Misanthrope
https://github.com/DiligentGraphics/DiligentSamples/tree/master/S… es/Atmosphere
https://github.com/DiligentGraphics/DiligentEngine/tree/master/Pr… cts/Asteroids

#10
9:54, 5 апр. 2019

assiduous
> Библиотека создавалсь с целью использовать преимущества новых API (Direct3D12, Vulkan)
Для этого желательно поменьше барьеров ставить, а последнее что я видел не впечатляло...
И поддержки разных очередей нет.

#11
10:11, 5 апр. 2019

/A\
Хотите ставить меньше барьеров - берите ситуацию под контроль. Движок даёт полный контроль над ними. Поддержка нескольких очередей в планах.

#12
10:16, 5 апр. 2019

assiduous
> Хотите ставить меньше барьеров - берите ситуацию под контроль.
Тогда придется самому учить апи и смысла в использовании стороннего движка становится еще меньше

#13
(Правка: 10:25) 10:25, 5 апр. 2019

/A\
Если цель избежать обучения - то да, вариант не подойдёт. С барьерами нет волшебного решения. Хотите максимальную производительность - придется в них хоть немного разобраться.

#14
(Правка: 10:25) 10:25, 5 апр. 2019

assiduous,
А с какой целью поделились ?

Страницы: 1 2 3 4 5 6 Следующая »
ПрограммированиеФорумГрафика