Флейм
GameDev.ru / Флейм / Форум / BerylEngine: 0.09 [95 из 365] (24 стр)

BerylEngine: 0.09 [95 из 365] (24 стр)

Страницы: 123 24 25 2652 Следующая »
war_zesПостоялецwww10 апр. 20183:15#345
Andrey
> Где BufferStorage ?
а ничего что это 4.4? который на моем рабочем интеле не поддерживается видеокартой (макс 4.3)

> где Samplers ? где MultiBind ?
есть

> где TextureStorage ?
с этим были проблемы, но вообще первоначально было (сейчас закрыто дефайном)

> или ты для каждого объекта будет убого по 1 текстурки ставить на десктопе в 21
> веке?
лолчто?

> нету загрузки текстур
есть же

> сначала загружаем в память
именно так оно сейчас

> нужно в классе image давать некий Callback который сразу с диска булдет
> подавать на
не лучшее решение. С чего image должен знать о текстуре?
да и моими планами на потоки не сработает

> возможно, а возможно его задача объекты создавать, а возможности выплюнуть
> отдельно
Там DX11 стиль - а именно два класса - RenderDevice и RenderContext

war_zesПостоялецwww10 апр. 20183:25#346
MAMOHT-92
> я его спрашивал пару страниц назад, он сказал, что это опыт и ему хочется свой
> фреймворк.
а я отвечал.. ну могу и на примере. Захотелось мне как-то проверить разницу между юниформами и констант буферами... А не на чем. Под рукой тогда не было обертки. Тратить кучу времени на вспомогательный код - не хотелось, но пришлось. Конечно проверил - но не полноценно. На полноценно не хватило сил и времени - все ушло на подготовку к тесту (ну то есть на написание оберток)

Тогда, думаю, и начала зарождаться идея сделать идеальную (для меня) обертку. Чтобы как раз делать такие вещи не тратя лишнее время.

Еще, у меня не такое представление о движках, как у вас. Вы их видите... ну наверное как юнити, с кучей инструментов (90% из которых не нужны проекту).

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

впрочем - это все не значит что я остановлюсь на обертке. Ведь впереди у меня еще 316 дней, а работа над оберткой GAPI подходит к концу

MadwareУчастникwww10 апр. 20186:47#347
war_zes
> Еще, у меня не такое представление о движках, как у вас. Вы их видите... ну наверное как юнити, с кучей инструментов

>есть очень много игр - у которых движков вообще нет. буквально - там прям по хардкору OpenGL по всему коду без всяких оберток

Игровой движок и графический движок это вообще-то совсем разные вещи.
И если второго может и не быть(хоть это и странно, что за игры там? Арканоиды?), то первый в той или иной форме есть всегда

> Ведь впереди у меня еще 316 дней
Такие дедлайны не работают. Должны быть короткие, две-три недели максимум, и причем каждый раз на выходе должно быть что-то что уже имеет осязаемый функционал

Правка: 10 апр. 2018 6:50

war_zesПостоялецwww10 апр. 20187:24#348
Dampire
> Ты за свой движок говори, а не за других.
вот еще одна причина. У меня получается много библиотек. Поэтому нужно сократить количество зависимостей.
Если делать как предлагаешь, то везде придется тащить заголовки 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");
}
//
И теперь если я по забывчивости попробую заюзать Compute шейдер - то будет брошено исключение, что я такого шейдера не сделал. Без всяких лишних проверок

Правка: 10 апр. 2018 7:38

AndreyПостоялецwww10 апр. 20188:48#349
war_zes
> > где Samplers ? где MultiBind ?
> есть
нашел Samplers, MultiBind нету, хотя у тебя 4.1, так что понятно.
> не лучшее решение. С чего image должен знать о текстуре?
не будет image знать о текстуре, а вот грузить изображение он должен, значит прредоставлять возможность дергать Callback на создание текстур, а иначе зачем класс Image ? просто утилита для работы с пикселями? И насколько ВАЖНА такая функциональность для движка в данный момент?
> да и моими планами на потоки не сработает
Это вообще не причем.

innuendoПостоялецwww10 апр. 20189:13#350
я, конечно, мог сказать про multibind & samplers - но промолчу
DampireУчастникwww10 апр. 20189:41#351
innuendo
Семплеры то чем плохи?
innuendoПостоялецwww10 апр. 20189:47#352
Dampire

попробуй поменять независимо анизотропию - получаешь комбинаторный взрыв

war_zesПостоялецwww11 апр. 20188:03#353
пятидесятый день

Решил отойти от абстракций и потихоньку пилю под первую демо. Демо будет двухмерной (возможно платформером).. двухмерное ближе чем 3D, поэтому решил с него.

Что добавляю:
- спрайтовый рендер
- звук
- некий скелет сцены (только под эту демо)

emptiness_rainУчастникwww11 апр. 20189:13#354
war_zes
А почему именно 2д?
war_zesПостоялецwww11 апр. 20189:59#355
emptiness_rain
для 3D еще нужно очень много кода (ну как минимум - загрузка анимаций и мешей, возможно сцена, какое-нибудь разбиение пространства, что-то для обработки столкновений... короче еще долго до этого)
для 2D же большая часть уже готова или делается быстрее

Еще моя ненависть к 2D в юнити...
Если 3D я могу делать в юнити (поэтому движок не горит), то вот 2D я там буду делать только за очень большую зарплату, не для себя и не по фану...
(меня всё раздражает в спрайтовом движке юнити... они конечно начали что-то там добавлять/исправлять... ну лет через десять может и станет как я хочу видеть... а до тех пор не, не буду...)

Я надеюсь эта часть не затянется (ну по срокам две недели максимум)

emptiness_rainУчастникwww11 апр. 201810:58#356
war_zes
> для 3D еще нужно очень много кода (ну как минимум - загрузка анимаций и мешей,
> возможно сцена, какое-нибудь разбиение пространства, что-то для обработки
> столкновений... короче еще долго до этого)
Так в 2д тоже нужна анимация, сцены, разбиение пространства, глубина всякая, частицы, эффекты, коллиизии, и от 3д все это отличается не так уж сильно( чуть проще математика )

> Я надеюсь эта часть не затянется (ну по срокам две недели максимум)
Ну ты хоть опиши тут по пунктам, что входит в эту часть, и тебе ориентир и нам интересно.

DampireУчастникwww11 апр. 201812:01#357
emptiness_rain
> Так в 2д тоже нужна анимация
Покадровая анимация гораздо проще. Даже самая сложная, с ивентами, таймингами и всем таким прочим.
emptiness_rainУчастникwww11 апр. 201812:05#358
Dampire
> Покадровая анимация гораздо проще. Даже самая сложная, с ивентами, таймингами и
> всем таким прочим.
Я больше про скелетку говорил, но покадровую тоже нужно делать и интегрировать в архитектуру.
nesПостоялецwww11 апр. 201812:56#359
2d скелетка выглядит как говно, для него лучше подходит спрайтовая анимация, имхо.
Страницы: 123 24 25 2652 Следующая »

/ Форум / Флейм / ПроЭкты

2001—2018 © GameDev.ru — Разработка игр