Member
Статус: Не в сети Регистрация: 12.09.2010 Откуда: Калининград
vasek писал(а):
для игр, именно на этом сосредоточены усилия интел в последнее время, разве нет?
Я не знаю как в последних версиях драйверов, на прошлогодних Mass Effect вылетал при выходе в меню, в оригинальном Half-Life 2 были проблемы с затуманиванием динамических объектов, оригинальный HL2: EO вылетал, а до вылета жутко глючил. Интересно кто станет заниматься заточками шейдеров под конкретную игру - популярный тайтл, когда в популярных тайтлах даже критических ошибки не исправлены
Industrialice Зачем заворачиваться под игры, этого не нужно делать, достаточно единожды получить контрольную сумму определённого участка кода, а затем просто там где этот код попадётся просто заменять его своим, всё это ведь на низком уровне делается, к примеру есть пиксельный шейдер в движке, от игры к игре меняются лишь его настройки сам шейдер один и тот же всегда и компилируется в один и тот же код, если компилятор не менялся.
Этот код используется при создании команд, причём очевидно что он относится к команде -maxdxlevel, я не заметил чтобы он как-то к делу относился.
Этот код как раз определяет будет ли передана константа в шейдер или нет. С чего ты решил что он хоть как то относится к команде -maxdxlevel? Вот исправленная shaderapidx9.dll - http://yadi.sk/d/hHSWMMQW4ZuQs, дым будет менее прозрачным.
vasek писал(а):
всё это оптимизации в дровах, грубо говоря если всё завесить этим дымом то и то что позади него даже рендерить не нужно, скриншоты гляньте за этим туманом даже не просматривается свет и поворот в коридоре, размер сцены заметно меньше выходит, драйвер к примеру по crc32 ловит данный пиксельный шейдер, изменяет константу чем существенно ограничивает дальность видимости, профит.
За дымом ничего не исчезает, сложность сцены от прозрачности дыма практически не зависит.
vasek писал(а):
если нужно что изменить в этом дыму, качните хеликс врапер, сделайте дамп данного пиксельного шейдера, измените его константы как вам это нужно и верните назад грубо говоря.
Если бы этот шейдер использовался только для дыма, то такой способ бы и подошел, но этот шейдер используется в нескольких местах, поэтому так делать нельзя, иначе меняется не только дым: #77
Guzz а зачем чему то исчезать за дымом?, не нужно, немного ведь сквозь него видно, можно ведь упростить рендер того что за фогом этим, или по просту показывать лод если он есть. в общем не знаю я этого движка, но знаю что можно сильно упростить рендер сцены за фогом, то есть грубо говоря прикрыть читы в рендере фогом.
Member
Статус: Не в сети Регистрация: 12.09.2010 Откуда: Калининград
Guzz писал(а):
С чего ты решил что он хоть как то относится к команде -maxdxlevel?
Это выглядит логично если учесть что как раз тут команды инициализируются и этот код приводит к инициализации -maxdxlevel, но если поупорнее посмотреть то видно что тут ещё заполняется какая-то большая структура данными. Может быть тут просто сбивается система пресетов и используется дефольный пресет, что касается не только дыма? У этой структуры есть флаг, как раз перед этой проверкой вендоров он проверяется - если он не установлен то никакой проверки на вендора и не производится - в итоге результат тот же как если вендор не nVidia и не ATi. Делается это в рантайме, нужно найти где этот флаг устанавливается, возможно не спроста сделано определение именно в рантайме
Member
Статус: Не в сети Регистрация: 16.05.2010 Откуда: Ленинград Фото: 554
Vasek
Драйвера то одинаковые,а железо разного поколения и разных возможностей,что Geforce 6 что fx серия,directx 9 Совместимые,не стоит забывать так-же про компилятор шейдерный и его профили оборудования.
Industrialice
Изменение Mat_dxlevel на интеле на альфу не влияет?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 39
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения