Dimich
> В OpenGL сэмплеры так-то тоже отдельно.
не так уж и отдельно
Misanthrope
> не так уж и отдельно
В шейдере нельзя им управлять, да, или ещё что-то?
IBets
> Можно ли не создавать сэмплер для каждой текстуры в шейдере?
Да, можно. Можно декларировать сэмплеры в шейдере как обычные объекты и точно так же, как и все остальные объекты привязывать их с хоста. Только да, это не будет работать на OpenGL. В принципе, если отедльные сэмплеры поддерживаются, то скорее всего должен работать и Вулкан, так что это не должно быть особой проблемой.
Dimich
> В шейдере нельзя им управлять, да, или ещё что-то?
от версии зависит
assiduous
Благодарю
Misanthrope
> от версии зависит
Ну если надо древнее говно типа gles2 поддерживать, то отдельный объект sampler можно и на уровне прослойки сделать, медленнее, но если есть свой state tracker, то нет.
assiduous
> графичкская
Подправь в первом посте :)
Выглядит интересно. Сам думал, что-то подобное написать, но руки так и не дошли.
А какие минимальные версии OpenGL/GLES поддерживаются? Отваливается ли какой-то функционал при этом или он эмулируется?
И какой будет размер бинарника при компиляции минимальной OpenGL версии и без транслятора HLSL в GLSL? Просто интересно, можно ли на нём делать демки для демосцены.
assiduous
фенсы аля dx12?
renderPasses будут?
lookid
> Выложил проект на gamedev.net - круто, удачи, вот баг нашел.
> Выложил проект на gamedev.ru - кек, *авно, унеси неистово откуда принес
Просто автору нужно создать свой форум
https://gamedev.ru/flame/forum/?id=238913&page=4&m=4835636#m47
gammaker
> А какие минимальные версии OpenGL/GLES поддерживаются
OpenGL4.2 на десктопе и OpenGLES3.0 на андроиде. Основное ограничение - не поддерживается многопточность ни для создания ресурсов ни для записи команд. Ну и если нет определнных фич на железе (тесселяции и т.п.), то они тоже не поддерживаются.
> И какой будет размер бинарника при компиляции минимальной OpenGL
Я не задавался целью минизировать размер, но думаю что без транслятора и без C рантайма (сейчас он линкуется статически) можно где-то кб 200-300 сделать. Для демосцены вряд ли это подойдет.
innuendo
> renderPasses будут?
Будут https://github.com/DiligentGraphics/DiligentCore/issues/9
> фенсы аля dx12?
Это вопрос?
Daniil Petrov
> Подправь в первом посте :)
Поправил, спасибо :)
assiduous
> OpenGL4.2 на десктопе и OpenGLES3.0 на андроиде.
А под OpenGL ES 2.0 вообще нет никакой надежды завести? Просто я хотел иметь единую графическую библиотеку, на которой можно писать что угодно для всех актуальных устройств и запускать где угодно, пусть может даже и с ограничением функциональности для GLES 2.0.
Нет, GLES2.0 пока в планах нет. Там нет поддержки юниформных буферов, и это большая проблема для API. Наверное, можно было бы изобрести какой-то обходной путь, но пока есть более важные/интересные задачи.
https://github.com/DiligentGraphics/DiligentEngine/issues/16