Показать все 5 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- OpenGL (https://hlfx.ru/forum/forumdisplay.php?forumid=7)
-- GL_MAX_TEXTURE_IMAGE_UNITS_ARB и GL_MAX_TEXTURE_COORDS_ARB (https://hlfx.ru/forum/showthread.php?threadid=4386)
GL_MAX_TEXTURE_IMAGE_UNITS_ARB и GL_MAX_TEXTURE_COORDS_ARB
Как, всем известно, в FFP режиме текстурных юнитов не может быть более 4.
На данный момент функционал FFP, насколько я знаю, не является аппаратным, а полностью эмулируется. И там просто оставили 4 юнита.
При использовании Cg или GLSL у нас другая картина - там мы опираемся на
GL_MAX_TEXTURE_IMAGE_UNITS_ARB и GL_MAX_TEXTURE_COORDS_ARB.
У меня на GeForce9800GT первый равен 32, а второй - 8.
Первый - это кол-во текстурных юнитов, второй - кол-во текстурных координат. Засада заключается в том, что если я использую более 8 текстурных юнитов, OpenGL выдает GL_ENVALID_ENUM.
Т.е. можно подумать, что он опирается на меньшее значение, хотя, к примеру я текстурных координат использую максимум две штуки, да и те через атрибуты, а не через текскорды.
Почитал вот эту темку: http://www.gamedev.ru/code/forum/?id=32907
где, кстати отметился наш старый знакомец Берсеркер и выяснил такую любопытную вещь:
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
не-не, я разобрался. Всё дело в вызове
glClientActiveTextureARB
если её не вызывать, то ошибка исчезает.
В принципе я давно заметил, что её перестали вызывать, следовательно она нужна только для FFP.
Добавлено 04-05-2014 в 22:07:
А вот, собственно и подтверждение:
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
Низачем. В движке оно, за компанию вызывается.
Добавлено 04-05-2014 в 22:14:
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Временная зона GMT. Текущее время 23:13. | Показать все 5 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024