Если речь идёт о поддержке старых систем, то нижним порогом лучше всего взять DX9 и SM 2.0. Всё что ниже - это дремучий лес из комбинаторов регистров или env mapping функций, которые не имеют ничего общего с нынешним железом.
v1c
Нижний порог OpenGL 1.0 dx9 будет но позже. Сейчас идея сделать на выбор 4 рендера. GL 1,2,3,4
Готов рендер GL 1.0 для 2d графики. API полностью скрывает под собой реализацию конкретного графического API.
что мне лучше сделать?
В общем я создаю текстуры (объекты, ладно) разными способами: графика, текст + графика, текст + примитивы. Я их могу сохранять и переводить каждую в одну текстуру (мыло мыльное, ну пусть будет объект перевожу в текстуру). Таких объектов до сотни, а может и больше. Какие-то одинаковые по размерам, какие-то нет.
Собственно вопрос вот в чём. Мне лучше делать одну большую текстуру и делить по текстурным координатам или много разных?
Mirrel
> Мне лучше делать одну большую текстуру и делить по текстурным координатам
В большинстве случаев это лучше
Благодарю!
JordanCpp
> Готов рендер GL 1.0
Это какого года видеокарты надо брать, чтобы так низко пасть? 20-25летней давности, или древнее?
stratego
> Это какого года видеокарты надо брать, чтобы так низко пасть? 20-25летней
> давности, или древнее?
Да, 20-25+ лет и древнее. Как мы знаем чем древнее, тем говне...:)
stratego
У меня из древних есть Geforce 6600 GT. Потом приобрету карты на шине pci конец, начало 2000-ых годов.
JordanCpp
> У меня из древних есть Geforce 6600 GT. Потом приобрету карты на шине pci
> конец, начало 2000-ых годов.
У меня это всё есть, если конечно брат не выбросил, у него на даче, на чердаке хранилось - на случай ядерной войны ))
JordanCpp
> Потом приобрету карты на шине PCI
При использовании GL_SAMPLE_ALPHA_TO_COVERAGE иногда видеокарта сама начинает подмешивать к альфе регулярный паттерн дизеринга. Такое происходит и на амд, и на нвидии, причем паттерн одинаковый. На одном и том же ГПУ с одной версией драйвера дизеринг есть, с другой нет. Возможно ли как-то это гарантированно отключить?
Пример, 4xMSAA:
ncuxonaT
Никак это внутри реализации
Можно покурить пример трансперенси11 dxsdk
ncuxonaT
> + Результат в половине случаев:
что интересно ты там такое сделал? Специально сам заливал текстуры? Я не видел, чтоб видеокарты так заливали, если их только не принудят.
ncuxonaT
> GL_SAMPLE_ALPHA_TO_COVERAGE иногда видеокарта сама начинает подмешивать к альфе
> регулярный паттерн дизеринга.
Всмысле иногда? Это как бы всегда так, иначе это хреновый ATOC. А что ты пытаешься в целом сделать то?
innuendo
Странно, что реализация гуляет от гпу к гпу, от драйвера к драйверу.
Mirrel
Ничего не сделал, просто рендерю квад с текстурой. Вот демо (a2c_test_demo), можете проверить на вашей системе, будет ли дизеринг. Результат сохраняется в out.png.
MrShoor
Иногда в смысле на одной системе дизеринг есть, на другой нет. На одном драйвере дизеринг есть, на другом нет.
Хочу сам подмешивать шум и сделать что-то такое: https://www.casual-effects.com/research/Wyman2017Hashed/index.html
Регулярный паттерн, который накладывает сама видеокарта, не даст сделать, к примеру, перекрывающиеся объекты.