• Вход / Регистрация
    Логин:
    Пароль:
Страница 89 из 400«128788899091399400»
Архив - только для чтения
Форум GtaMania.ru » Сайт и форум » Архив » ENB Series GTA 4 (Часть III) (Ваши настройки, инструкции, вопросы и т.д.)
ENB Series GTA 4 (Часть III)
offline
 game47
Дата: Суббота, 2011-05-14, 12:12 | Сообщение # 1
Пользователь
Сообщений: 122
ENB Series GTA 4 (Часть III)












Информация - обязательная к прочтению....
В связи с участившимися случаями чистки огромного количества спама в этой теме, все активные и просто участники данной ветки форума будут предупреждены в последний раз, а те кто не знает или не понимает, в первый...
Все сообщения никаким образом не касающиеся темы обсуждения ENB, будут удаляться, а авторы наказываться без предупреждения...
Для тех, кому не понятно, что изложенно выше - формулировка слегка проще, флуд в данной теме запрещен, причем в любых его проявлениях, спасибо за внимание, надеемся на ваше благоразумие...



Максимальный размер публикуемого изображения без превью, не должен превышать 300px по большей стороне.

Больше 4х скринов , прятать под спойлер!!!


Тэг spoiler используется именно так как показано в п.2.7 правил сайта. Обратите внимание на кавычки и проверьте перед отправкой сообщения, так ли это оформили вы!







[spoiler="ENB Series GTA 4 (FAQ):"]

Для недалеких детей

Цитата

Как включить сглаживание


ForceDisplaySize= - должен быть false
ForceAntialiasing= - данный параметр ставишь true, для включения сглаживанья
ForceAnisotropicFiltering=true
AntialiasingQuality=(-1,0,1,2) -1 или 0 - в три раза умножается разрешение, 1 или 2 - в два раза умножается
DisplayRefreshRateHz=60
DisplayWidth=1280 - разрешение которое будет множиться по горизонтале (т.е. для AntialiasingQuality=2 будет 2560 )
DisplayHeight=720 - разрешение которое будет множиться по вертикали (т.е. для AntialiasingQuality=2 будет 1440 )


при включенном сглаживании разрешение увеличивается , и это ппц , заметно по картинке , но ты не очкуй твою дивизию , нажми Enter не будь лохом и погляди на результат

[spoiler="[PROXY]"]

EnableProxyLibrary=(false/true) - если активно, ENB загружает стороннюю библиотеку прописанную в ProxyLibrary. Это позволяет решить проблемы с несколькими файлами d3d9.dll, которые не могли использоваться без специальных загрузчиков.
InitProxyFunctions=(false/true) - подключение функций сторонней библиотеки. Если вы хотите использовать другой файл .dll, ставьте true.
ProxyLibrary=(file name) - имя сторонней библиотеки которую вы хотите подключить. Запомните, необходимо переименовать файл используемый по умолчанию ENB (d3d9.dll) например в d_d3d9.dll.

[/spoiler]

[spoiler="[GLOBAL]"]

AdditionalConfigFile=enbseries2.ini - если файл существует, то программа будет брать все параметры из него, вместо enbseries.ini по умолчанию. Это очень удобно для быстрого тестирования настроек других пользователей, так как можно изменять выборочно, а не все.
UseEffect=(false/true) - если поставить true то ENB Series будет включаться автоматически с запуском игры, если false то соответственно будет включаться только после нажатия горячей клавиши.
CyclicConfigReadingi>=(false/true) - если этот параметр включен то каждые пять секунд ENB будет обновляться смотря изменения в файле enbseries.ini.
ForceNVidiaCardi>=(false/true) - этот параметр стоит включать только если у вас видеокарта от nVidia
ForceNVidiaCapsi>=(false/true) - простые смертные могут пройти мимо, что касается спецов по шейдерам то, если у вас видеокарта nVidia и у вас есть адаптированные шейдеры DX10 для GTA4 то можете разместить их в папке shaders и включить этот параметр.
[/spoiler]

[spoiler="[ENGINE]"]

ForceDisplaySize=(false/true) - Если в игра не поддерживает вашего разрешения, то включите этот параметр, и впишите свое разрешения в пункты: DisplayWidth=() - Ширина, DisplayHeight=() - Высота. ВНИМАНИЕ! Выбор разрешения большего, чем то, что поддерживается вашим монитором, может привести к его поломке!
ForceAntialiasing=(false/true) - Принудительное включение сглаживания.
ForceDisplayRefreshRate=(false/true) - Если включено, то частота берётся из этого файла(строка DisplayRefreshRateHz=(60..240)) Если выключено, задается игрой.
ForceAnisotropicFiltering=(false/true) - Принудительное включение анизатропии.
MaxAnisotropy=(1..16) - максимальный уровень анизотропии, чем значение выше, тем более резкие текстуры. Обычно значения выставляются 16, 8, 4, 2, так как восприятие различий результата нелинейно. Значение 16 может давать чрезмерную резкость для текстур с резко обозначенными линиями, иногда лучше использовать значение 8. Данный параметр незначительно влияет на скорость, однако если в игре используются сложные алгоритмы с множественной выборкой текстур вроде параллакса, размытия в движении, то скорость может сильно снижаться при высоких значениях этого параметра.
AntialiasingQuality=(-1..2) - качество сглаживания. -1 максимальное качество, 2 минимальное. Не рекомендуется использовать качество -1 и 0, если вы не имеете топ-видеокарту.
AntialiasingUpScale=(0.25..1.0) - масштаб сглаживания. Чем меньше значение тем больше производительность, но картинка становится более размытой.
DisplayRefreshRateHz=(60..240) - частота обновления монитора. ВНИМАНИЕ! Неверное значение может испортить ваш монитор и видеокарту! По стандарту на Windows XP используется 60 Hz, если ваш монитор поддерживает большее значение то может ставить более высокое значение.
DisplayWidth=() - разрешение в ширину. Параметр активен только, если активен ForceDisplaySize.
DisplayHeight=() - разрешение в высоту. Параметр активен только, если активен ForceDisplaySize.
ReflectionsForceHighPrecision=(false/true) - если включен, отражения на транспорте, вычисляются более точно, нежели в оригинале. Что уменьшает количество артефактов таких как, например продолговатые линии на транспорте.
ReflectionsExtremePrecision=(false/true) - если включен то, отражения на транспорте вычисляются ещё более точно, но только при условии, что ReflectionsForceHighPrecision включен.
[/spoiler]

[spoiler="[EFFECT]"]

EnableBloom=(false/true) - включение эффекта bloom, размытие ярких областей экрана и наложение поверх изображения для иммитации сильной освещенности или светимости объектов. Эффект работает достаточно быстро и не является причиной тормозов, однако неправильная его настройка или ошибки в драйверах могут приводить к артефактам вроде переосвещенности изображения. Не использует HDR текстур, поэтому совместимость высока.
EnableAmbientOcclusion=(false/true) - включение эффекта screen space ambient occlusion (SSAO взаимное затенение близких объектов) и screen space indirect lighting (SSIL взаимное освещение ближайших объектов), который относится к next-gen эффектам, соответственно и требования к видеокарте очень высокие. На текущий момент работает только на видеокартах с поддержкой шейдеров версии 3_0. Скорость этого эффекта линейно зависит от разрешения экрана в представлении количества пикселей, поэтому при активации не рассчитывайте на высокие разрешения экрана, если видеокарта не высшей ценовой категории. В любом случае если скорость не устраивает, а настройки этого алгоритма с пониженным качеством не устраивают, уменьшайте разрешение дисплея или отключайте эффект. Данный эффект имеет ограниченную совместимость с видеокартами из-за плохого качества драйверов, а также из-за неверных настроек ENBSeries и игр под ограниченные возможности некоторых моделей видеокарт, а именно антиалиазинг HDR текстур не поддерживается многими видеокартами предыдущего поколения, а в некоторых случаях даже фильтрация этих текстур.
EnableSkyLighting=(false/true) - включает свечение с неба. Это очень полезный эффект, который улучшает качество теней и освещения в игре.
EnableSkyLighting=false:

EnableSkyLighting=true:

UseOriginalPostProcessing=(false/true) - если включен то игра сама обрабатывает пост процессы, если нет то они модифицируются ENB. Вы можете включить этот параметр, если вам не нравится атмосфера созданная ENB.
[/spoiler]

[spoiler="[INPUT]"]

KeyUseEffect=(1..255) - клавиша включения/отключения мода, по умолчанию F12.
KeyCombination=(1..255) - дополнительная клавиша которую нужно нажимать для комбинации клавиш, по умолчанию SHIFT.
KeyScreenshot=(1..255) - клавиша на которую делается скриншот, по умолчанию PRINTSCREEN.
KeyAmbientOcclusion=(1..255) - клавиша включения имитации глобального освещения (SSAO), по умолчанию F10.
[/spoiler]

[spoiler="[BLOOD]"]

ReflectionAmount=(0..10) - количество отражений от крови.
SpecularPower=(0..10) - сила свечения на солнце.
[/spoiler]

[spoiler="[TREE]"]

LeavesReflectionAmount=(0..10) - количество отражений от листвы.
LeavesSpecularPower=(0..10) - сила солнечного свечения от листьев.
LeavesAmbientAmount=(0..10) - освещение при попадании на листья лучей.
LeavesColorMultiplier=(0..10) - мультипликатор цвета, чем выше значение тем листья более насыщены цветом.
LeavesColorPow=(0..10) - глубина цвета листьев. Чем ниже - тем меньше. При значении 0 листья становятся полностью белыми.
[/spoiler]

[spoiler="[LIGHT1], [LIGHT2], [LIGHT3], [LIGHT4], [LIGHT5], [LIGHT6]"]

Каждая секция [LIGHT] отвечает за определёнными объектами освещения.
[LIGHT1] – для света сирен и внутренних огней;
[LIGHT2] – для света уличных фонарей;
[LIGHT3] – для передних фар автомобиля;
[LIGHT4] – для задних фар автомобиля;
[LIGHT5], [LIGHT6] – для огней внутри зданий, и некоторых снаружи.


LightIntensity=(0..10) - общая интенсивность света идущего от его источника.
LightAOAmount=(0..10) - Размер окклюзии в пределах света.
LightILAmount=(0..10) - Размер отражений в пределах света.
EdgeLighteningAmount=(0..10) - размер освещения краев. Этот эффект делает ребра более яркими, объекты выглядят более объемными.
ColorPow=(0..10) - насыщенность цвета света. Чем выше, тем более красочный свет, но тем он и темнее.
LightCurve=(0..10) - Кривая света; чем больше значение, тем выше контрастность света, чем ближе к источнику света, тем ярче, но чем дальше, тем темнее.
[/spoiler]

[spoiler="[CARHEADLIGHT]"]

EmissiveMuliplier=(0..10) множитель свечения света.
LightIntensity=(0..10) интенсивность света от фар автомобиля.
[/spoiler]

[spoiler="[LIGHTSPRITE]"]

UseExternalTexture=(false/true) если включен, ENB загружает дополнительные текстуры спрайтов света определяемые пользователем (enbspritelight.png, enbspritelight.bmp, enbspriteray.png, enbspriteray.bmp).
Intensity=(0..10) интенсивность спрайтов исходящих от ламп.
IntensityInReflection=(0..10) интенсивность спрайтов исходящих от фар автомобилей, и зданий.
UseRays=(false/true) этот параметр отвечает за включение и отключение лучей света исходящих из источников света.
RaysNumber=(0..10) количество лучей исходящих от источника света.
RaysIntensity=(0..10) интенсивность лучей.
RaysRateOfChange=(0..100) уровень изменения лучей. Если значение большое то лучи ведут себя так, как будто они в объективе; кажется, что они вращаются.
RaysLength=(0..10) Длинна лучей. Не стоит ставить слишком большое значение, лучи могут затуманить экран.
[/spoiler]

[spoiler="[CARWINDOWGLASS]"]

ReflectionAmount=(0..10) размер отражений на окнах автомобилей. Чем больше значение, тем ярче изображение.
SpecularPower=(0..100) отражение солнечного света. При высоком значении свет сосредотачивается в одной точке.
SpecularAmount=(0..10) размер солнечного света.
[/spoiler]

[spoiler="[CHROME]"]

ReflectionFront=(0..10) Размер отражений от хромированных деталей автомобиля, когда вы смотрите на другие. Этот параметр вместе с ReflectionSide позволяет моделировать поведение света на поверхности (Fresnel equations, Fresnel reflection) – при взгляде на поверхность под большим углом, отражения более заметны, чем те, на которые вы смотрите.
ReflectionSide=(0..10) Размер отражений на хромированных деталях когда вы смотрите на них под большим углом. Этот параметр вместе с ReflectionFront позволяет моделировать поведение света на поверхности (Fresnel equations, Fresnel reflection) – при взгляде на поверхность под большим углом, отражения более заметны, чем те, на которые вы смотрите.
SpecularPower=(0..100) сила зеркального отражения солнечного света. При высоком значении свет сосредотачивается в одной точке.
SideFade=(0..10) Этот параметр определяет скорость перехода от ReflectionFront к ReflectionSide (и наоборот). Чем больше значение, тем больше заметен переход.
MetallicAmount=(0..10) размер металлического блеска на поверхности.
[/spoiler]

[spoiler="[WHEELS]"]

ReflectionFront=(0..10) Размер отражений от хромированных деталей автомобиля, когда вы смотрите на другие. Этот параметр вместе с ReflectionSide позволяет моделировать поведение света на поверхности (Fresnel equations, Fresnel reflection) – при взгляде на поверхность под большим углом, отражения более заметны, чем те, на которые вы смотрите.
ReflectionSide=(0..10) Размер отражений на хромированных деталях когда вы смотрите на них под большим углом. Этот параметр вместе с ReflectionFront позволяет моделировать поведение света на поверхности (Fresnel equations, Fresnel reflection) – при взгляде на поверхность под большим углом, отражения более заметны, чем те, на которые вы смотрите.
SpecularPower=(0..100) сила зеркального отражения солнечного света. При высоком значении свет сосредотачивается в одной точке.
SideFade=(0..10) Этот параметр определяет скорость перехода от ReflectionFront к ReflectionSide (и наоборот). Чем больше значение, тем больше заметен переход.
MetallicAmount=(0..10) размер металлического блеска на поверхности.
[/spoiler]

[spoiler="[REFLECTION1], [REFLECTION2], [REFLECTION3]"]

Каждая секция [REFLECTION] отвечает за определенный вид автомобилей. [REFLECTION1] - для автомобилей с металлической окраской, например Banshee, или Cavalcade ( MetallicAmount доступен только для них!). [REFLECTION2] - для такси и полицейских машин. [REFLECTION3] - для многих старых автомобилей.

ReflectionFront=(0..10) Размер отражений от хромированных деталей автомобиля, когда вы смотрите на другие. Этот параметр вместе с ReflectionSide позволяет моделировать поведение света на поверхности (Fresnel equations, Fresnel reflection) – при взгляде на поверхность под большим углом, отражения более заметны, чем те, на которые вы смотрите.
ReflectionSide=(0..10) Размер отражений на хромированных деталях когда вы смотрите на них под большим углом. Этот параметр вместе с ReflectionFront позволяет моделировать поведение света на поверхности (Fresnel equations, Fresnel reflection) – при взгляде на поверхность под большим углом, отражения более заметны, чем те, на которые вы смотрите.
SpecularPower=(0..10) сила зеркального отражения солнечного света. При высоком значении свет сосредотачивается в одной точке.
SideFade=(0..10) Этот параметр определяет скорость перехода от ReflectionFront к ReflectionSide (и наоборот). Чем больше значение, тем больше заметен переход.
MetallicAmount=(0..10) размер металлического блеска на поверхности (только для [REFLECTION1]).
[/spoiler]

[spoiler="[BLOOM]"]
BloomQuality=(0..2) качество блума, фактически это количество проходов отрисовки, из которых собирается эффект, но начиная с версии 0.074 скорость весьма высока, чтоб не обращать внимание на качество этого эффекта, ставьте на 0 и не ошибетесь.
BlueShiftAmount=(0..10) Размер синего цвета к блум эффекту.
Radius1=(0..10) первый тип bloom. Исходящие из внутренних объектов.
Radius2=(0..10) второй тип bloom, Исходящие из внешних объектов.
Contrast=(0..10) интенсивность блума, Чем больше значение, тем больше интенсивность.
[/spoiler]

[spoiler="[SSAO_SSIL]"]
ApplyAntialiasing=(false/true) если активно сглаживание будет включено.
SamplingQuality=(-1..2) качество ambient occlusion и indirect lighting (ssao и ssil). -1 означает максимальное качество и низкую производительность. Чем выше качество, тем меньше заметен шум и более детализировано затенение и освещение мелких деталей объектов. В режиме наивысшего качества даже не обязательно качество фильтрации устанавливать максимальным. Данный параметр очень сильно отражается на скорости, кроме того скорость эффекта сильно зависит от разрешения дисплея (количества пикселей на экране).
SamplingRange=(0..1) ssao рендер, чем меньше значение тем качественнее объекты.
SizeScale=(0..1) размер текстуры ssao и ssil эффектов, чем меньше, тем больше производительность и ниже качество.
SourceTexturesScale=(0..1) Тоже самое, что и SizeScale; чем меньше, тем больше производительность и ниже качество.
FilterQuality=(0..2) качество фильтрации шума, производимого алгоритмом ambient occlusion,
0 означает максимальное качество и низкую производительность, однако при этом теряется резкость на ребрах и мелких деталях объектов из-за размытия. Наиболее сбалансированное качество на мой взгляд 1 при SamplingQuality=0 и 1 либо 2 при SamplingQuality=1. Этот параметр сильно влияет на производительность, скорость также зависит от разрешения дисплея.
AOAmount=(0..10) размер окклюзии. Чем выше значение тем больше ssao. Не выставляйте этот параметр слишком большим, Экран станет слишком тёмным, могут появиться артефакты.
ILAmount=(0..10) Размер отражений света. Чем выше значение, тем больше размер ssil.
EdgeLighteningAmount=(0..10) размер освещения краев. Этот эффект делает ребра более яркими, объекты выглядят более объемными.
[/spoiler]

[spoiler="[SHADOW]"]
FilterQuality=(0..2) качество фильтрации теней. 0 – максимальное качество, 2 – низкое качество. Однако фильтрация может сильно снизить производительно, можно обойтись значениями 1 или 2.
[/spoiler]

[spoiler="[ADAPTATION]"]
ForceMinMaxValues=(false/true) - если включен, ENBSeries регулирует яркость.
AdaptationTime=(0..5) - период адаптации к новой яркости. Не стоит ставить большие значения, поскольку адаптация будет видна не у всех.
AdaptationMin=(0..2) - минимальное свечение.
AdaptationMax=(0..2) - максимальное свечение.
AdaptationMinMultiplier=(0..10) - множитель для AdaptationMin.
AdaptationMaxMultiplier=(0..10) - множитель для AdaptationMax.
[/spoiler]

[spoiler="[ENVIRONMENT]"]
DirectLightingIntensity=(0..10) интенсивность прямого освещения.
DirectLightingIntensity=2:

DirectLightingIntensity=10:

NightLightingIntensity=(0..10) интенсивность ночного освещения. Чем больше значение, тем ярче ночь.
DirectLightingCurve=(0..10) Кривая прямого освещения. Чем больше значение, тем выше интенсивность.

DirectLightingCurve=0.1:

DirectLightingCurve=10:

ReflectionAmountMultiplier=(0..10) множитель размера отражений.
=(0..10) множитель зеркального освещения, от солнца.
SpecularPowerMultiplier=(0..10) множитель силы зеркального освещения. При высоком значении свет сосредотачивается в одной точке.

ColorPow=(0..5) сила и размер цвета применяемого ко всем объектам игры. При высоком значении все объекты буду иметь более глубокие цвета. При значении 0, объекты будут белыми.
ColorPow=0:

ColorPow=1:

ColorPow=3:


AmbientSunMultiplier=(0..5) множитель свечения солнца. При высоком значении солнечный свет более интенсивен, а затемнения более темные.
AmbientSkyMultiplier=(0..5) множитель света неба. Чем выше значение, тем свет более мягкий с голубоватым оттенком.
AmbientSunSaturation=(0..5) насыщенность цвета солнечного света. При высоком значении, объекты освещаемые солнцем имею желтоватый оттенок.
AmbientSkySaturation=(0..5) насыщенность цвета небесного освещения. При высоком значении, объекты освещаемые солнцем имею голубоватый оттенок.
[/spoiler]

[spoiler="[SKYLIGHTING]"]
FilterQuality=(0..2) качество фильтрации небесного освещения, 0 – лучшее качество, 2 – худшее качество. Этот параметр не сильно влияет на производительность.
AmbientSunMix=(0..10) плотность солнечного освещения на зданиях. Чем выше значение, тем сильнее здания светятся желтоватым оттенком.
AmbientSkyMix=(0..10) плотность небесного освещения на зданиях. Чем выше значение, тем сильнее здания светятся голубоватым оттенком.
AmbientContrast=(0..10) контрастность этого свечения. Чем выше значение - тем темнее удалённые от неба объекты, и тем ярче объекты близкие к небу.
AmbientMinLevel=(0..10) минимальная яркость небесного света. Чем выше значение, тем объекты ярче.
[/spoiler]

[spoiler="[SKY]"]
AzimuthHeight=(0..10) высота, на которой останавливается азимут. Чем меньше значение тем быстрее небо темнеет. (Имеется ввиду, что небо находящееся ближе к земле ярче, чем то, что находится выше, и чем больше значение, тем меньше переход от яркого к более синему.).
AzimutHeight=1:

AzimutHeight=5:

AzimuthMultiplier=(0..10) множитель азимута. Чем больше значение - тем верхняя часть неба темнее.
AzimuthSunAffectPower=(0..10) сила влияния солнца на азимут. Чем выше значение, тем азимут темнее.
AzimuthSunAffectAmount=(0..10) размер влияния солнца.
TopColorMultiplier==(0..10) множитель цвета верхней части неба. Чем больше значение, тем эта часть неба красочней.
ColorSaturation=(0..10) Общая насыщенность цвета неба. Чем выше значение, тем выше насыщенность.
ColorPower=(0..10) сила цвета неба. При значении 0, небо будет белого цвета.
SunIntensity=(0..10) Интенсивность солнца. Чем выше значение - тем больше освещено небо вокруг солнца.
SunMaxBrightness=(0..100) максимальная яркость солнца.
SunColorFilterR=(0..1) коррекция цвета для солнца. Красный цвет.
SunColorFilterG=(0..1) коррекция цвета для солнца. Зеленый цвет.
SunColorFilterB=(0..1) коррекция цвета для солнца. Синий цвет.

SunColorFilterCurve=(0..10) кривая фильтрации цвета солнца.
SunColorFilterCurve=2.5:

SunColorFilterCurve=10:


SunCoronaCurve=(0..10) кривая кроны солнца.
SunCoronaCurve=1.0:

SunCoronaCurve=10:

SunCoronaIntensity=(0..10) интенсивность кроны солнца. При высоком значении крона более заметная и яркая.
SunDesaturation=(0..10) обесцвечивание цвета солнца.

OverallPower=(0..10) яркость солнца.
OverallPower=1.2:

OverallPower=5:


OverallIntensity=(0..10) Интенсивность яркости неба..
OverallIntensity=1.0:

OverallIntensity=5:

BrightnessUpperLimitMultiplier=(0..10) множитель для лимита яркости неба.
если активно, ENBSeries использует пользовательские текстуры облаков enbclouds.bmp.
кривая облаков. При высоком значении, облака более контрастны, ближе к солнцу более яркие, дальше – более темные. При низком значении облака имеют более простые цвета.
CloudsIntensity=(0..10) Интенсивность облаков. Чем выше значения, тем ярче облака. Если значение очень низкое то облака серые.
CloudsDesaturation=(0..10) обесцвечивание облаков. Чем выше, тем облака более серые и монотонные.
CloudsEdgeClamp=(0..10) отвечает за количество солнечных лучей пробивающихся через облака.
CloudsEdgeIntensity=(0..100) интенсивность яркости краев облаков. Чем выше значение тем более яркие края облаков находящиеся ближе к солнцу.
CloudsEdgeRange=(0..100) этот параметр связан с CloudsEdgeIntensity, но он определяет яркость краев облаков дальше от солнца.
StarsUseCustomTexture=(false/true) если активен, ENBSeries загружает и использует стандартные текстуры из игры.
StarsAmount=(0..10) количество звезд. Чем выше значение, тем больше звезд на небе.
StarsIntensity=(0..10) интенсивность звезд. Чем выше значение, тем видно больше звезд.
StarsBrightness=(0..100) яркость звезд. Чем выше значение, тем звезды более яркие.
MoonIntensity=(0..100) интенсивность луны. Чем больше значение, тем лучше видно луну.
MoonGamma=(0..10) гамма луны. Если параметр растет, то темные области луны ярче – яркость полутонов луны больше.
MoonSize=(0..1) размер луны. Чем больше значение, тем больше луна.
MoonLightingCurve=(0..10) кривая свечения луны. Чем выше значение, тем ярче светит луна.
NightCloudsEdgeClamp=(0..10 отвечает за количество лунных лучей пробивающихся через облака.
NightCloudsEdgeIntensity=(0..100) интенсивность яркости краев облаков. Чем выше значение - тем более яркие края облаков находящиеся ближе к луне.
NightCloudsEdgeRange=(0..100) этот параметр связан с NightCloudsEdgeIntensity, но он определяет яркость краев облаков дальше от луны.
[/spoiler]

copyright by playground

[/spoiler]

[spoiler="FAQ по ENB lite версия для тормозов"]

Как включить сглаживание


ForceDisplaySize= - должен быть false
ForceAntialiasing= - данный параметр ставишь true, для включения сглаживанья
ForceAnisotropicFiltering=true
AntialiasingQuality=(-1,0,1,2) -1 или 0 - в три раза умножается разрешение, 1 или 2 - в два раза умножается
DisplayRefreshRateHz=60
DisplayWidth=1280 - разрешение которое будет множиться по горизонтале (т.е. для AntialiasingQuality=2 будет 2560 )
DisplayHeight=720 - разрешение которое будет множиться по вертикали (т.е. для AntialiasingQuality=2 будет 1440 )
------------------------------------------------

Самый оптимальный патч для ENB - 1.0.0.4 / 1.0.4.0

------------------------------------------------

Поставил кончиг ENB от XXX , а картинка не изменилась. что делать

1. проверьте соответствует ли версия патча тому , под который сделан этот конфиг
2. проверьте снята ли защита с файлов , установлены ли FileCheckFix \ magic patcher и тд

------------------------------------------------

Как синеву с машин и колес убрать

TopColorMultiplier=
ColorSaturation=
ColorPower=
Эти три параметра отвечают за цвет неба. Соответственно, за то, каким образом это будет выглядеть на авто.

------------------------------------------------

Чтоб не было следов сквозь машину

поставить оригинальную для вашего патча папку Shaders

------------------------------------------------

Как от такого яркого белого цвета избавиться

Самый простой способ... Если эффект EnableSkyLighting=true, то понижай в столбце [SKYLIGHTING],
значение параметра AmbientSkyMix=...

А также регулировкой Bloom
ПОнижайте все параметры в разделе [BLOOM]

------------------------------------------------

Как сделать в помещении картинку светлее

увеличивай значение в параметре NightLightingIntensity=... в столбце [ENVIRONMENT]

------------------------------------------------

Как сделать небо чуть чуть голубее?

[SKY]
AzimuthHeight = поставь где-то 7 или 6

------------------------------------------------

Чтоб не было полос на зданиях нужно выставить максимальное качество теней в настройках игры

и в столбце [SHADOW]
FilterQuality=0

------------------------------------------------

Как добавить отражения например домов на машине???

что бы увеличить отражения только на транспорте, крути в этих столбцах... [REFLECTION1], [REFLECTION2] и [REFLECTION3].
1-й отвечает за отражения частного транспорта, 2-й отвечает за такси, полицию и т.д., а 3-й за технический и старый транспорт.

------------------------------------------------

Как сделать чтоб свет от фонарей не был такой яркий?очень яркий ночью и от некоторых окон

[Light1] - для огни сирен и некоторые внутренние огни;
[LIGHT2] - для огнями уличных фонарей;
[LIGHT3] - для передней фары автомобиля;
[LIGHT4] - для задних фонарей автомобиля;
[LIGHT5], [LIGHT6] - для различных огни внутри зданий, а также для некоторых наружных lighs

LightIntensity = (0 .. 10) общей интенсивности света, идущего от источника.
LightAOAmount = (0 .. 10) от окружающего окклюзии из излучающих этого света, видимого в диапазоне от этого света.
LightILAmount = (0 .. 10) количество отраженного света из излучающих этого света, видимого в диапазоне от этого света.
EdgeLighteningAmount = (0 .. 10) количество освещения края. Этот эффект может сделать ребер выпуклых многоугольников ярче для достижения более объемный вид объектов.
ColorPow = (0 .. 10) сила цвета этого света. Чем больше значение, более красочной, но темный свет.
LightCurve = (0 .. 10) Кривая света, если значение больше, то свет более контрастным, поэтому районе недалеко от этого света brigher, но далеко от него более темной.
Если значение равно мало, то свет на почти весь район steadly же мощности

------------------------------------------------

За ровные (не квадратные) отражения от домов,фонарей и.т.п на машинах

точные отражения можно сделать включив в enbseries параметр ReflectionsExtremePrecision=true,
следует помнить, что чем больше разрешение экрана (не диагональ), тем ровнее линии отражений.
а также в [SSAO_SSIL]
ApplyAntialiasing=true

------------------------------------------------

Чтоб убрать лесенки при включенном сглаживании

в эффекте крутить float SharpeningAmount=... крути в минус.

------------------------------------------------

Хочу сделать немного контрастней и ярче, ещё хочу немного больше отражения

DirectLightingIntensity=... яркость. Увеличивая увеличиваешь и наоборот (лучше настраивать в паре с AdaptationMin=... оба надо увеличивать)
ReflectionAmountMultiplier=... интенсивность отражений на всех отражающих поверхностях. Увеличивая увеличиваешь и наоборот

------------------------------------------------

Обычно настройки многих параметров влияют на преломления света в стёклах оптики, потребуется тонкая настройка, так же придётся поднастраивать и другие, что бы не испортить картинку, от освещения и теней многое зависит, но отражения и отблеск от всех стеклянных и отражающих поверхностей регулирует SpecularPower, в столбце [CARWINDOWGLASS]. По умолчанию выставляется самое высокое значение 100, но если его выставить скажем на 60-70, стёкла немного более реалистичны.

------------------------------------------------

Как понизить яркость свечения ангельских глазок у "бэхи"?

[CARHEADLIGHT]
LightIntensity=надо понизить значение, если 2, ставьте 1.

------------------------------------------------

Как сделать тени темнее

[ENVIRONMENT]
AmbientSkyMultiplier=... тени. Увеличивая делаешь тени светлее и наоборот.

------------------------------------------------

Как сделай ночь темнее

NightLightingIntensity=... яркость в тёмное время суток. увеличивая увеличиваешь яркость.[/spoiler]




[spoiler="Guide to new InjectFXAA \ Руководство по новому режиму сглаживания InjectFXAA"]
1. Что это, и с чем это едят?
- FXAA - новый режим сглаживания от NVidia. Требует значительно меньших ресурсозатрат, сравнительно с АА (сглаживанием) от ENB.

2. Зачем он нужен?
- Если у вас GTX580 3Gb и круче, вы имеете 30+ фпс с АА=0 - то можете дальше не читать. Если же Ваше железо не столь топовое, и не тянет игру с АА - то выходом будет установка InjectFXAA.
[spoiler="InjectFXAA:"]
FXAA 3.11 v8 Beta
Inject FXAA 3.11 Beta9 + PP Beta
Inject FXAA Beta9 + PP V2 Beta
Inject FXAA Beta9 + PP V3 with Sharpening Beta
Inject FXAA v.9 Выбор редакции![/spoiler]
[spoiler="Установка:"]
- Файл "d3d9.dll" уже находящийся в корне игры, удалять\переименовывать НЕ НАДО! Это ENB.
- Качаем любой из архивов FXAA, предложенных выше.
- Идём в папку "d3d9".
- Переименовываем "d3d9.dll" в "d3d9_fxaa.dll" (можете переименовать в любой, хоть в "Inoob.dll").
- Кидаем все файлы из папки "d3d9" в корень игры (там где экзешник,кряк).
- Открываем файл енб "enbseries.ini"
прописываем там:
[PROXY]
EnableProxyLibrary=true
InitProxyFunctions=true
ProxyLibrary=d3dx9_fxaa.dll (или так, как переименовали вашу dll).
- Сохраняем файл.
- Играем.
- Наглядно в игре увидеть разницу можно нажав клавишу "Pause".
- У кого не попрёт сразу, обновите библиотеки DirectX (Загрузка и установка DirectX).
- Если Вы использовали старый метод FXAA, то файл effect.txt (option.txt) надо удалить, ибо он будет мешать.
- Если Вы не пользовались до этого эффектом FXAA, то файл effect.txt (option.txt) можете не удалять. Он также работает.[/spoiler]
[spoiler="MiniFAQ"]
Вопрос: "Я установил новый FXAA, а игра безбожно глючит, что делать?!"
Ответ: Ты криворукий петух. FXAA не жрёт фпс, тобишь на производительность игры не влияет. Это тупо совпадение. Выпрямлением рук на форуме не занимаются.

Вопрос: "Зачем в архиве папка "d3d10"?
Ответ: Она не для ГТА. Она для
Цитата
для других игр, Дед спэйс 2, например, или какой-нибудь дерт. Там можно такие эе эффекты юзать как в енб, так считай апдейт ЕНБ для игр на дх11 и 10, но не от Бориса. Это образно говоря.
Во всяком случае в ридми написано, что можно подключать другие эффекты, шейдеры, для "демо" там есть шарп. Кроме того, теперь есть возможность использовать сразу несколько эффектов, для других игр(мафия, например. С обычным енб там либо шарп, дибо фхаа, либо цветокорекция, а с этим типа все сразу можно).


Вопрос: "После установки FXAA игра не запускается, что делать?!"
Ответ: Попробовать перезагрузиться. И запускать игру повторно, до успешного запуска)

Вопрос: "После установки FXAA игра требует некую библиотеку .dll для запуска, что делать?!"
Ответ: Обновить DirextX. Ссылка выше!

Вопрос: "После установки FXAA картинка в игре стала менее чёткой, что делать?!"
Ответ: Удалить файл Sharpen.h [/spoiler][/spoiler]

[spoiler="Можно кстати и через дрова Nvidia врубать Fxaa"]
Цитата Black_D
Можно кстати и через дрова Nvidia врубать Fxaa,немного изменив реестр.Хз нужно ли это в гта,но решил запостить)

Цитата
HKEY_LOCAL_MACHINE\SOFTWARE\NVIDIA corporation\Global\NVTweak ,
создать DWORD значение с именем "EnableSRS1442" и установить значение в "1"


И включить его в панели управления NVidia

[/spoiler]

[spoiler="Результат работы FXAA"]
Скрин номер один
Скрин номер два
[/spoiler]

[spoiler="Fxaa The Best Download link"]http://www.mediafire.com/?lvtlh6cyvt27iex[/spoiler]
















 
offline
 portal-2x2
Дата: Пятница, 2011-11-11, 10:54 | Сообщение # 1321
Гангстер
Сообщений: 1252
AgainstAllAutority, Вот поэтому я бьюсь как уж на сковородке уже 3й день пытаясь через FX Composer вставить этот код, но все заканчивается ошибкой синтаксиса либо запретом на защищенную зону, при этом требуя убрать вертексный шейдер целиком %) Вот кстати интересная ссыль на год-райс http://xna-uk.net/blogs....le.aspx


GA-Z87X-OC,32gb DDRIII 2.4ghz,I7 4770k,Corsair H100i,GTX 690,SSD 256gb, 2XWD Velociraptor 1tb, Corsair RM1000w, Corsair Obsidian 900D
46.174.54.213:55555 CSS


Сообщение отредактировал portal-2x2 - Пятница, 2011-11-11, 10:55
 
offline
 dpeasant3
Дата: Пятница, 2011-11-11, 10:58 | Сообщение # 1322
Пользователь
Сообщений: 414
AgainstAllAutority, в самом начале файла задана, как-бэ
float4 _v0=0.0;
_v0.xy=IN.txcoord0.xy;
rgb - цвета
xyz - яркость
portal-2x2, наверно потому, что у него часть параметров от балды переименовано, не?


v1.2a - 22.04.2011.
http://www.sendspace.com/file/g4nex3
v1.3OPENBETA 01.11.2011
http://depositfiles.com/files/jmfj2mtqt


Сообщение отредактировал dpeasant3 - Пятница, 2011-11-11, 11:01
 
offline
 portal-2x2
Дата: Пятница, 2011-11-11, 11:02 | Сообщение # 1323
Гангстер
Сообщений: 1252
dpeasant3, Нет я такого не наблюдал, он мне поначалу ссылался на adaptluminsampler я убрал это:
/************* и он сразу начал ссылатся на вертекс, если убить вертекс то все работает crazy

Добавлено (11.11.2011, 11:02)
---------------------------------------------
dpeasant3, [spoiler="Енбэффект айса"]
//
// iCEnhancer.
// Codes & Shaders are made by ICELAGLACE & DPEASANT3 & DKT70 & GP65CJ04 & DECOMPILED BY BORIS VORONTSOV
// You steal, you die.
//
///////////////////////////////////////////////////////////////////////
// Change this value if you don't want some vignetting around the image.

float VignetteAmount = 0.15;

// sampler2D AdapLumSampler;
// sampler2D BloomSampler;
// float4 ColorCorrect;
// float4 ColorShift;
// float Exposure;
// sampler2D GBufferTextureSampler2;
// sampler2D GBufferTextureSampler3;
// sampler2D HDRSampler;
// sampler2D JitterSampler;
// float PLAYER_MASK;
// sampler2D StencilCopySampler;
// float4 TexelSize;
// float4 ToneMapParams;
// float4 deSatContrastGamma;
// float4 dofBlur;
// float4 dofDist;
// float4 dofProj;
// float gDirectionalMotionBlurLength;
// float4 globalScreenSize;
// row_major float4x4 motionBlurMatrix;
//
//
// Registers:
//
// Name Reg Size
// ---------------------------- ----- ----
// globalScreenSize c44 1
// Exposure c66 1
// motionBlurMatrix c72 4
// TexelSize c76 1
// dofProj c77
// dofDist c78 1
// dofBlur c79 1
// gDirectionalMotionBlurLength c80 1
// ToneMapParams c81 1
// deSatContrastGamma c82 1
// ColorCorrect c83 1
// ColorShift c84 1
// PLAYER_MASK c85 1
// GBufferTextureSampler2 s0 1
// GBufferTextureSampler3 s1 1
// HDRSampler s2 1
// BloomSampler s3 1
// AdapLumSampler s4 1
// JitterSampler s5 1
// StencilCopySampler s6 1

//quad
struct VS_OUTPUT_POST
{
float4 vpos : POSITION;
float2 txcoord0 : TEXCOORD0;
};
struct VS_INPUT_POST
{
float3 pos : POSITION;
float2 txcoord0 : TEXCOORD0;
};

//int4 _i0 : register(i0);

/*
float4 _c0 : register(c0);
float4 _c1 : register(c1);
float4 _c2 : register(c2);
float4 _c3 : register(c3);
float4 _c4 : register(c4);
float4 _c5 : register(c5);
float4 _c6 : register(c6);
*/
float4 _c44 : register(c44);
float4 _c66 : register(c66);
float4 _c72 : register(c72);
float4 _c73 : register(c73);
float4 _c74 : register(c74);
float4 _c75 : register(c75);
float4 _c76 : register(c76);
float4 _c77 : register(c77);
float4 _c78 : register(c78);
float4 _c79 : register(c79);
float4 _c80 : register(c80);
float4 _c81 : register(c81);
float4 _c82 : register(c82);
float4 _c83 : register(c83);
float4 _c84 : register(c84);
float4 _c85 : register(c85);
float maxi : register(c86);
float temp : register(c87);

texture2D texs0 : register(s0);
texture2D texs1 : register(s1);
texture2D texs2 : register(s2);
texture2D texs3 : register(s3);
texture2D texs4 : register(s4);
texture2D texs5 : register(s5);
texture2D texs6 : register(s6);
texture2D texs7 : register(s7);
texture2D texs13 : register(s13);//palette
texture2D texs15 : register(s15);
//sampler2D s0=sampler_state { Texture=<texs0>; };
//sampler2D s1=sampler_state { Texture=<texs1>; };
sampler2D s2=sampler_state { Texture=<texs2>; };
//sampler2D s3=sampler_state { Texture=<texs3>; };
sampler2D s4=sampler_state { Texture=<texs4>; };
sampler2D s5=sampler_state { Texture=<texs5>; };
sampler2D s6=sampler_state { Texture=<texs6>; };
sampler2D s7=sampler_state { Texture=<texs7>; };
//sampler2D s13=sampler_state { Texture=<texs13>; };
sampler2D s15=sampler_state { Texture=<texs15>; };

//next samplers states fixing problems on ATI cards
sampler2D s0 = sampler_state
{
Texture = <texs0>;
MinFilter = LINEAR;//
MagFilter = LINEAR;//
MipFilter = NONE;//NONE;//LINEAR;
AddressU = Clamp;
AddressV = Clamp;
SRGBTexture=FALSE;
MaxMipLevel=0;
MipMapLodBias=0;
};

sampler2D s1 = sampler_state
{
Texture = <texs1>;
MinFilter = LINEAR;//
MagFilter = LINEAR;//
MipFilter = NONE;//NONE;//LINEAR;
AddressU = Clamp;
AddressV = Clamp;
SRGBTexture=FALSE;
MaxMipLevel=0;
MipMapLodBias=0;
};

sampler2D s3 = sampler_state
{
Texture = <texs3>;
MinFilter = LINEAR;//
MagFilter = LINEAR;//
MipFilter = NONE;//NONE;//LINEAR;
AddressU = Clamp;
AddressV = Clamp;
SRGBTexture=FALSE;
MaxMipLevel=0;
MipMapLodBias=0;
};
/*
sampler2D s5 = sampler_state
{
Texture = <texs5>;
MinFilter = GaussianQuad;//
MagFilter = GaussianQuad;//
MipFilter = NONE;
AddressU = Wrap;
AddressV = wrap;
SRGBTexture=FALSE;
MaxMipLevel=0;
MipMapLodBias=0;
};
*/

sampler2D s13 = sampler_state
{
Texture = <texs13>;
MinFilter = LINEAR;
MagFilter = LINEAR;
MipFilter = NONE;
AddressU = Clamp;
AddressV = Clamp;
SRGBTexture=FALSE;
MaxMipLevel=0;
MipMapLodBias=0;
};

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

float4 PS_C215BE6E(VS_OUTPUT_POST IN) : COLOR
{
float4 _oC0=0.0; //output

float4 _c0=float4(0, 0.212500006, 0.715399981, 0.0720999986);
float4 _c1=float4(0.25, 1, 256, 0);
float4 _c2=float4(0, 2, 4, 8);
float4 _c3=float4(58.1640015, 47.1300011, 0, 0);
float4 _c4=float4(-0.5, -1.5, 1.5, 0.5);
float4 _c5=float4(2, -1, 0.125, 0);
float4 _c6=float4(256, 2, 4, 8);
//mine
float4 _c7=float4(1.0, 0.1, 0.8, 1.0);
float4 _c8=float4(0.0, 0.1, 0.8, 0.333);
float4 _c9=float4(0.06, 0.1, 0.8, 0.1);
float4 _c10=float4(0.01, 1.4, 0.0, 0.32);
float4 _c11=float4(0.333333, 1.0, 0.0, 0.0);
//float4 _c12=float4(0.27, 0.67, 0.06, 0.0);
float4 _c12=float4(0.299, 0.587, 0.114, 0.0);
float4 _c13=float4(0.0, 0.0, 0.0, 0.00001);
float4 _c150=float4(0.55, 0.9, 0.85, 0.9);
float4 _c195=float4(0.0, 0.0, 0.0, 0.07);//0.7

float4 r0;
float4 r1;
float4 r2;
float4 r3;
float4 r4;
float4 r5;
float4 r6;
float4 r7;
float4 r8;
float4 r9;
float4 r10;
float4 r11;

float4 _v0=0.0;
_v0.xy=IN.txcoord0.xy;

r1=tex2D(s2, _v0.xy); //HDRSampler
r2=tex2D(s3, _v0.xy); //BloomSampler

//*************************

float2 center;
float depth;
float focus;


r0=tex2D(s1, _v0.xy); //GBufferTextureSampler3
r0.y=-_c77.x + _c77.y; //-dofProj.x + dofProj.y
r0.y=1.0/r0.y;
r0.z=r0.y * _c77.y; //dofProj.y
r0.z=r0.z * -_c77.x; //dofProj.x
r0.x=_c77.y * -r0.y + r0.x;
r0.x=1.0/r0.x;
r0.y=r0.z * r0.x;

r0.w=abs(_c79.w);
r3=_c4; //-0.5, -1.5, 1.5, 0.5

depth=r0.z * r0.x - _c78.w; //dofDist.w
depth+=_c78.y * -r3.w; //dofDist.y
depth+=148;//offset
center.x=_v0.x-0.5;
center.y=0.5-_v0.y;

float4 vDofParams = float4(-50, 1.5, 50000, 1);

//*************************************

float2 FocusPoint = float2(0.5, 0.45);
r4=tex2D(s1, FocusPoint); //GBufferTextureSampler3
r4.y=-_c77.x + _c77.y; //-dofProj.x + dofProj.y
r4.y=1/r4.y;
r4.z=r4.y * _c77.y; //dofProj.y
r4.z=r4.z * -_c77.x; //dofProj.x
r4.x=_c77.y * -r4.y + r4.x;
r4.x=1/r4.x;
r4.y=r4.z * r4.x;

float cdepth;

cdepth=r4.z * r4.x - _c78.w; //dofDist.w
cdepth+=_c78.y * -r3.w; //dofDist.y
cdepth+=148;//offset


r4.w = tex2D(s0, FocusPoint).w;
if(r4.w > 0)
{
vDofParams.z = cdepth*6.0;
vDofParams.y = cdepth;
}

//**************

depth = max(depth, 0); //fix zoom bug

float dist;

if(depth < vDofParams.y)
dist = (depth - vDofParams.y)/(vDofParams.y - vDofParams.x);
else
{
dist = (depth - vDofParams.y)/(vDofParams.z - vDofParams.y);
dist = clamp(dist, 0, vDofParams.w);
}

dist = dist * 0.5 + 0.5;

static float3 poisson[8]=
{
float3(0.0, 0.0, 1.0), //0 degrees
float3(0.527, -0.085, 1.0),
float3(-0.040, 0.536, 1.0 ),
float3(-0.670, -0.179, 1.0 ),
float3(-0.419, -0.616, 1.0 ),
float3( 0.440, -0.639, 1.0), //45 degrees
float3(-0.757, 0.349, 1.0 ),
float3(0.574, 0.685, 1.0),
};

float2 pixelSizeHigh;
float2 pixelSizeLow;

pixelSizeHigh.x = 1.000 / _c44.x;
pixelSizeHigh.y = 1.000 / _c44.y;

//pixelSizeHigh.x = 2.0 / _c44.x;
//pixelSizeHigh.y = 2.0 / _c44.y;

pixelSizeHigh.xy *= 1.0;

pixelSizeLow.xy = pixelSizeHigh.xy;

float2 vMaxCoC = float2(5.0, 10.0);

float radiusScale = 0.4;

float discRadius;
float discRadiusLow;
float centerDepth;
float4 tdepth;

float4 tapHigh;
float4 tapLow;

centerDepth = dist;

discRadius = abs(centerDepth * vMaxCoC.y - vMaxCoC.x);
discRadiusLow = discRadius * radiusScale;

r1 = 0.0;

for(int t = 0; t < 8; t++)
{
float2 coordLow = _v0.xy + (pixelSizeLow.xy * poisson[t].xy * discRadiusLow);
float2 coordHigh = _v0.xy + (pixelSizeHigh.xy * poisson[t].xy * discRadius);

tapLow = tex2D(s2, coordLow.xy) * poisson[t].z;
tapHigh = tex2D(s2, coordHigh.xy) * poisson[t].z;

tdepth = tex2D(s1, coordHigh.xy); //GBufferTextureSampler3
tdepth.y = -_c77.x + _c77.y; //-dofProj.x + dofProj.y
tdepth.y = 1.0 / tdepth.y;
tdepth.z = tdepth.y * _c77.y; //dofProj.y
tdepth.z = tdepth.z * -_c77.x; //dofProj.x
tdepth.x = _c77.y * -tdepth.y + tdepth.x;
tdepth.x = 1.0 / tdepth.x;

tdepth.w = tdepth.z * tdepth.x - _c78.w; //dofDist.w
tdepth.w += _c78.y * -r3.w; //dofDist.y
tdepth.w += 148;//offset

tdepth.w = max(tdepth.w, 0); //fix zoom bug

if(tdepth.w < vDofParams.y)
tapHigh.w = (tdepth.w - vDofParams.y)/(vDofParams.y - vDofParams.x);
else
{
tapHigh.w = (tdepth.w - vDofParams.y)/(vDofParams.z - vDofParams.y);
tapHigh.w = clamp(tapHigh.w, 0, vDofParams.w);
}

tapHigh.w = tapHigh.w * 0.5 + 0.5;

tapLow.w = tapHigh.w;

float tapBlur = abs(tapHigh.w * 2.0 - 1.0);
float4 tap = lerp(tapHigh, tapLow, tapBlur);

if(tap.w >= centerDepth) tap.w = 1;
else tap.w = abs(tap.w * 2.0 - 1.0);

r1.xyz += tap.xyz * tap.w;
r1.w += tap.w;

}

r1.xyz /= r1.w;

//float4 dofcolor = r1;

//dofcolor.w = r1.w / DoF_TAPS;

//***************

r1.w=dot(r1.xyz, r1.xyz); //dp3
r1.w=1.0/r1.w;

//if (-r1.w<0.0) r3 = r1;
//else r3 = _c0.x;

r3 = lerp(_c0.x, r1, saturate(r1.w * 10000));

r4 = r3;
r5 = r3;
r6 = r3;
r7 = r3;

r0.x=r0.z * r0.x - _c78.w; //dofDist.w
r0.x=_c78.y * -r3.w + r0.x; //dofDist.y
r1.w=max(r0.x, _c0.x); //0.0
r0.x=1.0/_c78.z; //dofDist.z
r0.x=r1.w * r0.x;
r1.w=lerp(_c79.y, _c79.z, r0.x);//dofBlur
r0.x=min(_c79.z, r1.w); //dofBlur.z

r0.z=dot(r7.xyz, _c0.yzw); //0.212500006, 0.715399981, 0.0720999986
r8.x=dot(r3.xyz, _c0.yzw); //0.212500006, 0.715399981, 0.0720999986
r8.y=dot(r4.xyz, _c0.yzw); //0.212500006, 0.715399981, 0.0720999986
r8.z=dot(r5.xyz, _c0.yzw); //0.212500006, 0.715399981, 0.0720999986
r8.w=dot(r6.xyz, _c0.yzw); //0.212500006, 0.715399981, 0.0720999986
r1.w=dot(r8, _c1.xxxx); //0.25

r8=r8 - r1.w;
r2.w=dot(r8, r8);
r0.z=r0.z - r1.w;
r0.z=r0.z * r0.z - r2.w;
r0.x=r0.x*r0.x;
if (r0.z<0.0)
{
r0.x=r0.x;
} else r0.x=_c1.y; //1.0

r8=tex2D(s0, _v0.xy); //GBufferTextureSampler2

r8.yz=_c1.yz; // 1.0, 256.0
r9=r8.w * -r8.z + _c2; //0, 2, 4, 8
if (r9.w<0.0) //r9<0.0
{
r9=_c1.w; //0.0
} else r9=_c1.y; //1.0
//r9 is filtered sky mask

//r10=r8.w + tempc6;//c6.yzwx; //256, 2, 4, 8
r10=r8.w * -_c6.x + _c6.yzwx; //256, 2, 4, 8

if (r10.x<0.0)
{
r10.x=-_c1.w; //0.0
} else r10.x=-_c1.y; //1.0

if (r10.y<0.0)
{
r10.y=-_c1.w; //0.0
} else r10.y=-_c1.y; //1.0

if (r10.z<0.0)
{
r10.z=-_c1.w; //0.0
} else r10.z=-_c1.y; //1.0

if (r10.w<0.0)
{
r10.w=-_c1.w; //0.0
} else r10.w=-_c1.y; //1.0

r9=r9 + r10;
r9=r9 * _c4.x; //-0.5

r0.z=dot(r9, _c1.yyyy); //1.0
r0.z=r0.z + _c4.w; //0.5
r0.z=1.0/r0.z;
r8.xzw=r3.xyz * r9.x;

r7.xyz=r7 * _c4.w + r8.xzw; //0.5
r7.xyz=r4 * r9.y + r7;
r7.xyz=r5 * r9.z + r7;
r7.xyz=r6 * r9.w + r7;
r7.xyz=r0.z * r7;
r0.z=-r0.x + _c1.y; //1.0
r1.w=r0.x * _c1.x; //0.25

r3.xyz=r3 * r1.w;
r3.xyz=r7 * r0.z + r3;
r3.xyz=r4 * r1.w + r3;
r3.xyz=r5 * r1.w + r3;
r3.xyz=r6 * r1.w + r3;

//r4.xyz=_v0.yxy * _c5.x + _c5.y; //2, -1
r4.x=_v0.y * _c5.x + _c5.y;
r4.y=_v0.x * _c5.x + _c5.y;
r4.z=_v0.y * _c5.x + _c5.y;

r0.z=r4.y * _c77.z; //dofProj.z
r0.z=r0.y * r0.z;
r1.w=-r4.x * _c77.w; //dofProj.w
r1.w=r0.y * r1.w;
r5.xyz=r1.w * _c73; //motionBlurMatrix.2
r5.xyz=r0.z * _c72 + r5; //motionBlurMatrix.1
r5.xyz=-r0.y * _c74 + r5; //motionBlurMatrix.3
r5.xyz=r5 + _c75; //motionBlurMatrix.4

r0.y=-r5.z * _c77.z; //dofProj.z
r0.y=1/r0.y;
r6.x=r5.x * r0.y;
r0.y=r5.z * _c77.w; //dofProj.w
r0.y=1/r0.y;
r6.y=r5.y * r0.y;
//r0.yz=-r4 + r6.xxyw;
r0.yz=-r4.yz + r6.xy;

//r0.yz=r0 * _c80.x; //gDirectionalMotionBlurLength.x
r0.y=r0.y * _c80.x;
r0.z=r0.z * _c80.x;
r4.xy=r0.yz * _c5.z; //0.125
r5=tex2D(s6, _v0.xy); //StencilCopySampler
r1.w=r5.x - _c85.x; //PLAYER_MASK.x
r4.zw=r3.xy * _c2.w; //8.0
r4.zw=_v0.xy * _c3.xy + r4.zw; //58.1640015, 47.1300011
r5=tex2D(s5, r4.zw); //JitterSampler
//r2.w=r5.x - 0.5; //-0.5
r4.zw=r4.xy * (r5.x - 4) + _v0.xy; //0.082 fixed
r5.xyz=r3.xyz;
r2.w=_c1.y; //1.0
r3.w=_c1.y; //1.0

for (int iii=0; iii<25; iii++)
{
r6.x=r4.x * r3.w + r4.z;
r6.y=r4.y * r3.w + r4.w;
r7=tex2D(s6, r6.xy);
r5.w=r7.x - _c85.x;
if (r5.w<-0.3)
{
r5.w=_c1.y; //1.0
} else r5.w=_c1.w; //0.0
r6=tex2D(s2, r6.xy);
r5.xyz=r6.xyz * r5.w + r5.xyz;
r2.w=r2.w + r5.w;
r3.w=r3.w + _c1.y; //1.0
}

r2.w=1.0/r2.w;

//r0.yz=r0 * _c44.xxyw; //globalScreenSize
r0.y=r0.y * _c44.x; //globalScreenSize
r0.z=r0.z * _c44.y; //globalScreenSize

r0.y=dot(r0.yz, r0.yz)+_c0.x;//dp2

//r0.y=sqrt(r0.y);
//r0.y=1.0/r0.y;
r0.y=pow(r0.y, _c4.w); //0.5

r0.y=r0.y * _c4.w; //0.5
r0.x=r0.x + _c1.y; //1.0
r0.x=1.0/r0.x;
//r0.y is wrong
r0.x=saturate(r0.y * r0.x);
r4.xyz=r5 * r2.w - r3;
r0.xyz=r0.x * r4 + r3;

//_oC0.xyz=0.5*r0.xyz;

if (-r1.w<0.0) r0.xyz=r3.xyz;
if (-r0.w<0.0) r0.xyz=r1.xyz;

//for future use
r11=r0;

r1=tex2D(s4, _c0.x); //AdapLumSampler , 0.0
r0.w=1.0/r1.x;
r0.w=r0.w * _c81.y; //ToneMapParams.y
r1.x=1.0/r0.w;
r1.x=r1.x * _c81.x; //ToneMapParams.x
r1.xyz=r2 * _c66.x - r1.x; //Exposure.x
r2.xyz=max(r1, _c0.x); //0.0
r1.xyz=r2 * _c81.z; //ToneMapParams.z
r1.xyz=r1 * _c1.x; //0.25
r0.xyz=r0 * _c66.x + r1; //Exposure.x
r1.xyz=r0.w * r0;
r1.x=dot(r1.xyz, _c0.yzw); //0.2125, 0.7154, 0.0721
r0.xyz=r0 * r0.w - r1.x;
r0.xyz=_c82.x * r0 + r1.x; //deSatContrastGamma.x
r0.w=r1.x * _c84.w; //ColorShift.w
r1.yzw=r0.w * _c84.xxyz; //ColorShift

//darken as DarkeningAmount, but keeps colors
r2.x=saturate(r0.w);
r0.xyz=r0.xyz - _c84.xyz * r0.w; //ColorShift
r0.xyz=r2.x * r0.xyz + r1.yzww;

//coloring (green, brown, ...)
r0.xyz=2.0 * r0.xyz * _c83.xyz; //ColorCorrect

//keeps colors, changes luma
r1.x=saturate(r1.x);//luma
r0.w=_c82.z - _c1.y; //deSatContrastGamma.z - 1.0
r2.x=pow(r1.x, r0.w);

_oC0.xyz=r0.xyz * r2.x; //orig
_oC0.w=_c1.y; //1.0

//*******************

float4 color = r11;
float4 origcolor = tex2D(s2, _v0.xy);

r5=tex2D(s4, _c0.x);//adaptation luminance
r5.w=r5.x;
r5.w=1.0/r5.w;
color.xyz=color.xyz * r5.w;



float4 colorbloom = tex2D(s3, _v0.xy);//0.5
colorbloom *= r5.w;
colorbloom.r*=lerp(0.5, 1.8, saturate(pow(depth/250.0, 0.5)));
colorbloom.g*=lerp(0.5, 1.8, saturate(pow(depth/250.0, 0.5)));
colorbloom.b*=lerp(0.5, 1.3, saturate(pow(depth/250.0, 0.5)));

//increase color

float cgray=dot(color.xyz, 0.333);//luma
float3 poweredcolor=pow(color.xyz, 1);
float newgray=dot(poweredcolor.xyz, 0.333);
color.xyz=poweredcolor.xyz*cgray/(newgray+0.0001);

float bloomgray=dot(colorbloom.xyz, 0.333) * 0.01;

colorbloom.r *= 1;
colorbloom.g *= 1;
colorbloom.b *= 1;

color.xyz=lerp(color.xyz, color.xyz*0.8+colorbloom.xyz*0.3, saturate(bloomgray));

color.xyz=max(color.xyz, 0.0001);

color *= 0.5;

float4 curr = ((color*(0.1*color+0.1*0.5)+0.2*0.02)/(color*(0.1*color+0.5)+0.2*2.3))-0.02/2.3;
float4 whiteScale = ((11.2*(0.1*11.2+0.1*0.5)+0.2*0.02)/(11.2*(0.1*11.2+0.5)+0.2*2.3))-0.02/2.3;
color = curr*whiteScale;

color = pow(color,1/2.2);

color.xyz = saturate(color.xyz);

//bleach bypass

float luma = dot(color.xyz, _c12.xyz);

float3 blend = luma.xxx;
float L = min(1, max(0, 10*(luma - 0.45)));
float3 result1 = 2.0 * color.xyz * blend;
float3 result2 = 1.0 - 2.0*(1.0 - blend)*(1.0 - color.xyz);
float3 newColor = lerp(result1.xyz, result2.xyz, L);
float3 mixRGB = 0.25 * newColor.xyz;
mixRGB += ((1.0f - 0.25) * color.xyz);

color.xyz = mixRGB;

color.xyz = lerp(color.xyz, 0.5 * (1 + sin((color.xyz - 0.5)*3.1415926)), 1.25);

#ifdef APPLYGAMECOLORCORRECTION
//apply original corrections (((
r0.w=1.0;//_c81.y/r5.x;//r5 is AdapLumSampler

luma=0.27*color.r + 0.67*color.g + 0.06*color.b;
color.xyz=color.xyz * r0.w - luma;
color.xyz=_c82.x * color.xyz + luma; //deSatContrastGamma.x
r0.w=luma * _c84.w; //ColorShift.w
r1.xyz=r0.w * _c84.xyz; //ColorShift

//darken as DarkeningAmount, but keeps colors
color.xyz=color.xyz - _c84.xyz * r0.w; //ColorShift
color.xyz=saturate(r0.w) * color.xyz + r1.xyz;

//coloring (green, brown, ...)
color.xyz=2.0 * color.xyz * _c83.xyz; //ColorCorrect

//desaturating
luma=saturate(luma);
r0.w=_c82.z - _c1.y; //deSatContrastGamma.z - 1.0
color.xyz=color.xyz * pow(luma, r0.w);
#endif //APPLYGAMECOLORCORRECTION

//pallete texture (0.082 version feature)
#ifdef E_CC_PALETTE
color.rgb=saturate(color.rgb);
float3 brightness=0.001;//tex2D(s4, _c0.x);//adaptation luminance
// brightness=brightness/(brightness+1.0);
float3 palette;
float4 uvsrc=0.0;
uvsrc.y=brightness.r;
uvsrc.x=color.r;
palette.r=tex2Dlod(s13, uvsrc).r;
uvsrc.x=color.g;
uvsrc.y=brightness.g;
palette.g=tex2Dlod(s13, uvsrc).g;
uvsrc.x=color.b;
uvsrc.y=brightness.b;
palette.b=tex2Dlod(s13, uvsrc).b;
color.rgb=palette.rgb;
#endif //E_CC_PALETTE

/////////////// KBLPWNINGCOLORCORRECTIONVIP 1.0 BEST
/////////////// Just remove the /* at the top & */ on the bottom of the code.
/////////////// If you wanna use it.
/////////////// To disable it, just put the /* & */ like before.

/*
float Weight;
r0.xyz=color.xyz;
r2.x = dot(color.xyz, 0.3333);
r2.x = 1 - pow(2.71, -r2.x*6.0);
r2.x = r2.x * 0.125;
r0.xyz = saturate(r0.xyz - r2.x);
r0.xyz = lerp(r0.xyz, sin(r0.xyz*1.570796), 1.0);
Weight=0.6 - r2.x*0.3;
color.xyz=lerp(color.xyz, r0.xyz, Weight);
r10.x = dot(color.xyz, _c12.xyz);
color.xyz = lerp(color.xyz, r10.x, 0.1);
float fRatio = 0.55;
float moodR = 1.0;
float moodG = 1.1;
float moodB = 0.5;
float4 colInput = r0;
float4 colMood = 1.0f;
colMood.r = moodR;
colMood.g = moodG;
colMood.b = moodB;
float fLum = ( colInput.r + colInput.g + colInput.b ) / 3;
colMood = lerp(0, colMood, saturate(fLum * 2.0));
colMood = lerp(colMood, 1, saturate(fLum - 0.5) * 2.0);
float4 colOutput = lerp(colInput, colMood, saturate(fLum * fRatio));
color.rgb=max(0, colOutput);
r0.a=1.0;
*/

focus = length(center.xy)*1.41421;
focus = pow(focus, 4);

color.xyz -= focus * VignetteAmount;

_oC0.xyz=color.xyz;

//_oC0.w=1.0;

return _oC0;
}

//mine temporary post process
technique Shader_C215BE6E
{
pass p0
{
PixelShader = compile ps_3_0 PS_C215BE6E();
}
}

//original shader of post processing
technique Shader_ORIGINALPOSTPROCESS
{
pass p0
{

PixelShader=
asm
{
//
// Generated by Microsoft ® HLSL Shader Compiler 9.23.949.2378
//
// Parameters:
//
// sampler2D AdapLumSampler;
// sampler2D BloomSampler;
// float4 ColorCorrect;
// float4 ColorShift;
// float Exposure;
// sampler2D GBufferTextureSampler2;
// sampler2D GBufferTextureSampler3;
// sampler2D HDRSampler;
// sampler2D JitterSampler;
// float PLAYER_MASK;
// sampler2D StencilCopySampler;
// float4 TexelSize;
// float4 ToneMapParams;
// float4 deSatContrastGamma;
// float4 dofBlur;
// float4 dofDist;
// float4 dofProj;
// float gDirectionalMotionBlurLength;
// float4 globalScreenSize;
// row_major float4x4 motionBlurMatrix;
//
//
// Registers:
//
// Name Reg Size
// ---------------------------- ----- ----
// globalScreenSize c44 1
// Exposure c66 1
// motionBlurMatrix c72 4
// TexelSize c76 1
// dofProj c77 1
// dofDist c78 1
// dofBlur c79 1
// gDirectionalMotionBlurLength c80 1
// ToneMapParams c81 1
// deSatContrastGamma c82 1
// ColorCorrect c83 1
// ColorShift c84 1
// PLAYER_MASK c85 1
// GBufferTextureSampler2 s0 1
// GBufferTextureSampler3 s1 1
// HDRSampler s2 1
// BloomSampler s3 1
// AdapLumSampler s4 1
// JitterSampler s5 1
// StencilCopySampler s6 1
//

ps_3_0
def c0, 0, 0.212500006, 0.715399981, 0.0720999986
def c1, 0.25, 1, 256, 0
def c2, 0, 2, 4, 8
def c3, 58.1640015, 47.1300011, 0, 0
def c4, -0.5, -1.5, 1.5, 0.5
def c5, 2, -1, 0.125, 0
def c6, 256, 2, 4, 8
def c180, 0.0, 0.0, 0.0, 100.5
def c181, 1.0, 0.0, 0.0, 20.01
def c183, 800.0, 600.0, 0.0, 100.5
defi i0, 7, 0, 0, 0
dcl_texcoord v0.xy
dcl_2d s0
dcl_2d s1
dcl_2d s2
dcl_2d s3
dcl_2d s4
dcl_2d s5
dcl_2d s6
texld r0, v0, s1
add r0.y, -c77.x, c77.y
rcp r0.y, r0.y
mul r0.z, r0.y, c77.y
mul r0.z, r0.z, -c77.x
mad r0.x, c77.y, -r0.y, r0.x
rcp r0.x, r0.x
mul r0.y, r0.z, r0.x
texld r1, v0, s2
texld r2, v0, s3
abs r0.w, c79.w
mov r3, c4
mad r4.xy, c76, r3, v0
texld r4, r4, s2
mad r5.xy, c76, r3.zxzw, v0
texld r5, r5, s2
mad r3.xz, c76.xyyw, r3.wyzw, v0.xyyw
texld r6, r3.xzzw, s2
mad r3.xy, c76, r3.ywzw, v0
texld r7, r3, s2
dp3 r1.w, r4, r4
rcp r1.w, r1.w
cmp r3.xyz, -r1.w, c0.x, r4
dp3 r1.w, r5, r5
rcp r1.w, r1.w
cmp r4.xyz, -r1.w, c0.x, r5
dp3 r1.w, r6, r6
rcp r1.w, r1.w
cmp r5.xyz, -r1.w, c0.x, r6
dp3 r1.w, r7, r7
rcp r1.w, r1.w
cmp r6.xyz, -r1.w, c0.x, r7
dp3 r1.w, r1, r1
rcp r1.w, r1.w
cmp r7.xyz, -r1.w, c0.x, r1
mad r0.x, r0.z, r0.x, -c78.w
mad r0.x, c78.y, -r3.w, r0.x
max r1.w, r0.x, c0.x
rcp r0.x, c78.z
mul r0.x, r1.w, r0.x
lrp r1.w, r0.x, c79.z, c79.y
min r0.x, c79.z, r1.w
dp3 r0.z, r7, c0.yzww
dp3 r8.x, r3, c0.yzww
dp3 r8.y, r4, c0.yzww
dp3 r8.z, r5, c0.yzww
dp3 r8.w, r6, c0.yzww
dp4 r1.w, r8, c1.x
add r8, r8, -r1.w
dp4 r2.w, r8, r8
add r0.z, r0.z, -r1.w
mad r0.z, r0.z, r0.z, -r2.w
mul r0.x, r0.x, r0.x
cmp r0.x, r0.z, c1.y, r0.x
texld r8, v0, s0
mov r8.yz, c1
mad r9, r8.w, -r8.z, c2
cmp r9, r9, c1.y, c1.w
mad r10, r8.w, -c6.x, c6.yzwx
cmp r10, r10, -c1.y, -c1.w
add r9, r9, r10
mul r9, r9, c4.x
dp4 r0.z, r9, c1.y
add r0.z, r0.z, c4.w
rcp r0.z, r0.z
mul r8.xzw, r3.xyyz, r9.x
mad r7.xyz, r7, c4.w, r8.xzww
mad r7.xyz, r4, r9.y, r7
mad r7.xyz, r5, r9.z, r7
mad r7.xyz, r6, r9.w, r7
mul r7.xyz, r0.z, r7
add r0.z, -r0.x, c1.y
mul r1.w, r0.x, c1.x
mul r3.xyz, r3, r1.w
mad r3.xyz, r7, r0.z, r3
mad r3.xyz, r4, r1.w, r3
mad r3.xyz, r5, r1.w, r3
mad r3.xyz, r6, r1.w, r3
mad r4.xyz, v0.yxyw, c5.x, c5.y
mul r0.z, r4.y, c77.z
mul r0.z, r0.y, r0.z
mul r1.w, -r4.x, c77.w
mul r1.w, r0.y, r1.w
mul r5.xyz, r1.w, c73
mad r5.xyz, r0.z, c72, r5
mad r5.xyz, -r0.y, c74, r5
add r5.xyz, r5, c75
mul r0.y, -r5.z, c77.z
rcp r0.y, r0.y
mul r6.x, r5.x, r0.y
mul r0.y, r5.z, c77.w
rcp r0.y, r0.y
mul r6.y, r5.y, r0.y
add r0.yz, -r4, r6.xxyw
mul r0.yz, r0, c80.x
mul r4.xy, r0.yzzw, c5.z
texld r5, v0, s6
add r1.w, r5.x, -c85.x
mul r4.zw, r3.xyxy, c2.w
mad r4.zw, v0.xyxy, c3.xyxy, r4
texld r5, r4.zwzw, s5
add r2.w, r5.x, c4.x
mad r4.zw, r4.xyxy, r2.w, v0.xyxy
mov r5.xyz, r3
mov r2.w, c1.y
mov r3.w, c1.y

rep i0
mad r6.xy, r4, r3.w, r4.zwzw
texld r7, r6, s6
add r5.w, r7.x, -c85.x
cmp r5.w, r5.w, c1.w, c1.y
texld r6, r6, s2
mad r5.xyz, r6, r5.w, r5
add r2.w, r2.w, r5.w
add r3.w, r3.w, c1.y
endrep

rcp r2.w, r2.w
mul r0.yz, r0, c183.xxyw//c44.xxyw
dp2add r0.y, r0.yzzw, r0.yzzw, c0.x
rsq r0.y, r0.y
rcp r0.y, r0.y
mul r0.y, r0.y, c4.w
add r0.x, r0.x, c1.y
rcp r0.x, r0.x
mul_sat r0.x, r0.y, r0.x
mad r4.xyz, r5, r2.w, -r3
mad r0.xyz, r0.x, r4, r3
cmp r0.xyz, r1.w, r3, r0
cmp r0.xyz, -r0.w, r0, r1

texld r1, c0.x, s4
rcp r0.w, r1.x
mul r0.w, r0.w, c81.y
rcp r1.x, r0.w
mul r1.x, r1.x, c81.x
mad r1.xyz, r2, c66.x, -r1.x
max r2.xyz, r1, c0.x
mul r1.xyz, r2, c81.z
mul r1.xyz, r1, c1.x
mad r0.xyz, r0, c66.x, r1
mul r1.xyz, r0.w, r0
dp3 r1.x, r1, c0.yzww
mad r0.xyz, r0, r0.w, -r1.x
mad r0.xyz, c82.x, r0, r1.x
mul r0.w, r1.x, c84.w
mul r1.yzw, r0.w, c84.xxyz
mov_sat r2.x, r0.w
mad r0.xyz, c84, -r0.w, r0
mad r0.xyz, r2.x, r0, r1.yzww
mul r0.xyz, r0, c83
add r0.xyz, r0, r0
mov_sat r1.x, r1.x
add r0.w, -r8.y, c82.z
pow r2.x, r1.x, r0.w
//mul r2.x, r2.x, c181.x
mul oC0.xyz, r0, r2.x
mov oC0.w, c1.y

//texld r1, v0, s2
//mul oC0.xyz, r1, c199.z
};
}
}

[/spoiler]



GA-Z87X-OC,32gb DDRIII 2.4ghz,I7 4770k,Corsair H100i,GTX 690,SSD 256gb, 2XWD Velociraptor 1tb, Corsair RM1000w, Corsair Obsidian 900D
46.174.54.213:55555 CSS
 
offline
 dpeasant3
Дата: Пятница, 2011-11-11, 11:03 | Сообщение # 1324
Пользователь
Сообщений: 414
portal-2x2, чего? В компиляторе указывается строка с ошибкой, переходишь к ней и смотришь. Удалять ничего не нужно, тебе нужно только вставить код и убрать повторяющиеся переменные(когда они объявляются).


v1.2a - 22.04.2011.
http://www.sendspace.com/file/g4nex3
v1.3OPENBETA 01.11.2011
http://depositfiles.com/files/jmfj2mtqt
 
offline
 portal-2x2
Дата: Пятница, 2011-11-11, 11:08 | Сообщение # 1325
Гангстер
Сообщений: 1252
dpeasant3, Прикинь ток вставил код и он вдруг не нашел ошибок crazy Только почему он выделяет его зеленым?? это же вроде как не активный щитается?


GA-Z87X-OC,32gb DDRIII 2.4ghz,I7 4770k,Corsair H100i,GTX 690,SSD 256gb, 2XWD Velociraptor 1tb, Corsair RM1000w, Corsair Obsidian 900D
46.174.54.213:55555 CSS
 
offline
 dpeasant3
Дата: Пятница, 2011-11-11, 11:11 | Сообщение # 1326
Пользователь
Сообщений: 414
portal-2x2, вот, взял твой эффект, вставил туда код из годрэйс. Убрал одну лишнюю строчку и он компилируется. В игре не проверял, ибо Скайрим, такой Скайрим.
[spoiler="Скрытый текст"]
//
// iCEnhancer.
// Codes & Shaders are made by ICELAGLACE & DPEASANT3 & DKT70 & GP65CJ04 & DECOMPILED BY BORIS VORONTSOV
// You steal, you die.
//
///////////////////////////////////////////////////////////////////////
// Change this value if you don't want some vignetting around the image.

float VignetteAmount = 0.15;

// sampler2D AdapLumSampler;
// sampler2D BloomSampler;
// float4 ColorCorrect;
// float4 ColorShift;
// float Exposure;
// sampler2D GBufferTextureSampler2;
// sampler2D GBufferTextureSampler3;
// sampler2D HDRSampler;
// sampler2D JitterSampler;
// float PLAYER_MASK;
// sampler2D StencilCopySampler;
// float4 TexelSize;
// float4 ToneMapParams;
// float4 deSatContrastGamma;
// float4 dofBlur;
// float4 dofDist;
// float4 dofProj;
// float gDirectionalMotionBlurLength;
// float4 globalScreenSize;
// row_major float4x4 motionBlurMatrix;
//
//
// Registers:
//
// Name Reg Size
// ---------------------------- ----- ----
// globalScreenSize c44 1
// Exposure c66 1
// motionBlurMatrix c72 4
// TexelSize c76 1
// dofProj c77
// dofDist c78 1
// dofBlur c79 1
// gDirectionalMotionBlurLength c80 1
// ToneMapParams c81 1
// deSatContrastGamma c82 1
// ColorCorrect c83 1
// ColorShift c84 1
// PLAYER_MASK c85 1
// GBufferTextureSampler2 s0 1
// GBufferTextureSampler3 s1 1
// HDRSampler s2 1
// BloomSampler s3 1
// AdapLumSampler s4 1
// JitterSampler s5 1
// StencilCopySampler s6 1

//quad
struct VS_OUTPUT_POST
{
float4 vpos : POSITION;
float2 txcoord0 : TEXCOORD0;
};
struct VS_INPUT_POST
{
float3 pos : POSITION;
float2 txcoord0 : TEXCOORD0;
};

//int4 _i0 : register(i0);

/*
float4 _c0 : register(c0);
float4 _c1 : register(c1);
float4 _c2 : register(c2);
float4 _c3 : register(c3);
float4 _c4 : register(c4);
float4 _c5 : register(c5);
float4 _c6 : register(c6);
*/
float4 _c44 : register(c44);
float4 _c66 : register(c66);
float4 _c72 : register(c72);
float4 _c73 : register(c73);
float4 _c74 : register(c74);
float4 _c75 : register(c75);
float4 _c76 : register(c76);
float4 _c77 : register(c77);
float4 _c78 : register(c78);
float4 _c79 : register(c79);
float4 _c80 : register(c80);
float4 _c81 : register(c81);
float4 _c82 : register(c82);
float4 _c83 : register(c83);
float4 _c84 : register(c84);
float4 _c85 : register(c85);
float maxi : register(c86);
float temp : register(c87);

texture2D texs0 : register(s0);
texture2D texs1 : register(s1);
texture2D texs2 : register(s2);
texture2D texs3 : register(s3);
texture2D texs4 : register(s4);
texture2D texs5 : register(s5);
texture2D texs6 : register(s6);
texture2D texs7 : register(s7);
texture2D texs13 : register(s13);//palette
texture2D texs15 : register(s15);
//sampler2D s0=sampler_state { Texture=<texs0>; };
//sampler2D s1=sampler_state { Texture=<texs1>; };
sampler2D s2=sampler_state { Texture=<texs2>; };
//sampler2D s3=sampler_state { Texture=<texs3>; };
sampler2D s4=sampler_state { Texture=<texs4>; };
sampler2D s5=sampler_state { Texture=<texs5>; };
sampler2D s6=sampler_state { Texture=<texs6>; };
sampler2D s7=sampler_state { Texture=<texs7>; };
//sampler2D s13=sampler_state { Texture=<texs13>; };
sampler2D s15=sampler_state { Texture=<texs15>; };

//next samplers states fixing problems on ATI cards
sampler2D s0 = sampler_state
{
Texture = <texs0>;
MinFilter = LINEAR;//
MagFilter = LINEAR;//
MipFilter = NONE;//NONE;//LINEAR;
AddressU = Clamp;
AddressV = Clamp;
SRGBTexture=FALSE;
MaxMipLevel=0;
MipMapLodBias=0;
};

sampler2D s1 = sampler_state
{
Texture = <texs1>;
MinFilter = LINEAR;//
MagFilter = LINEAR;//
MipFilter = NONE;//NONE;//LINEAR;
AddressU = Clamp;
AddressV = Clamp;
SRGBTexture=FALSE;
MaxMipLevel=0;
MipMapLodBias=0;
};

sampler2D s3 = sampler_state
{
Texture = <texs3>;
MinFilter = LINEAR;//
MagFilter = LINEAR;//
MipFilter = NONE;//NONE;//LINEAR;
AddressU = Clamp;
AddressV = Clamp;
SRGBTexture=FALSE;
MaxMipLevel=0;
MipMapLodBias=0;
};
/*
sampler2D s5 = sampler_state
{
Texture = <texs5>;
MinFilter = GaussianQuad;//
MagFilter = GaussianQuad;//
MipFilter = NONE;
AddressU = Wrap;
AddressV = wrap;
SRGBTexture=FALSE;
MaxMipLevel=0;
MipMapLodBias=0;
};
*/

sampler2D s13 = sampler_state
{
Texture = <texs13>;
MinFilter = LINEAR;
MagFilter = LINEAR;
MipFilter = NONE;
AddressU = Clamp;
AddressV = Clamp;
SRGBTexture=FALSE;
MaxMipLevel=0;
MipMapLodBias=0;
};

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

float4 PS_C215BE6E(VS_OUTPUT_POST IN) : COLOR
{
float4 _oC0=0.0; //output

float4 _c0=float4(0, 0.212500006, 0.715399981, 0.0720999986);
float4 _c1=float4(0.25, 1, 256, 0);
float4 _c2=float4(0, 2, 4, 8);
float4 _c3=float4(58.1640015, 47.1300011, 0, 0);
float4 _c4=float4(-0.5, -1.5, 1.5, 0.5);
float4 _c5=float4(2, -1, 0.125, 0);
float4 _c6=float4(256, 2, 4, 8);
//mine
float4 _c7=float4(1.0, 0.1, 0.8, 1.0);
float4 _c8=float4(0.0, 0.1, 0.8, 0.333);
float4 _c9=float4(0.06, 0.1, 0.8, 0.1);
float4 _c10=float4(0.01, 1.4, 0.0, 0.32);
float4 _c11=float4(0.333333, 1.0, 0.0, 0.0);
//float4 _c12=float4(0.27, 0.67, 0.06, 0.0);
float4 _c12=float4(0.299, 0.587, 0.114, 0.0);
float4 _c13=float4(0.0, 0.0, 0.0, 0.00001);
float4 _c150=float4(0.55, 0.9, 0.85, 0.9);
float4 _c195=float4(0.0, 0.0, 0.0, 0.07);//0.7

float4 r0;
float4 r1;
float4 r2;
float4 r3;
float4 r4;
float4 r5;
float4 r6;
float4 r7;
float4 r8;
float4 r9;
float4 r10;
float4 r11;

float4 _v0=0.0;
_v0.xy=IN.txcoord0.xy;

r1=tex2D(s2, _v0.xy); //HDRSampler
r2=tex2D(s3, _v0.xy); //BloomSampler

//*************************

float2 center;
float depth;
float focus;

r0=tex2D(s1, _v0.xy); //GBufferTextureSampler3
r0.y=-_c77.x + _c77.y; //-dofProj.x + dofProj.y
r0.y=1.0/r0.y;
r0.z=r0.y * _c77.y; //dofProj.y
r0.z=r0.z * -_c77.x; //dofProj.x
r0.x=_c77.y * -r0.y + r0.x;
r0.x=1.0/r0.x;
r0.y=r0.z * r0.x;

r0.w=abs(_c79.w);
r3=_c4; //-0.5, -1.5, 1.5, 0.5

depth=r0.z * r0.x - _c78.w; //dofDist.w
depth+=_c78.y * -r3.w; //dofDist.y
depth+=148;//offset
center.x=_v0.x-0.5;
center.y=0.5-_v0.y;

float4 vDofParams = float4(-50, 1.5, 50000, 1);

//*************************************

float2 FocusPoint = float2(0.5, 0.45);
r4=tex2D(s1, FocusPoint); //GBufferTextureSampler3
r4.y=-_c77.x + _c77.y; //-dofProj.x + dofProj.y
r4.y=1/r4.y;
r4.z=r4.y * _c77.y; //dofProj.y
r4.z=r4.z * -_c77.x; //dofProj.x
r4.x=_c77.y * -r4.y + r4.x;
r4.x=1/r4.x;
r4.y=r4.z * r4.x;

float cdepth;

cdepth=r4.z * r4.x - _c78.w; //dofDist.w
cdepth+=_c78.y * -r3.w; //dofDist.y
cdepth+=148;//offset

r4.w = tex2D(s0, FocusPoint).w;
if(r4.w > 0)
{
vDofParams.z = cdepth*6.0;
vDofParams.y = cdepth;
}

//**************

depth = max(depth, 0); //fix zoom bug

float dist;

if(depth < vDofParams.y)
dist = (depth - vDofParams.y)/(vDofParams.y - vDofParams.x);
else
{
dist = (depth - vDofParams.y)/(vDofParams.z - vDofParams.y);
dist = clamp(dist, 0, vDofParams.w);
}

dist = dist * 0.5 + 0.5;

static float3 poisson[8]=
{
float3(0.0, 0.0, 1.0), //0 degrees
float3(0.527, -0.085, 1.0),
float3(-0.040, 0.536, 1.0 ),
float3(-0.670, -0.179, 1.0 ),
float3(-0.419, -0.616, 1.0 ),
float3( 0.440, -0.639, 1.0), //45 degrees
float3(-0.757, 0.349, 1.0 ),
float3(0.574, 0.685, 1.0),
};

float2 pixelSizeHigh;
float2 pixelSizeLow;

pixelSizeHigh.x = 1.000 / _c44.x;
pixelSizeHigh.y = 1.000 / _c44.y;

//pixelSizeHigh.x = 2.0 / _c44.x;
//pixelSizeHigh.y = 2.0 / _c44.y;

pixelSizeHigh.xy *= 1.0;

pixelSizeLow.xy = pixelSizeHigh.xy;

float2 vMaxCoC = float2(5.0, 10.0);

float radiusScale = 0.4;

float discRadius;
float discRadiusLow;
float centerDepth;
float4 tdepth;

float4 tapHigh;
float4 tapLow;

centerDepth = dist;

discRadius = abs(centerDepth * vMaxCoC.y - vMaxCoC.x);
discRadiusLow = discRadius * radiusScale;

r1 = 0.0;

for(int t = 0; t < 8; t++)
{
float2 coordLow = _v0.xy + (pixelSizeLow.xy * poisson[t].xy * discRadiusLow);
float2 coordHigh = _v0.xy + (pixelSizeHigh.xy * poisson[t].xy * discRadius);

tapLow = tex2D(s2, coordLow.xy) * poisson[t].z;
tapHigh = tex2D(s2, coordHigh.xy) * poisson[t].z;

tdepth = tex2D(s1, coordHigh.xy); //GBufferTextureSampler3
tdepth.y = -_c77.x + _c77.y; //-dofProj.x + dofProj.y
tdepth.y = 1.0 / tdepth.y;
tdepth.z = tdepth.y * _c77.y; //dofProj.y
tdepth.z = tdepth.z * -_c77.x; //dofProj.x
tdepth.x = _c77.y * -tdepth.y + tdepth.x;
tdepth.x = 1.0 / tdepth.x;

tdepth.w = tdepth.z * tdepth.x - _c78.w; //dofDist.w
tdepth.w += _c78.y * -r3.w; //dofDist.y
tdepth.w += 148;//offset

tdepth.w = max(tdepth.w, 0); //fix zoom bug

if(tdepth.w < vDofParams.y)
tapHigh.w = (tdepth.w - vDofParams.y)/(vDofParams.y - vDofParams.x);
else
{
tapHigh.w = (tdepth.w - vDofParams.y)/(vDofParams.z - vDofParams.y);
tapHigh.w = clamp(tapHigh.w, 0, vDofParams.w);
}

tapHigh.w = tapHigh.w * 0.5 + 0.5;

tapLow.w = tapHigh.w;

float tapBlur = abs(tapHigh.w * 2.0 - 1.0);
float4 tap = lerp(tapHigh, tapLow, tapBlur);

if(tap.w >= centerDepth) tap.w = 1;
else tap.w = abs(tap.w * 2.0 - 1.0);

r1.xyz += tap.xyz * tap.w;
r1.w += tap.w;

}

r1.xyz /= r1.w;

//float4 dofcolor = r1;

//dofcolor.w = r1.w / DoF_TAPS;

//***************

r1.w=dot(r1.xyz, r1.xyz); //dp3
r1.w=1.0/r1.w;

//if (-r1.w<0.0) r3 = r1;
//else r3 = _c0.x;

r3 = lerp(_c0.x, r1, saturate(r1.w * 10000));

r4 = r3;
r5 = r3;
r6 = r3;
r7 = r3;

r0.x=r0.z * r0.x - _c78.w; //dofDist.w
r0.x=_c78.y * -r3.w + r0.x; //dofDist.y
r1.w=max(r0.x, _c0.x); //0.0
r0.x=1.0/_c78.z; //dofDist.z
r0.x=r1.w * r0.x;
r1.w=lerp(_c79.y, _c79.z, r0.x);//dofBlur
r0.x=min(_c79.z, r1.w); //dofBlur.z

r0.z=dot(r7.xyz, _c0.yzw); //0.212500006, 0.715399981, 0.0720999986
r8.x=dot(r3.xyz, _c0.yzw); //0.212500006, 0.715399981, 0.0720999986
r8.y=dot(r4.xyz, _c0.yzw); //0.212500006, 0.715399981, 0.0720999986
r8.z=dot(r5.xyz, _c0.yzw); //0.212500006, 0.715399981, 0.0720999986
r8.w=dot(r6.xyz, _c0.yzw); //0.212500006, 0.715399981, 0.0720999986
r1.w=dot(r8, _c1.xxxx); //0.25

r8=r8 - r1.w;
r2.w=dot(r8, r8);
r0.z=r0.z - r1.w;
r0.z=r0.z * r0.z - r2.w;
r0.x=r0.x*r0.x;
if (r0.z<0.0)
{
r0.x=r0.x;
} else r0.x=_c1.y; //1.0

r8=tex2D(s0, _v0.xy); //GBufferTextureSampler2

r8.yz=_c1.yz; // 1.0, 256.0
r9=r8.w * -r8.z + _c2; //0, 2, 4, 8
if (r9.w<0.0) //r9<0.0
{
r9=_c1.w; //0.0
} else r9=_c1.y; //1.0
//r9 is filtered sky mask

//r10=r8.w + tempc6;//c6.yzwx; //256, 2, 4, 8
r10=r8.w * -_c6.x + _c6.yzwx; //256, 2, 4, 8

if (r10.x<0.0)
{
r10.x=-_c1.w; //0.0
} else r10.x=-_c1.y; //1.0

if (r10.y<0.0)
{
r10.y=-_c1.w; //0.0
} else r10.y=-_c1.y; //1.0

if (r10.z<0.0)
{
r10.z=-_c1.w; //0.0
} else r10.z=-_c1.y; //1.0

if (r10.w<0.0)
{
r10.w=-_c1.w; //0.0
} else r10.w=-_c1.y; //1.0

r9=r9 + r10;
r9=r9 * _c4.x; //-0.5

r0.z=dot(r9, _c1.yyyy); //1.0
r0.z=r0.z + _c4.w; //0.5
r0.z=1.0/r0.z;
r8.xzw=r3.xyz * r9.x;

r7.xyz=r7 * _c4.w + r8.xzw; //0.5
r7.xyz=r4 * r9.y + r7;
r7.xyz=r5 * r9.z + r7;
r7.xyz=r6 * r9.w + r7;
r7.xyz=r0.z * r7;
r0.z=-r0.x + _c1.y; //1.0
r1.w=r0.x * _c1.x; //0.25

r3.xyz=r3 * r1.w;
r3.xyz=r7 * r0.z + r3;
r3.xyz=r4 * r1.w + r3;
r3.xyz=r5 * r1.w + r3;
r3.xyz=r6 * r1.w + r3;

//r4.xyz=_v0.yxy * _c5.x + _c5.y; //2, -1
r4.x=_v0.y * _c5.x + _c5.y;
r4.y=_v0.x * _c5.x + _c5.y;
r4.z=_v0.y * _c5.x + _c5.y;

r0.z=r4.y * _c77.z; //dofProj.z
r0.z=r0.y * r0.z;
r1.w=-r4.x * _c77.w; //dofProj.w
r1.w=r0.y * r1.w;
r5.xyz=r1.w * _c73; //motionBlurMatrix.2
r5.xyz=r0.z * _c72 + r5; //motionBlurMatrix.1
r5.xyz=-r0.y * _c74 + r5; //motionBlurMatrix.3
r5.xyz=r5 + _c75; //motionBlurMatrix.4

r0.y=-r5.z * _c77.z; //dofProj.z
r0.y=1/r0.y;
r6.x=r5.x * r0.y;
r0.y=r5.z * _c77.w; //dofProj.w
r0.y=1/r0.y;
r6.y=r5.y * r0.y;
//r0.yz=-r4 + r6.xxyw;
r0.yz=-r4.yz + r6.xy;

//r0.yz=r0 * _c80.x; //gDirectionalMotionBlurLength.x
r0.y=r0.y * _c80.x;
r0.z=r0.z * _c80.x;
r4.xy=r0.yz * _c5.z; //0.125
r5=tex2D(s6, _v0.xy); //StencilCopySampler
r1.w=r5.x - _c85.x; //PLAYER_MASK.x
r4.zw=r3.xy * _c2.w; //8.0
r4.zw=_v0.xy * _c3.xy + r4.zw; //58.1640015, 47.1300011
r5=tex2D(s5, r4.zw); //JitterSampler
//r2.w=r5.x - 0.5; //-0.5
r4.zw=r4.xy * (r5.x - 4) + _v0.xy; //0.082 fixed
r5.xyz=r3.xyz;
r2.w=_c1.y; //1.0
r3.w=_c1.y; //1.0

for (int iii=0; iii<25; iii++)
{
r6.x=r4.x * r3.w + r4.z;
r6.y=r4.y * r3.w + r4.w;
r7=tex2D(s6, r6.xy);
r5.w=r7.x - _c85.x;
if (r5.w<-0.3)
{
r5.w=_c1.y; //1.0
} else r5.w=_c1.w; //0.0
r6=tex2D(s2, r6.xy);
r5.xyz=r6.xyz * r5.w + r5.xyz;
r2.w=r2.w + r5.w;
r3.w=r3.w + _c1.y; //1.0
}

r2.w=1.0/r2.w;

//r0.yz=r0 * _c44.xxyw; //globalScreenSize
r0.y=r0.y * _c44.x; //globalScreenSize
r0.z=r0.z * _c44.y; //globalScreenSize

r0.y=dot(r0.yz, r0.yz)+_c0.x;//dp2

//r0.y=sqrt(r0.y);
//r0.y=1.0/r0.y;
r0.y=pow(r0.y, _c4.w); //0.5

r0.y=r0.y * _c4.w; //0.5
r0.x=r0.x + _c1.y; //1.0
r0.x=1.0/r0.x;
//r0.y is wrong
r0.x=saturate(r0.y * r0.x);
r4.xyz=r5 * r2.w - r3;
r0.xyz=r0.x * r4 + r3;

//_oC0.xyz=0.5*r0.xyz;

if (-r1.w<0.0) r0.xyz=r3.xyz;
if (-r0.w<0.0) r0.xyz=r1.xyz;

//for future use
r11=r0;

r1=tex2D(s4, _c0.x); //AdapLumSampler , 0.0
r0.w=1.0/r1.x;
r0.w=r0.w * _c81.y; //ToneMapParams.y
r1.x=1.0/r0.w;
r1.x=r1.x * _c81.x; //ToneMapParams.x
r1.xyz=r2 * _c66.x - r1.x; //Exposure.x
r2.xyz=max(r1, _c0.x); //0.0
r1.xyz=r2 * _c81.z; //ToneMapParams.z
r1.xyz=r1 * _c1.x; //0.25
r0.xyz=r0 * _c66.x + r1; //Exposure.x
r1.xyz=r0.w * r0;
r1.x=dot(r1.xyz, _c0.yzw); //0.2125, 0.7154, 0.0721
r0.xyz=r0 * r0.w - r1.x;
r0.xyz=_c82.x * r0 + r1.x; //deSatContrastGamma.x
r0.w=r1.x * _c84.w; //ColorShift.w
r1.yzw=r0.w * _c84.xxyz; //ColorShift

//darken as DarkeningAmount, but keeps colors
r2.x=saturate(r0.w);
r0.xyz=r0.xyz - _c84.xyz * r0.w; //ColorShift
r0.xyz=r2.x * r0.xyz + r1.yzww;

//coloring (green, brown, ...)
r0.xyz=2.0 * r0.xyz * _c83.xyz; //ColorCorrect

//keeps colors, changes luma
r1.x=saturate(r1.x);//luma
r0.w=_c82.z - _c1.y; //deSatContrastGamma.z - 1.0
r2.x=pow(r1.x, r0.w);

_oC0.xyz=r0.xyz * r2.x; //orig
_oC0.w=_c1.y; //1.0

//*******************

float4 color = r11;
float4 origcolor = tex2D(s2, _v0.xy);

float2 sunpos = 0;
float2 _v1 = 0;
float maxi = 0;
int count = 0;
int ratio = 1.8;
float deltax = 0.04 / ratio;
int samplex = 25 * ratio;

for(int i = 1; i <= 25; i++)
{
for(int j = 1; j <= samplex; j++)
{

r2 = tex2D(s2, _v1.xy);
r2.x = saturate(dot(r2.xyz, 0.333) - 20.0);
if((r2.x >= maxi) && r2.x)
{
maxi = r2.x;
sunpos.xy += _v1.xy;
count++;
}
_v1.x += deltax ;
}
_v1.x = 0.0;
_v1.y += 0.04;
}

if(maxi) sunpos.xy /= count;

//float4 color;
//r0=tex2D(s2, _v0.xy);//hdr color
color=r0 + r11;
//color.xyz=0.0;

int NUM_SAMPLES = 128;
float Decay = 0.96;
float Exposure = 1.0;
float Weight = 0.25;
float Density = 1.0;

float2 ScreenLightPos;

ScreenLightPos.xy = sunpos.xy;

float2 texCoord = _v0;
float2 deltaTexCoord = (texCoord.xy - ScreenLightPos.xy);

deltaTexCoord *= 1.0 / NUM_SAMPLES * Density;


float illuminationDecay = 1.0;

if(maxi)
{

for(int x = 0; x < NUM_SAMPLES; x++)
{
texCoord -= deltaTexCoord;
float4 sample = tex2D(s0, texCoord.xy);
if(sample.w) sample.xyz = 0.0;
else
{
sample = tex2D(s2, texCoord.xy);
sample.w = saturate(dot(sample.xyz, 0.3333) - 20);
if(sample.w == 0) sample.xyz = 0.0;
sample.r *= 0.1;
sample.g *= 0.095;
sample.b *= 0.085;
}

sample *= illuminationDecay * Weight;
color += sample;
illuminationDecay *= Decay;
}
}


color *= Exposure;

r5=tex2D(s4, _c0.x);//adaptation luminance
r5.w=r5.x;
r5.w=1.0/r5.w;
color.xyz=color.xyz * r5.w;

float4 colorbloom = tex2D(s3, _v0.xy);//0.5
colorbloom *= r5.w;
colorbloom.r*=lerp(0.5, 1.8, saturate(pow(depth/250.0, 0.5)));
colorbloom.g*=lerp(0.5, 1.8, saturate(pow(depth/250.0, 0.5)));
colorbloom.b*=lerp(0.5, 1.3, saturate(pow(depth/250.0, 0.5)));

//increase color

float cgray=dot(color.xyz, 0.333);//luma
float3 poweredcolor=pow(color.xyz, 1);
float newgray=dot(poweredcolor.xyz, 0.333);
color.xyz=poweredcolor.xyz*cgray/(newgray+0.0001);

float bloomgray=dot(colorbloom.xyz, 0.333) * 0.01;

colorbloom.r *= 1;
colorbloom.g *= 1;
colorbloom.b *= 1;

color.xyz=lerp(color.xyz, color.xyz*0.8+colorbloom.xyz*0.3, saturate(bloomgray));

color.xyz=max(color.xyz, 0.0001);

color *= 0.5;

float4 curr = ((color*(0.1*color+0.1*0.5)+0.2*0.02)/(color*(0.1*color+0.5)+0.2*2.3))-0.02/2.3;
float4 whiteScale = ((11.2*(0.1*11.2+0.1*0.5)+0.2*0.02)/(11.2*(0.1*11.2+0.5)+0.2*2.3))-0.02/2.3;
color = curr*whiteScale;

color = pow(color,1/2.2);

color.xyz = saturate(color.xyz);

//bleach bypass

float luma = dot(color.xyz, _c12.xyz);

float3 blend = luma.xxx;
float L = min(1, max(0, 10*(luma - 0.45)));
float3 result1 = 2.0 * color.xyz * blend;
float3 result2 = 1.0 - 2.0*(1.0 - blend)*(1.0 - color.xyz);
float3 newColor = lerp(result1.xyz, result2.xyz, L);
float3 mixRGB = 0.25 * newColor.xyz;
mixRGB += ((1.0f - 0.25) * color.xyz);

color.xyz = mixRGB;

color.xyz = lerp(color.xyz, 0.5 * (1 + sin((color.xyz - 0.5)*3.1415926)), 1.25);

#ifdef APPLYGAMECOLORCORRECTION
//apply original corrections (((
r0.w=1.0;//_c81.y/r5.x;//r5 is AdapLumSampler

luma=0.27*color.r + 0.67*color.g + 0.06*color.b;
color.xyz=color.xyz * r0.w - luma;
color.xyz=_c82.x * color.xyz + luma; //deSatContrastGamma.x
r0.w=luma * _c84.w; //ColorShift.w
r1.xyz=r0.w * _c84.xyz; //ColorShift

//darken as DarkeningAmount, but keeps colors
color.xyz=color.xyz - _c84.xyz * r0.w; //ColorShift
color.xyz=saturate(r0.w) * color.xyz + r1.xyz;

//coloring (green, brown, ...)
color.xyz=2.0 * color.xyz * _c83.xyz; //ColorCorrect

//desaturating
luma=saturate(luma);
r0.w=_c82.z - _c1.y; //deSatContrastGamma.z - 1.0
color.xyz=color.xyz * pow(luma, r0.w);
#endif //APPLYGAMECOLORCORRECTION

//pallete texture (0.082 version feature)
#ifdef E_CC_PALETTE
color.rgb=saturate(color.rgb);
float3 brightness=0.001;//tex2D(s4, _c0.x);//adaptation luminance
// brightness=brightness/(brightness+1.0);
float3 palette;
float4 uvsrc=0.0;
uvsrc.y=brightness.r;
uvsrc.x=color.r;
palette.r=tex2Dlod(s13, uvsrc).r;
uvsrc.x=color.g;
uvsrc.y=brightness.g;
palette.g=tex2Dlod(s13, uvsrc).g;
uvsrc.x=color.b;
uvsrc.y=brightness.b;
palette.b=tex2Dlod(s13, uvsrc).b;
color.rgb=palette.rgb;
#endif //E_CC_PALETTE

/////////////// KBLPWNINGCOLORCORRECTIONVIP 1.0 BEST
/////////////// Just remove the /* at the top & */ on the bottom of the code.
/////////////// If you wanna use it.
/////////////// To disable it, just put the /* & */ like before.

/*
float Weight;
r0.xyz=color.xyz;
r2.x = dot(color.xyz, 0.3333);
r2.x = 1 - pow(2.71, -r2.x*6.0);
r2.x = r2.x * 0.125;
r0.xyz = saturate(r0.xyz - r2.x);
r0.xyz = lerp(r0.xyz, sin(r0.xyz*1.570796), 1.0);
Weight=0.6 - r2.x*0.3;
color.xyz=lerp(color.xyz, r0.xyz, Weight);
r10.x = dot(color.xyz, _c12.xyz);
color.xyz = lerp(color.xyz, r10.x, 0.1);
float fRatio = 0.55;
float moodR = 1.0;
float moodG = 1.1;
float moodB = 0.5;
float4 colInput = r0;
float4 colMood = 1.0f;
colMood.r = moodR;
colMood.g = moodG;
colMood.b = moodB;
float fLum = ( colInput.r + colInput.g + colInput.b ) / 3;
colMood = lerp(0, colMood, saturate(fLum * 2.0));
colMood = lerp(colMood, 1, saturate(fLum - 0.5) * 2.0);
float4 colOutput = lerp(colInput, colMood, saturate(fLum * fRatio));
color.rgb=max(0, colOutput);
r0.a=1.0;
*/

focus = length(center.xy)*1.41421;
focus = pow(focus, 4);

color.xyz -= focus * VignetteAmount;

_oC0.xyz=color.xyz;

//_oC0.w=1.0;

return _oC0;
}

//mine temporary post process
technique Shader_C215BE6E
{
pass p0
{
PixelShader = compile ps_3_0 PS_C215BE6E();
}
}

//original shader of post processing
technique Shader_ORIGINALPOSTPROCESS
{
pass p0
{

PixelShader=
asm
{
//
// Generated by Microsoft ® HLSL Shader Compiler 9.23.949.2378
//
// Parameters:
//
// sampler2D AdapLumSampler;
// sampler2D BloomSampler;
// float4 ColorCorrect;
// float4 ColorShift;
// float Exposure;
// sampler2D GBufferTextureSampler2;
// sampler2D GBufferTextureSampler3;
// sampler2D HDRSampler;
// sampler2D JitterSampler;
// float PLAYER_MASK;
// sampler2D StencilCopySampler;
// float4 TexelSize;
// float4 ToneMapParams;
// float4 deSatContrastGamma;
// float4 dofBlur;
// float4 dofDist;
// float4 dofProj;
// float gDirectionalMotionBlurLength;
// float4 globalScreenSize;
// row_major float4x4 motionBlurMatrix;
//
//
// Registers:
//
// Name Reg Size
// ---------------------------- ----- ----
// globalScreenSize c44 1
// Exposure c66 1
// motionBlurMatrix c72 4
// TexelSize c76 1
// dofProj c77 1
// dofDist c78 1
// dofBlur c79 1
// gDirectionalMotionBlurLength c80 1
// ToneMapParams c81 1
// deSatContrastGamma c82 1
// ColorCorrect c83 1
// ColorShift c84 1
// PLAYER_MASK c85 1
// GBufferTextureSampler2 s0 1
// GBufferTextureSampler3 s1 1
// HDRSampler s2 1
// BloomSampler s3 1
// AdapLumSampler s4 1
// JitterSampler s5 1
// StencilCopySampler s6 1
//

ps_3_0
def c0, 0, 0.212500006, 0.715399981, 0.0720999986
def c1, 0.25, 1, 256, 0
def c2, 0, 2, 4, 8
def c3, 58.1640015, 47.1300011, 0, 0
def c4, -0.5, -1.5, 1.5, 0.5
def c5, 2, -1, 0.125, 0
def c6, 256, 2, 4, 8
def c180, 0.0, 0.0, 0.0, 100.5
def c181, 1.0, 0.0, 0.0, 20.01
def c183, 800.0, 600.0, 0.0, 100.5
defi i0, 7, 0, 0, 0
dcl_texcoord v0.xy
dcl_2d s0
dcl_2d s1
dcl_2d s2
dcl_2d s3
dcl_2d s4
dcl_2d s5
dcl_2d s6
texld r0, v0, s1
add r0.y, -c77.x, c77.y
rcp r0.y, r0.y
mul r0.z, r0.y, c77.y
mul r0.z, r0.z, -c77.x
mad r0.x, c77.y, -r0.y, r0.x
rcp r0.x, r0.x
mul r0.y, r0.z, r0.x
texld r1, v0, s2
texld r2, v0, s3
abs r0.w, c79.w
mov r3, c4
mad r4.xy, c76, r3, v0
texld r4, r4, s2
mad r5.xy, c76, r3.zxzw, v0
texld r5, r5, s2
mad r3.xz, c76.xyyw, r3.wyzw, v0.xyyw
texld r6, r3.xzzw, s2
mad r3.xy, c76, r3.ywzw, v0
texld r7, r3, s2
dp3 r1.w, r4, r4
rcp r1.w, r1.w
cmp r3.xyz, -r1.w, c0.x, r4
dp3 r1.w, r5, r5
rcp r1.w, r1.w
cmp r4.xyz, -r1.w, c0.x, r5
dp3 r1.w, r6, r6
rcp r1.w, r1.w
cmp r5.xyz, -r1.w, c0.x, r6
dp3 r1.w, r7, r7
rcp r1.w, r1.w
cmp r6.xyz, -r1.w, c0.x, r7
dp3 r1.w, r1, r1
rcp r1.w, r1.w
cmp r7.xyz, -r1.w, c0.x, r1
mad r0.x, r0.z, r0.x, -c78.w
mad r0.x, c78.y, -r3.w, r0.x
max r1.w, r0.x, c0.x
rcp r0.x, c78.z
mul r0.x, r1.w, r0.x
lrp r1.w, r0.x, c79.z, c79.y
min r0.x, c79.z, r1.w
dp3 r0.z, r7, c0.yzww
dp3 r8.x, r3, c0.yzww
dp3 r8.y, r4, c0.yzww
dp3 r8.z, r5, c0.yzww
dp3 r8.w, r6, c0.yzww
dp4 r1.w, r8, c1.x
add r8, r8, -r1.w
dp4 r2.w, r8, r8
add r0.z, r0.z, -r1.w
mad r0.z, r0.z, r0.z, -r2.w
mul r0.x, r0.x, r0.x
cmp r0.x, r0.z, c1.y, r0.x
texld r8, v0, s0
mov r8.yz, c1
mad r9, r8.w, -r8.z, c2
cmp r9, r9, c1.y, c1.w
mad r10, r8.w, -c6.x, c6.yzwx
cmp r10, r10, -c1.y, -c1.w
add r9, r9, r10
mul r9, r9, c4.x
dp4 r0.z, r9, c1.y
add r0.z, r0.z, c4.w
rcp r0.z, r0.z
mul r8.xzw, r3.xyyz, r9.x
mad r7.xyz, r7, c4.w, r8.xzww
mad r7.xyz, r4, r9.y, r7
mad r7.xyz, r5, r9.z, r7
mad r7.xyz, r6, r9.w, r7
mul r7.xyz, r0.z, r7
add r0.z, -r0.x, c1.y
mul r1.w, r0.x, c1.x
mul r3.xyz, r3, r1.w
mad r3.xyz, r7, r0.z, r3
mad r3.xyz, r4, r1.w, r3
mad r3.xyz, r5, r1.w, r3
mad r3.xyz, r6, r1.w, r3
mad r4.xyz, v0.yxyw, c5.x, c5.y
mul r0.z, r4.y, c77.z
mul r0.z, r0.y, r0.z
mul r1.w, -r4.x, c77.w
mul r1.w, r0.y, r1.w
mul r5.xyz, r1.w, c73
mad r5.xyz, r0.z, c72, r5
mad r5.xyz, -r0.y, c74, r5
add r5.xyz, r5, c75
mul r0.y, -r5.z, c77.z
rcp r0.y, r0.y
mul r6.x, r5.x, r0.y
mul r0.y, r5.z, c77.w
rcp r0.y, r0.y
mul r6.y, r5.y, r0.y
add r0.yz, -r4, r6.xxyw
mul r0.yz, r0, c80.x
mul r4.xy, r0.yzzw, c5.z
texld r5, v0, s6
add r1.w, r5.x, -c85.x
mul r4.zw, r3.xyxy, c2.w
mad r4.zw, v0.xyxy, c3.xyxy, r4
texld r5, r4.zwzw, s5
add r2.w, r5.x, c4.x
mad r4.zw, r4.xyxy, r2.w, v0.xyxy
mov r5.xyz, r3
mov r2.w, c1.y
mov r3.w, c1.y

rep i0
mad r6.xy, r4, r3.w, r4.zwzw
texld r7, r6, s6
add r5.w, r7.x, -c85.x
cmp r5.w, r5.w, c1.w, c1.y
texld r6, r6, s2
mad r5.xyz, r6, r5.w, r5
add r2.w, r2.w, r5.w
add r3.w, r3.w, c1.y
endrep

rcp r2.w, r2.w
mul r0.yz, r0, c183.xxyw//c44.xxyw
dp2add r0.y, r0.yzzw, r0.yzzw, c0.x
rsq r0.y, r0.y
rcp r0.y, r0.y
mul r0.y, r0.y, c4.w
add r0.x, r0.x, c1.y
rcp r0.x, r0.x
mul_sat r0.x, r0.y, r0.x
mad r4.xyz, r5, r2.w, -r3
mad r0.xyz, r0.x, r4, r3
cmp r0.xyz, r1.w, r3, r0
cmp r0.xyz, -r0.w, r0, r1

texld r1, c0.x, s4
rcp r0.w, r1.x
mul r0.w, r0.w, c81.y
rcp r1.x, r0.w
mul r1.x, r1.x, c81.x
mad r1.xyz, r2, c66.x, -r1.x
max r2.xyz, r1, c0.x
mul r1.xyz, r2, c81.z
mul r1.xyz, r1, c1.x
mad r0.xyz, r0, c66.x, r1
mul r1.xyz, r0.w, r0
dp3 r1.x, r1, c0.yzww
mad r0.xyz, r0, r0.w, -r1.x
mad r0.xyz, c82.x, r0, r1.x
mul r0.w, r1.x, c84.w
mul r1.yzw, r0.w, c84.xxyz
mov_sat r2.x, r0.w
mad r0.xyz, c84, -r0.w, r0
mad r0.xyz, r2.x, r0, r1.yzww
mul r0.xyz, r0, c83
add r0.xyz, r0, r0
mov_sat r1.x, r1.x
add r0.w, -r8.y, c82.z
pow r2.x, r1.x, r0.w
//mul r2.x, r2.x, c181.x
mul oC0.xyz, r0, r2.x
mov oC0.w, c1.y

//texld r1, v0, s2
//mul oC0.xyz, r1, c199.z
};
}
} [/spoiler]

Добавлено (11.11.2011, 11:11)
---------------------------------------------
portal-2x2, значит он у тебя не активный, вот ошибок и нет. Очевидно же. Возьми то что я запостил и проверь в компиляторе.



v1.2a - 22.04.2011.
http://www.sendspace.com/file/g4nex3
v1.3OPENBETA 01.11.2011
http://depositfiles.com/files/jmfj2mtqt
 
offline
 portal-2x2
Дата: Пятница, 2011-11-11, 11:12 | Сообщение # 1327
Гангстер
Сообщений: 1252
dpeasant3, Я даже скорее знаю что ты убрал за строчку, эта float4 maxi не??? после того как я ее уберал проподало все и блум и линз флейр и разумеется так и не появившийся год райс, щас проверю свое что ток что получилось crazy И твой захвачу, отпишусь!


GA-Z87X-OC,32gb DDRIII 2.4ghz,I7 4770k,Corsair H100i,GTX 690,SSD 256gb, 2XWD Velociraptor 1tb, Corsair RM1000w, Corsair Obsidian 900D
46.174.54.213:55555 CSS
 
offline
 dpeasant3
Дата: Пятница, 2011-11-11, 11:21 | Сообщение # 1328
Пользователь
Сообщений: 414
portal-2x2, нет. float4 color; потому что она уже есть и так. Остальное вообще не надо трогать.

Добавлено (11.11.2011, 11:21)
---------------------------------------------
portal-2x2, вот, проверил только что, что я тебе выложил выше. Все работает.
http://imgur.com/T2u6R
Дальше сам крути. Пойду в Скайрим погоняю.


v1.2a - 22.04.2011.
http://www.sendspace.com/file/g4nex3
v1.3OPENBETA 01.11.2011
http://depositfiles.com/files/jmfj2mtqt


Сообщение отредактировал dpeasant3 - Пятница, 2011-11-11, 11:22
 
offline
 portal-2x2
Дата: Пятница, 2011-11-11, 11:25 | Сообщение # 1329
Гангстер
Сообщений: 1252
dpeasant3, Работает, небыло бы печали но увы эта дрянь вместе с лучами принесла и тормоза (15фпс) Зря ток времени потратили, а может его как то можно настроить на более высокий фпс?? а то играть то хочется но не возможно :( Заранее огромное спасибо wow


GA-Z87X-OC,32gb DDRIII 2.4ghz,I7 4770k,Corsair H100i,GTX 690,SSD 256gb, 2XWD Velociraptor 1tb, Corsair RM1000w, Corsair Obsidian 900D
46.174.54.213:55555 CSS
 
offline
 dpeasant3
Дата: Пятница, 2011-11-11, 11:28 | Сообщение # 1330
Пользователь
Сообщений: 414
portal-2x2, тебе же написали, что тормоза будут. Они у всех, поэтому разработка эффекта остановлена. Китаец же сам писал об этом.
int NUM_SAMPLES = 128;
можно уменьшить, но тормоза все равно будут.


v1.2a - 22.04.2011.
http://www.sendspace.com/file/g4nex3
v1.3OPENBETA 01.11.2011
http://depositfiles.com/files/jmfj2mtqt


Сообщение отредактировал dpeasant3 - Пятница, 2011-11-11, 11:29
 
offline
 portal-2x2
Дата: Пятница, 2011-11-11, 11:31 | Сообщение # 1331
Гангстер
Сообщений: 1252
dpeasant3, Да! А я чето тупонул видать :( Печально, интересно а ток его эфффект так тормозит или все год-райсы, у мя их штук 10 лежат :D


GA-Z87X-OC,32gb DDRIII 2.4ghz,I7 4770k,Corsair H100i,GTX 690,SSD 256gb, 2XWD Velociraptor 1tb, Corsair RM1000w, Corsair Obsidian 900D
46.174.54.213:55555 CSS
 
offline
 dpeasant3
Дата: Пятница, 2011-11-11, 11:33 | Сообщение # 1332
Пользователь
Сообщений: 414
portal-2x2, они все одинаковые, хорош уже.


v1.2a - 22.04.2011.
http://www.sendspace.com/file/g4nex3
v1.3OPENBETA 01.11.2011
http://depositfiles.com/files/jmfj2mtqt
 
offline
 portal-2x2
Дата: Пятница, 2011-11-11, 12:03 | Сообщение # 1333
Гангстер
Сообщений: 1252
dpeasant3, Ясно я просто не знал что они одинаковые :(

Добавлено (11.11.2011, 12:03)
---------------------------------------------
dpeasant3, Кстати последний вопрос: Нащет OBGE шейдеров, я накопал у них SSIL которого как раз не хватает в эпизодах, его реально реализовать???
[spoiler="SSIL"]
// Screen Space Indirect Illumination
// Created and Implemented by Tomerk
// Optimized by Ethatron

// ---------------------------------------
// TWEAKABLE VARIABLES.

#undef TEST_MODE
// testMode. set to 1, you can see the raw ssao

#define N_SAMPLES 9
// number of samples, currently do not change.

extern float IIRadiusMultiplier = 10; // Linearly multiplies the radius of the II Sampling
extern float IIStrengthMultiplier = 5.0; // Linearly multiplies the strength of the II

extern float2 fogParams = float2( 8000, 20500 );

// END OF TWEAKABLE VARIABLES.
// ---------------------------------------

#include "includes/Random.hlsl"
#include "includes/Depth.hlsl"
#define irangeZ -oblv_ProjectionDepthRange_MAINPASS.z

#define rcpres oblv_ReciprocalResolution_MAINPASS
#define aspect (oblv_ReciprocalResolution_MAINPASS.z)
#define raspect (1.0 / aspect)
// .x - 1 / width
// .y - 1 / height
// .z - width / height
// .w - width * height
float4 oblv_ReciprocalResolution_MAINPASS;

#define FOV oblv_ProjectionFoV_MAINPASS.x
// .x - fovX rad
// .y - fovY rad
// .z - fovX deg
// .w - fovY deg
float4 oblv_ProjectionFoV_MAINPASS;

texture obge_LastRendertarget0_EFFECTPASS;
texture obge_PrevRendertarget0_EFFECTPASS;

sampler FrmeSamplerL = sampler_state {
Texture = <obge_PrevRendertarget0_EFFECTPASS>;

AddressU = Mirror;
AddressV = Mirror;

MINFILTER = LINEAR;
MAGFILTER = LINEAR;
};

sampler PassSamplerL = sampler_state
{
texture = <obge_LastRendertarget0_EFFECTPASS>;

AddressU = CLAMP;
AddressV = CLAMP;

MINFILTER = LINEAR;
MAGFILTER = LINEAR;
};

struct VSOUT
{
float4 vertPos : POSITION;
float2 UVCoord : TEXCOORD0;
};

struct VSIN
{
float4 vertPos : POSITION0;
float2 UVCoord : TEXCOORD0;
};

VSOUT FrameVS(VSIN IN)
{
VSOUT OUT = (VSOUT)0.0f; // initialize to zero, avoid complaints.

OUT.vertPos = IN.vertPos;
OUT.UVCoord = IN.UVCoord;

return OUT;
}

static const float2 g_InvFocalLen = {
tan(0.5f * FOV) * raspect,
tan(0.5f * FOV)
};

static float2 sample_offset[N_SAMPLES] =
{
//#if N_SAMPLES >= 9
float2(-0.1376476f, 0.2842022f ),
float2(-0.626618f , 0.4594115f ),
float2(-0.8903138f, -0.05865424f),
float2( 0.2871419f, 0.8511679f ),
float2(-0.1525251f, -0.3870117f ),
float2( 0.6978705f, -0.2176773f ),
float2( 0.7343006f, 0.3774331f ),
float2( 0.1408805f, -0.88915f ),
float2(-0.6642616f, -0.543601f )
//#endif
};

static float sample_radius[N_SAMPLES] =
{
//#if N_SAMPLES >= 9
0.948832,
0.629516,
0.451554,
0.439389,
0.909372,
0.682344,
0.5642,
0.4353,
0.5130
//#endif
};

float3 getPosition(in float2 uv, in float eye_z) {
uv = (uv * float2(2.0, -2.0) - float2(1.0, -1.0));
float3 pos = float3(uv * g_InvFocalLen * eye_z, eye_z);
return pos;
}

float4 Illumination(VSOUT IN) : COLOR0 {
float depth = LinearDepth(IN.UVCoord);

[branch]
if (depth >= 0.99)
return float4(0.0, 0.0, 0.0, 1.0);

float3 pos = getPosition(IN.UVCoord, depth);
float3 dx = ddx(pos);
float3 dy = ddy(pos);
float3 norm = normalize(cross(dx, dy));
norm.y *= -1;

float sample_depth;

float3 II = float3(0, 0, 0);
float s = 0;

float2 rand_vec = rand_2_10(IN.UVCoord);
float2 sample_vec_divisor = g_InvFocalLen * depth * irangeZ / (IIRadiusMultiplier * 5000 * rcpres);
float2 sample_center = IN.UVCoord + norm.xy / sample_vec_divisor * float2(1, aspect);
float sample_center_depth = depth * irangeZ + norm.z * IIRadiusMultiplier * 20;

[loop]
for (int i = 0; i < N_SAMPLES; i++) {
float2 sample_vec = reflect(sample_offset[i], rand_vec) / sample_vec_divisor;
float2 sample_coords = sample_center + sample_vec * float2(1, aspect);

float curr_sample_radius = sample_radius[i] * IIRadiusMultiplier * 20;
float curr_sample_depth = irangeZ * LinearDepth(sample_coords);

if ((curr_sample_depth < sample_center_depth + curr_sample_radius) &&
(curr_sample_depth > sample_center_depth - curr_sample_radius)) {
float3 sample_pos = getPosition(sample_coords, curr_sample_depth);
float3 sample_dx = ddx(sample_pos);
float3 sample_dy = ddy(sample_pos);
float3 sample_norm = normalize(cross(sample_dx, sample_dy));

sample_norm.y *= -1;

float3 unit_vector = normalize(pos - sample_pos);

II += tex2D(FrmeSamplerL, sample_coords);
//* saturate(dot(norm, unit_vector))
//* saturate(dot(sample_norm, unit_vector));
}

s += 1;
}

II /= s * 5;

float fogNear = min( fogParams.x, 8000 );
float fogFar = min( fogParams.y, 20500 );
if (depth * irangeZ >= fogNear ) {
II *= saturate(lerp(1, 0, (depth * irangeZ - fogNear) / (fogFar-fogNear) ));
}

return float4(II, 1);
}

float4 Blur(VSOUT IN) : COLOR0 {
float3 color = tex2D(PassSamplerL, IN.UVCoord).rgb * 4;

color += tex2D(PassSamplerL, IN.UVCoord + float2( rcpres.x, 0)).rgb * 2;
color += tex2D(PassSamplerL, IN.UVCoord + float2(-rcpres.x, 0)).rgb * 2;
color += tex2D(PassSamplerL, IN.UVCoord + float2(0, rcpres.y)).rgb * 2;
color += tex2D(PassSamplerL, IN.UVCoord + float2(0, -rcpres.y)).rgb * 2;

color += tex2D(PassSamplerL, IN.UVCoord + rcpres ).rgb;
color += tex2D(PassSamplerL, IN.UVCoord - rcpres ).rgb;
color += tex2D(PassSamplerL, IN.UVCoord + rcpres * float2(1, -1)).rgb;
color += tex2D(PassSamplerL, IN.UVCoord - rcpres * float2(1, -1)).rgb;

color /= 16;

return float4(color, 1);
}

float4 Combine(VSOUT IN) : COLOR0 {
float3 color = tex2D(FrmeSamplerL, IN.UVCoord).rgb;
float3 II = tex2D(PassSamplerL, IN.UVCoord).rgb * IIStrengthMultiplier;

color += II;

#ifdef TEST_MODE
return float4(II, 1);
#endif

return float4(color, 1);
}

technique t0
<
int group = EFFECTGROUP_PRE;
int fxclass = EFFECTCLASS_LIGHT;
int conditions = EFFECTCOND_ZBUFFER;
>
{
pass {
VertexShader = compile vs_3_0 FrameVS();
PixelShader = compile ps_3_0 Illumination();
}

pass {
VertexShader = compile vs_3_0 FrameVS();
PixelShader = compile ps_3_0 Blur();
}

pass {
VertexShader = compile vs_3_0 FrameVS();
PixelShader = compile ps_3_0 Combine();
}
}
[/spoiler] Или для него потребуется и сам ССАО который тоже вроде отсутствует в EFLC??



GA-Z87X-OC,32gb DDRIII 2.4ghz,I7 4770k,Corsair H100i,GTX 690,SSD 256gb, 2XWD Velociraptor 1tb, Corsair RM1000w, Corsair Obsidian 900D
46.174.54.213:55555 CSS
 
offline
 feflv
Дата: Пятница, 2011-11-11, 12:49 | Сообщение # 1334
Пользователь
Сообщений: 2
Quote (AgainstAllAutority)
feflv, то,что тебе нужно начинается

ага, спасибо.
порылся, коды разные, ctrl+c ctrl+v не покатит, а с моим уровнем знаний редактировать не получится в принципе.
скопировал содержимое полностью, прописал чтоб брала эффекты из айсовской д3д9, заменил enbeffect на iceshaders (переименовал естественно), в итоге получил нужный доф, но испоганил картинку.
удалил effects, нужный доф остался, сделал вывод что нужный эффект скрывается именно в iceshaders.
вернул конфиг L3EVO обратно, заменил только enbeffect на iceshaders, получил нужный доф (и просто адовое размытие движения, но не оно цель), но картинка опять не та, точнее темнее чем хотелось бы, и как будто чего-то не хватает по сравнению с конфигом L3EVO.
решил подойти с другого бока - поставить ice, и максимально скопировать настройки L3EVO. получилась полная херня.
вывод - да черт с ним этим дофом. facepalm
 
offline
 Simple999
Дата: Пятница, 2011-11-11, 14:04 | Сообщение # 1335
Гангстер
Сообщений: 1000
Quote
float4 color

я тоже это убирал и работало.Еще до терки сдешней. Фпс с49 снизилось до 5 всех предупреждаю. Удалил к чертям этот годрейс.
Вооще херня какаета лучи и все. Лучьше с enbbloom побаловаться))


? 21.12.2013 - Дней на сайте: 999
 
Форум GtaMania.ru » Сайт и форум » Архив » ENB Series GTA 4 (Часть III) (Ваши настройки, инструкции, вопросы и т.д.)
Страница 89 из 400«128788899091399400»
Поиск:

Реклама:
GtaMania.ru - это открытый ресурс, позволяющий публиковать материалы любому пользователю сети интернет. Администрация не несет ответственности за опубликованные пользователями материалы. Любой материал может быть удален по просьбе автора, при предъявлении сканированных копий документов подтверждающих авторские права на конкретный материал.
При копировании материалов, гиперссылка на http://gtamania.ru/ ОБЯЗАТЕЛЬНА!
| Design by SandWicH | Copyright GtaMania.ru © 2008 - 2016
Rambler's Top100