HLFX.Ru Forum Страницы (2): « 1 [2]
Показать все 19 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- OpenGL (https://hlfx.ru/forum/forumdisplay.php?forumid=7)
-- D3D11 и D3D_FEATURE_LEVEL_9_1 (https://hlfx.ru/forum/showthread.php?threadid=5369)


Отправлено Дядя Миша 13-10-2019 в 07:15:

Цитата:
Government-Man писал:
То есть сэмплер-стейтов можно забиндить 16, а текстур - всего 8!

в GL я кстати так до конца и не понял насчёт этого ограничения.
Текс-корды я всё равно не использую, но чтобы уложиться в лимиты, стараюсь использовать не более 8 текстурных юнитов. А аттрибутов у вертекса почти всегда не более 16 штук.

Добавлено 13-10-2019 в 10:15:

C++ Source Code:
1
GL_MAX_TEXTURE_SIZE: 16384
2
GL_MAX_TEXTURE_UNITS_ARB: 4
3
GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB: 16384
4
GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB: 16384
5
GL_MAX_ARRAY_TEXTURE_LAYERS_EXT: 2048
6
GL_MAX_TEXTURE_COORDS_ARB: 8
7
GL_MAX_TEXTURE_IMAGE_UNITS_ARB: 32
8
GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB: 4096
9
GL_MAX_VERTEX_ATTRIBS_ARB: 16

Это GT640. 32 юнита, 16 аттрибутов. А в DX вроде как можно до 128 штук передавать.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 13-10-2019 в 09:48:

Цитата:
Government-Man писал:
Ну тогда получается, что это какое-то дурацкое искусственное ограничение для вторых шейдеров на 11-м директе.

Это аппаратное ограничение. У шейдерной модели 2.0 ограничено число varying-блоков для передачи параметров между вершинным и пиксельным шейдерами.
Цитата:
Government-Man писал:
Если это правда, то получается, что на SM2.0 в дх-11 можно использовать только флоат-константы, а булы и инты - нельзя...

Нет в шейдерной модели 2.0 неко ких булов и интов. Если ты их заюзаешь в том же Cg, то компилятор их неявно будет трактовать как флоаты.
Цитата:
Government-Man писал:
максимум из DX9-железа при помощи DX11 не выжать, так что тем кто к этому стремится, логичнее использовать девятый директ.

Какая разница, DX9 или DX11, если мы говорим про аппаратные ограничения?

Добавлено 13-10-2019 в 16:48:

Цитата:
Дядя Миша писал:
в GL я кстати так до конца и не понял насчёт этого ограничения.

GL_MAX_VARYING_FLOATS_ARB

__________________

xaerox on Vivino


Отправлено Government-Man 13-10-2019 в 13:20:

Цитата:
XaeroX писал:
Это аппаратное ограничение. У шейдерной модели 2.0 ограничено число varying-блоков для передачи параметров между вершинным и пиксельным шейдерами.


Я понимаю, но разве нельзя использовать один набор текскоордов для того чтобы засемплить более одной текстуры?

Цитата:
XaeroX писал:
Нет в шейдерной модели 2.0 неко ких булов и интов. Если ты их заюзаешь в том же Cg, то компилятор их неявно будет трактовать как флоаты.


Документация утверждает что есть, правда они довольно специфические.

Цитата:
XaeroX писал:
Какая разница, DX9 или DX11, если мы говорим про аппаратные ограничения?


Если действительно про аппаратные - то никакой. Именно это я и пытаюсь выяснить.


Отправлено XaeroX 13-10-2019 в 14:39:

Цитата:
Government-Man писал:
разве нельзя использовать один набор текскоордов для того чтобы засемплить более одной текстуры?

Я же как раз об этом и написал - можно (и нужно).
Цитата:
Government-Man писал:
Документация утверждает что есть, правда они довольно специфические.

А, ну это константные регистры для условий и циклов.

__________________

xaerox on Vivino


Временная зона GMT. Текущее время 16:15. Страницы (2): « 1 [2]
Показать все 19 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024