Member
Статус: Не в сети Регистрация: 16.05.2010 Откуда: Ленинград Фото: 554
Xenosag писал(а):
есть очень узкоспециализированное замечание связанное с работой рендера в эмуляторе Dreamcast(тестировал в двух разных), почему-то на Радеонах дёргаются текстуры там, где на Нвидии всё идеально. Менял кучу разных драйверов, были надежды на самый новый(ибо была строка с фиксом дёргающихся текстур), но никак это побороть не смог...
Тут вопрос к программистам эмулятора от того какие данные для рендера получит карта 99% зависит от кода эмулятора,официально не поддерживается разработчиками драйверов и они не обязаны этого делать,эмуляция-"как есть" ,без гарантий поддержки и тестов на совместимость. Когда вопрос касается Нативных Directx "движков" тут все понятно,косяк драйверов-фиксим,косяк движка-патч.
В начале Игры когда на площадке стоит вертолёт с вращающимся винтом, на Интел всё в пыли, на АТи пыли чуть. На Интел выглядят эффекты дыма/пыли куда лучше, уж не знаю как там точно разработчики задумывали
Member
Статус: Не в сети Регистрация: 12.10.2012 Фото: 9
а если внимательно прочитать, с осмысленеим, то становится ясно мелок - нагадил, а разрабы не прибрались, хотя со стороны покупателя конечно виноваты производители видюх
Member
Статус: Не в сети Регистрация: 16.05.2010 Откуда: Ленинград Фото: 554
Guzz,Foolleren,Граждане,читайте мой пост выше на 13-ой странице и дискуссию с Industrialice и не выдавайте желаемое за действительное,на современных картах как Амд,так и Nvidia в числе 670,и свежих драйверах,ситуация аналогичная. В ссылке на Иксбит, по скриншотам проблема другого характера нежели в нашем обсуждении, драйвера 5-летней давности)), и карты поколения хд2000. Мы говорим о том что Интел хд3000,судя по скриншотам рендерит дым с ошибкой.
Member
Статус: Не в сети Регистрация: 12.10.2012 Фото: 9
специально для тех кто хочет писать но не хочет читать
Код:
Из-за изменений в API DirectX 10, во всех играх на движке Source неправильно рендерится distance fog
Добавлено спустя 3 минуты 14 секунд: если вдуматься то интел в данном случае единственная шарага которая отрендерила дым так как прописано в API разве нет? а нвидиа и ати пошалили с драйверами потомучто разрабы болт забили
Member
Статус: Не в сети Регистрация: 16.05.2010 Откуда: Ленинград Фото: 554
)))Foolleren,какое отношение контекст нашей дискуссии имеет к этой проблеме?,получается выдираем выводы из одной а подводим это обсуждение под другую проблему. На наших скринах нет выбеленной картинки и с дистанс фогом все в порядке)),и дым рендерится на ати и на нвидия одинаково,достигнуто то ли это фиксом драйвера,или этого бага и не было на этих картах и этих драйверах уже не важно.)) Это разные вещи.
А Речь тут идет о дыме(обратите внимание).Я вам про "А" вы мне про "Б", Если вы не читаете что вам пишут и о чем,то дальнейшую дисскусию в этом вопросе считаю бессмысленной).
Разница в дыме кроется в файле Black Mesa\bin\shaderapidx9.dll, в нем проверяется DeviceID видеокарты и если он от Nvidia(10DE) или от ATI/AMD(1002), то в пиксельный шейдер функцией SetPixelShaderConstantF в константный регистр c1 передается значение 1,1,1,0.27. #77#77#77 Если DeviceID любой другой, то функция SetPixelShaderConstantF не вызывется, соответвенно в регистре c1 будет значение 1,1,1,1. #77
Регистр с1 отвечает за DiffuseModulation т.е. за цвет и прозрачность.
Этот код используется при создании команд, причём очевидно что он относится к команде -maxdxlevel, я не заметил чтобы он как-то к делу относился. Я вообще смотрел на видеокартах 6800 GT и FX 5200 ситуацию - дым там заметно отличается от того что на скриншотах nVidia - на 6800 GT он весьма густой, но не как на HD 3000, на FX 5200 как раз похож на HD 3000 - это при одинаковых драйверах на обеих nVidia, на FX 5200 настройки графики отличаются т.к. она DX 9.0c не держит. Не похоже на привязку лишь к vendor id, но стоит серьёзнее разобраться разу уж такое дело, по-моему как раз похоже на пресеты движка, но не по vendor id лишь. Консольными командами заметно дым мне изменить не удалось. Зачем может понадобиться при прочих равных передавать разную альфу?
Industrialice если нужно что изменить в этом дыму, качните хеликс врапер, сделайте дамп данного пиксельного шейдера, измените его константы как вам это нужно и верните назад грубо говоря.
Member
Статус: Не в сети Регистрация: 16.05.2010 Откуда: Ленинград Фото: 554
Industrialice писал(а):
Зачем может понадобиться при прочих равных передавать разную альфу?
Вопрос хороший,это похоже на перестраховку разработчиков,shaderapidx9 часть source sdk,когда писалось все это карты не ати/нвидия,точно были не удел
Предположение- Думаю альфа в данном случае предается разная как безопасная настройка под не игровое оборудование,дабы избежать проблем не совместимости или артефактов, движок опрашивает вендора,если карта игровая,получает спецификации поддерживаемых directx функций,и ставит свой профиль настроек. С учетом что Source c 2004 по сей день существует в море версий и разных билдов,и каждый год появляется новое железо.тут все понятно.
Можно поиграться с параметром -mat_dxlevel и dxlevel
всё это оптимизации в дровах, грубо говоря если всё завесить этим дымом то и то что позади него даже рендерить не нужно, скриншоты гляньте за этим туманом даже не просматривается свет и поворот в коридоре, размер сцены заметно меньше выходит, драйвер к примеру по crc32 ловит данный пиксельный шейдер, изменяет константу чем существенно ограничивает дальность видимости, профит.
Member
Статус: Не в сети Регистрация: 16.05.2010 Откуда: Ленинград Фото: 554
vasek Тут походу не вопрос драйверов,а в том что Source все-таки очень старый движок,с годами обросший,поддержкой более менее современного оборудования. Командой mat_dxlevel,можно его переключить в любой режим работы вплоть до совместимости с directx7 оборудованием,и в зависимости от железа убрать/добавить багов)))
на 6800 GT он весьма густой, но не как на HD 3000, на FX 5200 как раз похож на HD 3000 - это при одинаковых драйверах на обеих nVidia, на FX 5200
kiberman Заметьте драйвер один и тот же просто применяет оптимизации к разному железу по разному, зачем разработчикам заморачиваться отдельно под каждый девайс, дроводелы это сделают за них, смысл их работы ведь в этом и заключается, я вот про этот движок мало чего знаю, но очень сомневаюсь что разработчики тратили своё время на такие вещи и уж тем более когда он разрабатывался не каких HD 3000 интеловских не было, суть апи в чём он позволяет абстрагироваться от железа, такие моменты будут допилены дроводелами им от этого прямая выгода ведь.
Member
Статус: Не в сети Регистрация: 12.09.2010 Откуда: Калининград
vasek писал(а):
я вот про этот движок мало чего знаю, но очень сомневаюсь что разработчики тратили своё время на такие вещи
Если заглянуть в исходники 2003-го то там можно встретить всякие комментарии типа "FIXME: This is a hack required for NVidia, can they fix in drivers?"
Industrialice Да мало ли что там написано, думаете это помешает к примеру мне поймать какой либо шейдер и подменить его, нет ведь, а разработчикам драйверов и подавно, енб ведь на этом движке работает, работает, значит можно тупо вылавливать шейдер по контрольной сумме, менять и отдавать на устройство.
Industrialice Сомневаюсь что меньше, таким образом ведь можно поднять производительность существенно, то есть разговор уже идёт от том что бы сделать гпу не только для рабочего стола, а и для игр, именно на этом сосредоточены усилия интел в последнее время, разве нет?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 30
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения