BerylEngine [58 из 365] (24 стр)
war_zes | Постоялец | www | 10 апр. 2018 | 3:15 | #345 |
---|
> Где BufferStorage ?
а ничего что это 4.4? который на моем рабочем интеле не поддерживается видеокартой (макс 4.3)
> где Samplers ? где MultiBind ?
есть
> где TextureStorage ?
с этим были проблемы, но вообще первоначально было (сейчас закрыто дефайном)
> или ты для каждого объекта будет убого по 1 текстурки ставить на десктопе в 21
> веке?
лолчто?
> нету загрузки текстур
есть же
> сначала загружаем в память
именно так оно сейчас
> нужно в классе image давать некий Callback который сразу с диска булдет
> подавать на
не лучшее решение. С чего image должен знать о текстуре?
да и моими планами на потоки не сработает
> возможно, а возможно его задача объекты создавать, а возможности выплюнуть
> отдельно
Там DX11 стиль - а именно два класса - RenderDevice и RenderContext
war_zes | Постоялец | www | 10 апр. 2018 | 3:25 | #346 |
---|
> я его спрашивал пару страниц назад, он сказал, что это опыт и ему хочется свой
> фреймворк.
а я отвечал.. ну могу и на примере. Захотелось мне как-то проверить разницу между юниформами и констант буферами... А не на чем. Под рукой тогда не было обертки. Тратить кучу времени на вспомогательный код - не хотелось, но пришлось. Конечно проверил - но не полноценно. На полноценно не хватило сил и времени - все ушло на подготовку к тесту (ну то есть на написание оберток)
Тогда, думаю, и начала зарождаться идея сделать идеальную (для меня) обертку. Чтобы как раз делать такие вещи не тратя лишнее время.
Еще, у меня не такое представление о движках, как у вас. Вы их видите... ну наверное как юнити, с кучей инструментов (90% из которых не нужны проекту).
Но я, ковыряя гитхабы, заметил одну вещь - есть очень много игр - у которых движков вообще нет. буквально - там прям по хардкору OpenGL по всему коду без всяких оберток. и эти игры вполне работают.
Из этого и сложилась идея - делать обертку пригодной для движка, но с минимальным количеством функционала.
впрочем - это все не значит что я остановлюсь на обертке. Ведь впереди у меня еще 316 дней, а работа над оберткой GAPI подходит к концу
Madware | Постоялец | www | 10 апр. 2018 | 6:47 | #347 |
---|
> Еще, у меня не такое представление о движках, как у вас. Вы их видите... ну наверное как юнити, с кучей инструментов
>есть очень много игр - у которых движков вообще нет. буквально - там прям по хардкору OpenGL по всему коду без всяких оберток
Игровой движок и графический движок это вообще-то совсем разные вещи.
И если второго может и не быть(хоть это и странно, что за игры там? Арканоиды?), то первый в той или иной форме есть всегда
> Ведь впереди у меня еще 316 дней
Такие дедлайны не работают. Должны быть короткие, две-три недели максимум, и причем каждый раз на выходе должно быть что-то что уже имеет осязаемый функционал
Правка: 10 апр. 2018 6:50
war_zes | Постоялец | www | 10 апр. 2018 | 7:24 | #348 |
---|
> Ты за свой движок говори, а не за других.
вот еще одна причина. У меня получается много библиотек. Поэтому нужно сократить количество зависимостей.
Если делать как предлагаешь, то везде придется тащить заголовки OGL.
Я же сейчас наоборот буду убирать эти зависимости(ну да, сейчас такие проблемы еще есть)
(единственное что смущает, могу ли быть уверен что на всех основных компиляторах какой-нибудь glEnum является unsigned int... ну да пока пофиг на это)
И всего я вижу три вида решений и это было первое.
Второе, как я цитировал - использовать глобальные массивы. Мне это не нравится (хотя в некоторых случаях буду использовать, всеже свитч на 1овердофига строк тоже не вариант для какого-нибудь пиксельного формата)
Третье - использовать инлайн функции со свитчем.
Больше вариантов не знаю
Плюс в третьем варианте можно добавить проверку на использование:
GLenum toGLShaderType(ShaderType mode) { switch ( mode ) { case ShaderType::Vertex: return GL_VERTEX_SHADER; case ShaderType::Fragment: return GL_FRAGMENT_SHADER; case ShaderType::Geometry: return GL_GEOMETRY_SHADER; } ParameterFailed("ShaderType"); } //
Правка: 10 апр. 2018 7:38
Andrey | Постоялец | www | 10 апр. 2018 | 8:48 | #349 |
---|
> > где Samplers ? где MultiBind ?
> есть
нашел Samplers, MultiBind нету, хотя у тебя 4.1, так что понятно.
> не лучшее решение. С чего image должен знать о текстуре?
не будет image знать о текстуре, а вот грузить изображение он должен, значит прредоставлять возможность дергать Callback на создание текстур, а иначе зачем класс Image ? просто утилита для работы с пикселями? И насколько ВАЖНА такая функциональность для движка в данный момент?
> да и моими планами на потоки не сработает
Это вообще не причем.
innuendo | Постоялец | www | 10 апр. 2018 | 9:13 | #350 |
---|
innuendo | Постоялец | www | 10 апр. 2018 | 9:47 | #352 |
---|
попробуй поменять независимо анизотропию - получаешь комбинаторный взрыв
war_zes | Постоялец | www | 11 апр. 2018 | 8:03 | #353 |
---|
Решил отойти от абстракций и потихоньку пилю под первую демо. Демо будет двухмерной (возможно платформером).. двухмерное ближе чем 3D, поэтому решил с него.
Что добавляю:
- спрайтовый рендер
- звук
- некий скелет сцены (только под эту демо)
emptiness_rain | Участник | www | 11 апр. 2018 | 9:13 | #354 |
---|
А почему именно 2д?
war_zes | Постоялец | www | 11 апр. 2018 | 9:59 | #355 |
---|
для 3D еще нужно очень много кода (ну как минимум - загрузка анимаций и мешей, возможно сцена, какое-нибудь разбиение пространства, что-то для обработки столкновений... короче еще долго до этого)
для 2D же большая часть уже готова или делается быстрее
Еще моя ненависть к 2D в юнити...
Если 3D я могу делать в юнити (поэтому движок не горит), то вот 2D я там буду делать только за очень большую зарплату, не для себя и не по фану...
(меня всё раздражает в спрайтовом движке юнити... они конечно начали что-то там добавлять/исправлять... ну лет через десять может и станет как я хочу видеть... а до тех пор не, не буду...)
Я надеюсь эта часть не затянется (ну по срокам две недели максимум)
emptiness_rain | Участник | www | 11 апр. 2018 | 10:58 | #356 |
---|
> для 3D еще нужно очень много кода (ну как минимум - загрузка анимаций и мешей,
> возможно сцена, какое-нибудь разбиение пространства, что-то для обработки
> столкновений... короче еще долго до этого)
Так в 2д тоже нужна анимация, сцены, разбиение пространства, глубина всякая, частицы, эффекты, коллиизии, и от 3д все это отличается не так уж сильно( чуть проще математика )
> Я надеюсь эта часть не затянется (ну по срокам две недели максимум)
Ну ты хоть опиши тут по пунктам, что входит в эту часть, и тебе ориентир и нам интересно.
Dampire | Постоялец | www | 11 апр. 2018 | 12:01 | #357 |
---|
> Так в 2д тоже нужна анимация
Покадровая анимация гораздо проще. Даже самая сложная, с ивентами, таймингами и всем таким прочим.
emptiness_rain | Участник | www | 11 апр. 2018 | 12:05 | #358 |
---|
> Покадровая анимация гораздо проще. Даже самая сложная, с ивентами, таймингами и
> всем таким прочим.
Я больше про скелетку говорил, но покадровую тоже нужно делать и интегрировать в архитектуру.
nes | Постоялец | www | 11 апр. 2018 | 12:56 | #359 |
---|