Final Fantasy XIV 3D Vision fix (Possible??)
  7 / 16    
OK I am now booted into Windows 10 I just checked trhese things: 1. using lates version of 3D Migoto 1.2.43 check.. 2. checked the in and calls = 1 3. I ran the game and I hjad the overlay, I cycled through some shaders and tried saving a file which it did not.. I pressed numpad 3 button for saving the files.. I then exited out too look for a log of which I did not see a log file under win 10 FFXIV Game directory whenre 3D Migoto is installed.. so I do not get a log. I will double check the ini but I am unsure what else needs to be set in there it worked the other day.. as far as I know no Windows updates oof drivers of any kind where installed..
OK I am now booted into Windows 10 I just checked trhese things:


1. using lates version of 3D Migoto 1.2.43 check..

2. checked the in and calls = 1

3. I ran the game and I hjad the overlay, I cycled through some shaders and tried saving a file which it did not.. I pressed numpad 3 button for saving the files..

I then exited out too look for a log of which I did not see a log file under win 10 FFXIV Game directory whenre 3D Migoto is installed..

so I do not get a log. I will double check the ini but I am unsure what else needs to be set in there it worked the other day.. as far as I know no Windows updates oof drivers of any kind where installed..

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#91
Posted 08/22/2016 10:39 AM   
[quote] Sometimes you may need to apply that to multiple shaders. ie. one for the skybox, another for clouds, another for sun/moon, another for stars. in these cases, only applying this to one of them, ie. the stars, but not the skybox itself, would look weird since the stars' depth would be further back than the skybox, but visually they are appearing first layer wise (hopefully I explained that correctly). Not saying that is the case here, I can't say without working on the game myself, just a possible suggestion to look at. If it don't work then you'll have to simply revert back to whatever other solution (or just wait until I ever resub again! ;)). [/quote] Well I looked back at my post and it seems that fix did not get it working right.. I tried again and the stars are seen in the right eye but not the left.. so I am unsure what I could do about that.. Is it possible I have my convergance too high??
Sometimes you may need to apply that to multiple shaders. ie. one for the skybox, another for clouds, another for sun/moon, another for stars. in these cases, only applying this to one of them, ie. the stars, but not the skybox itself, would look weird since the stars' depth would be further back than the skybox, but visually they are appearing first layer wise (hopefully I explained that correctly). Not saying that is the case here, I can't say without working on the game myself, just a possible suggestion to look at. If it don't work then you'll have to simply revert back to whatever other solution (or just wait until I ever resub again! ;)).



Well I looked back at my post and it seems that fix did not get it working right.. I tried again and the stars are seen in the right eye but not the left.. so I am unsure what I could do about that..

Is it possible I have my convergance too high??

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#92
Posted 08/22/2016 09:32 PM   
Well looks like one for the Dofur book.. I kinda goofed on the code when I copied and pasted I forgot a semi colon after stereo.y ";" that ficed the skyies right up both day and night.. I also found that light shader and another shader on the map text.. I still need to find the light shader in dark rooms..
Well looks like one for the Dofur book.. I kinda goofed on the code when I copied and pasted I forgot a semi colon after stereo.y ";" that ficed the skyies right up both day and night.. I also found that light shader and another shader on the map text..

I still need to find the light shader in dark rooms..

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#93
Posted 08/22/2016 10:19 PM   
OK I am back on the Win 10 fix and I deleted the old fix and reinserted the 3D Migot and it still does not save screenshots or the ASM files.. I tried both version 1.2.27 and the newest 3D Migoto so I am unsure what is going on with that..
OK I am back on the Win 10 fix and I deleted the old fix and reinserted the 3D Migot and it still does not save screenshots or the ASM files..

I tried both version 1.2.27 and the newest 3D Migoto so I am unsure what is going on with that..

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#94
Posted 08/23/2016 02:17 PM   
deleted this post as it was wrong check next post ;)
deleted this post as it was wrong check next post ;)

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#95
Posted 08/23/2016 11:15 PM   
[code] ; Final Fantasy XIV 1 Fix by The_Nephilim ;------------------------------------------------------------------------------------------------------ ; Logging options. ; Comment line or set value to 0 for no logging. ;------------------------------------------------------------------------------------------------------ [Logging] ; Log all API usage calls=1 ; Log Input key actions input=1 ; Super verbose massive log debug=0 ; Unbuffered logging to avoid missing anything at file end unbuffered=0 ; Force the CPU affinity to use only a single CPU for debugging multi-threaded force_cpu_affinity=0 ; Log NVAPI convergence modifications convergence=1 ; Log NVAPI separation modifications separation=1 ; ------------------------------------------------------------------------------------------------------ ; Default constants to pass directly to shaders as IniParams ; ------------------------------------------------------------------------------------------------------ ;[Constants] ;x = 1.0 ;y = 1.0 z = 0.25, 0.5, 0.75, 0.9 [Key1] Key = [ type = cycle z = 0.25, 0.5, 0.75, 0.9 ; x7 is used by the 3DVision2SBS custom shader. To use, find the [Present] ; section below and uncomment the 'run = CustomShader3DVision2SBS' line. ; 0 = Regular 3D Vision ; 1 = Reversed 3D Vision ; 2 = Side by Side ; 3 = Reversed Side by Side ; 4 = Top and Bottom ; 5 = Reversed Top and Bottom x7 = 0 ;------------------------------------------------------------------------------------------------------ ; Custom settings override for any of [convergence, separation, x, y, z, w] ; ; Four types are supported - by default the bindings will simply load the ; configured settings, but type=hold can be specified to have a preset ; active while the button is held, type=toggle can be used to make a simple ; on/off toggle, and type=cycle can be used to cycle between several presets. ; ; Delays (type=hold only) and linear or cosine trasition periods (any key type) ; can be used to better synchonrise setting changes to the game's animations, ; or to smoothly adjust UI elements over a short period of time. ; ; Key bindings: For A-Z and 0-9 on the number row, just use that single ; character. For everything else (including mouse buttons), use the virtual key ; name (with or without the VK_ prefix) or hex code from this article: ; http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx ; ; Keys can also be from XBox controllers using: ; XB_LEFT_TRIGGER, XB_RIGHT_TRIGGER, ; XB_LEFT_SHOULDER, XB_RIGHT_SHOULDER, ; XB_LEFT_THUMB, XB_RIGHT_THUMB, ; XB_DPAD_UP, XB_DPAD_DOWN, XB_DPAD_LEFT, XB_DPAD_RIGHT, ; XB_A, XB_B, XB_X, XB_Y, XB_START, XB_BACK, XB_GUIDE ; By default all attached controllers are used - to associate a binding with a ; specific controller add the controller number 1-4 to the prefix, like ; XB2_LEFT_TRIGGER, though this may be more useful for hunting than playing. ;------------------------------------------------------------------------------------------------------ ; Example for changing default settings ;[Key1] ;Key = z ;separation = 100.0 ;convergence = 4.0 ;x = 0.98 ; Example to support momentary hold type overrides, like aiming. ;[Key2] ;Key = RBUTTON ;convergence = 0.1 ;type = hold ; Example for a toggle override. ;[Key3] ;Key = q ;separation = 0.1 ;type = toggle ;y = 0.0 ; Example for a momentary hold, but with a delay followed by a smooth ; transition (ms) on hold and release to sync better with the game. Note that ; delay only works with type=hold (for now), while transitions will work with ; all types. ;[Key4] ;Key = XB_LEFT_TRIGGER ;type = hold ;y = 0.25 ;delay = 100 ;transition = 100 ;transition_type = linear ;release_delay = 0 ;release_transition = 500 ;release_transition_type = cosine ; Example of a cycle transition that might be used to provide several presets ; that set both convergence and UI depth to suit different scenes in a game. ; Cosine transitions are used to smooth the changes over 1/10 of a second. ;[Key5] ;Key = Q ;type = cycle ;convergence = 1.45, 1.13, 0.98 ;z = 0.25, 0.5, 0.75 ;transition = 100 ;transition_type = cosine ;------------------------------------------------------------------------------------------------------ ; Shader hunting options. ; Default setup is to use keyboard similar to Helix presets ;------------------------------------------------------------------------------------------------------ [Hunting] ; 0: Release mode is with shader hunting disabled, optimized for speed. ; 1: Hunting mode enabled ; 2: Hunting mode "soft disabled" - can be turned on via the toggle_hunting key hunting=1 ; Highlight mode of currently selected shader / rendertarget. ; "skip" = skip shader. don't render anything using the currently selected shader. ; "original" = fall back to original shader if the currently selected shader was patched. ; "pink" = make the output hot pink to make it standout. ; "mono" = disable stereo for the selected shader / rendertarget. ; "zero" = shader output is all zero. NOTE: this has a big performance impact. marking_mode=skip ; Key bindings: For A-Z and 0-9 on the number row, just use that single ; character. For everything else (including mouse buttons), use the virtual key ; name (with or without the VK_ prefix) or hex code from this article: ; http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx ; ; XBox controllers are supported using the same bindings as the [Key] sections ; (see above). If the game already uses the first controller you might try ; using the second controller for hunting with e.g. XB2_LEFT_SHOULDER ; rotate through all VISIBLE pixel shaders at the current scene. previous_pixelshader=VK_NUMPAD1 next_pixelshader=VK_NUMPAD2 mark_pixelshader=VK_NUMPAD3 ; rotate through all VISIBLE vertex shaders at the current scene. previous_vertexshader=VK_NUMPAD4 next_vertexshader=VK_NUMPAD5 mark_vertexshader=VK_NUMPAD6 ; rotate through all USED index buffers at the current scene. previous_indexbuffer=VK_NUMPAD7 next_indexbuffer=VK_NUMPAD8 mark_indexbuffer=VK_NUMPAD9 ; rotate through all USED render targets at the current scene. previous_rendertarget=VK_DIVIDE next_rendertarget=VK_MULTIPLY mark_rendertarget=VK_SUBTRACT ; rotate through all VISIBLE geometry shaders at the current scene. ; This is disabled since these keys are commonly pressed while alt+tabbed out ;previous_geometryshader = < ;next_geometryshader = > ;mark_geometryshader = / ; rotate through all VISIBLE domain shaders at the current scene. ; This is disabled since these keys are commonly pressed while alt+tabbed out ;previous_domainshader = [ ;next_domainshader = ] ;mark_domainshader = \ ; rotate through all VISIBLE hull shaders at the current scene. ; This is disabled only because it is rarely needed ;previous_hullshader = MINUS ;next_hullshader = EQUALS ;mark_hullshader = BACKSPACE ; rotate through all USED compute shaders at the current scene. ; Disabling compute shaders may cause crashes, so these are ; not enabled by default: ;previous_computeshader = PAGE_UP ;next_computeshader = PAGE_DOWN ;mark_computeshader = HOME ; Re-enable shaders once done with hunting: done_hunting=VK_ADD ; Screenshot as pns take_screenshot=VK_SNAPSHOT ; reload all fixes from ShaderFixes folder reload_fixes=VK_F10 ; Key to turn hunting itself on/off. This will also show/hide overlay. ; Hunting must be set to either 1 or 2 to enable this toggle. toggle_hunting=VK_NUMPAD0 ; Key to reload the settings from the the d3dx.ini without restarting. This can ; be the same key as reload_fixes for convenience, or a different key may be ; used to avoid resetting the ini parameters every time the shaders are ; reloaded. Note that not all settings can be reloaded, so if something doesn't ; work as expected you may still have to restart the game: reload_config=VK_F10 ; Hold this key to temporarily disable the fix - useful to quickly check what ; an effect looked like in the original game. show_original=VK_F9 ; tunable parameter to use in modified shaders as variable (StereoParams.Load(int3(1,0,0)).xyzw) ; enabling tuning results in a small performance hit because the parameter texture ;tune_enable=1 ;tune_step=0.1 ;tune1_up=VK_INSERT ;tune1_down=VK_DELETE ;tune2_up=X ;tune2_down=Z ; Auto-repeat key rate in events per second. repeat_rate=6 ; Dumps out the contents of each render target after every immediate draw call ; for the next frame. Takes up a large amount of space, so disabled by default. ;analyse_frame=VK_F8 ; Specifies options for the frame analysis feature. Options can be combined by ; separating them with a space. ; log: Log draw calls and state changes (one log file per context) ; hold: Continue analysing subsequent frames while the key is held ; dump_rt_jps: Dumps out render targets as JPS files. These are the easiest to ; work with and don't take up as much space as DDS files, but they ; are not dumped for every render target and are missing some data. ; dump_rt_dds: Dumps out render targets as DDS files. WARNING: This option may ; require hundreds of gigabytes and a long time! Only use it if ; you absolutely need more information than you can get otherwise. ; Will also dump buffer type render targets & UAVs as .buf files. ; dump_rt: Dumps render targets as JPS files when possible, or DDS when not. ; clear_rt: Clears each render target the first time they are used in the ; frame. Makes it easier to see what is being drawn if the game ; doesn't clear them, but might cause some effects not to render. ; dump_depth: Dumps depth/stencil targets as DDS files ; dump_tex_jps: Dumps textures as JPS files ; dump_tex_dds: Dumps textures as DDS files (Same warning as for dump_rt_dds) ; Will also dump buffer type shader resource views as .buf files. ; dump_tex: Dumps textures as JPS files when possible, or DDS when not. ; dump_cb: Dumps constant buffers as binary .buf files ; dump_cb_txt: Decodes constant buffers as an array of float4s ; dump_vb: Dumps vertex buffers as binary .buf files ; dump_vb_txt: Decodes vertex buffers as an array of float4s ; dump_ib: Dumps index buffers as binary .buf files ; dump_ib_txt: Decodes index buffers ; filename_reg: Normally the draw number is the first part of the filename so ; that the files will be sorted in the order they were used in ; the game. Sometimes it is more desirable to examine how a ; specific output changed through the frame and this option will ; place the register number first in the filename to allow that. ; mono: Dump out mono textures instead of stereo. To dump both, specify ; 'mono stereo'. If neither are specified, defaults to stereo. ; analyse_options can also be specified in [ShaderOverride*] and ; [TextureOverride*] sections to set up triggers to change the options mid-way ; through a frame analysis, either for a single draw call (default), or ; permanently (by adding the 'persist' keyword). analyse_options = log dump_rt_jps clear_rt ;------------------------------------------------------------------------------------------------------ ; Chain load other wrapper DLLs instead of system DLLs. ;------------------------------------------------------------------------------------------------------ [System] ;proxy_d3d9=d3d9_helix.dll ;proxy_d3d11=d3d11_helix.dll ; Options to use hooking instead of wrapping. Used in MGSV. Possible objects to hook include: ; deferred_contexts ; immediate_context ; device ; all - all of the above ; crash/hang workarounds: ; except_set_shader_resources - work around crash on Win 7 with evil update ; except_set_samplers - work around crash on Win 10 ; except_set_rasterizer_state - work around crash on Win 7 without evil update ; skip_dxgi_factory - hack for MGSV, not recommended for other games as it ; may disable core 3DMigoto functionality in some cases ; recommended - hook supported objects, safe workarounds enabled, skips not enabled ;hook=recommended ; Options to allow IDXGIFactory2 to be created and wrapped. We have typically had good ; luck with returning an error for all non-dx11 requests, but some games error out ; with these checks in place. ; The allow_create_device allows D3D10 Device creation and is needed for some games. ; It has two options, allow_create_device=1, which will allow anything to go through ; without returning an error, and allow_create_device=2, which will force all requests ; to become D3D11 Devices, no matter what was passed in. ; ; Start with allow_check_interfaces, if that doesn't work then try allow_dxgi1_2, ; then try allow_create_device=2, lastly try allow_create_device=1 ;allow_check_interface=1 ;allow_dxgi1_2=1 ;allow_create_device=2 ;------------------------------------------------------------------------------------------------------ ; Settings to force display device to a specific mode. ; Uncomment a value to force the specific setting. ;------------------------------------------------------------------------------------------------------ [Device] ; overrides screen resolution. ;width=1280 ;height=720 ; overrides refresh rate set by game. ;refresh_rate=60 ; filters available video modes to those providing given refresh rates. ; some games don't explicitely set the refresh rate, but use the video mode. ; use this if setting refresh_rate doesn't work. ;filter_refresh_rate=24,59,60 ; full_screen=1 forces creation of full screen devices and swap chains. ; use this for 3dtvplay if game won't active stereo mode. ; full_screen=2 will also disable SetWindowPos which might help in some games. ;full_screen=1 ; This toggles forcing the full screen mode on and off. It will not take effect ; immediately, but will change what happens the next time the game tries to ; change the fullscreen mode. This is a specific hack to workaround a bug in ; Unity games, which crash when alt+tabbing out from exclusive mode fullscreen. ; ; To switch out of a Unity game without it crashing: ; Enable this option, Press F7, Alt+Enter, Alt+Tab ;toggle_full_screen = VK_F7 ; some games explicitely disable stereo, prohibiting any stereo attempts. ; settings this to 1 ignores all stereo disabling calls and also calls NvAPI_Stereo_Enable to force stereo on. ;force_stereo=1 ; almost all DX11 games deactivate window message handling. ; setting this to 1 reenables print screen handling, alt-tab key handling etc. allow_windowcommands=1 ; Indicates where the resolution is obtained for texture hashes. Comment this ; out to never special case hashes that match the resolution or a multiple. ; Possible values are swap_chain and depth_stencil. Recommended to test which ; works for a given game (e.g. CryEngine always creates a swap chain that ; matches the native resolution so has to use depth_stencil). get_resolution_from = swap_chain ;------------------------------------------------------------------------------------------------------ ; Settings for NVidia stereo driver. ;------------------------------------------------------------------------------------------------------ [Stereo] ; games which have their own stereo renderer disable the NVidia automatic ; stereo mode and render themselves into stereo buffers (Crysis 3 for example). ; Setting this to 1 disables the game stereo renderer and enables NVidia auto stereo mechanism. ; This also forces 'false' as a return for any request for NvAPI_Stereo_IsEnabled. automatic_mode=0 ; Some games (CryEngine games, for example) lock the separation & convergence ; to a specific value, which can be undesirable. Set this to 1 to ignore these ; requests from the game to unlock the separation: unlock_separation=0 unlock_convergence=0 ; games without predefined profiles can't save stereo settings. ; enabling this options automatically creates a profile for unknown games. create_profile=0 ; sets the global surface creation heuristic for NVidia stero driver. ; 0 = NVAPI_STEREO_SURFACECREATEMODE_AUTO - use driver registry profile settings for surface creation mode. ; 1 = NVAPI_STEREO_SURFACECREATEMODE_FORCESTEREO - Always create stereo surfaces. ; 2 = NVAPI_STEREO_SURFACECREATEMODE_FORCEMONO - Always create mono surfaces. ;surface_createmode=1 ; overrides surface creation mode for square surfaces. ;surface_square_createmode=1 ; Force the NvAPI_Initialize to return an error so that games think stereo and NVidia is unavailable. force_no_nvapi=0 ;------------------------------------------------------------------------------------------------------ ; Settings for GPU manipulations. ; Render settings override ;------------------------------------------------------------------------------------------------------ [Rendering] ; GPU program manipulations. ; Type of shader hashes in use: ; 3dmigoto = Traditional hash used by 3DMigoto (unseeded software FNV-1) ; embedded = Use the first half of the MD5-like hash embedded within the ; shaders to skip the hash calculation altogether. ; bytecode = Only hash bytecode and signatures with hardware accelerated ; CRC32C. Used to minimise duplicate shaders in certain games, but ; potentially carries a higher risk of hash collisions between ; unrelated shaders in some games (e.g. that only differ in ; variable names). May occasionally avoid hash changes on game ; updates due to changes in the game developer's build environment ; (shader compiler version, build path embedded in debug info, ; constants renamed, etc). Will not avoid hash changes if the ; shader code, constant values, etc are changed. shader_hash = 3dmigoto ; Shaders in game will be replaced by these custom shaders. override_directory=ShaderFixes ; Automatically patched shaders will be written here if caching is enabled. cache_directory=ShaderCache ; Shaders that are directly compiled by the game, instead of binary, go here. storage_directory=ShaderFromGame ; cache all compiled .txt shaders into .bin. this removes loading stalls. cache_shaders=0 ; thread save data structure access. required on multithreaded rendering. use_criticalsection=1 ; Setting this option disables scissor limits rasterizer_disable_scissor=1 ; Tracks copies and updates to textures which may cause their hash to become ; out of sync with their contents - enable if texture hashes seem unreliable: ;track_texture_updates=1 ; Registers where the StereoParams and IniParams textures will be assigned - ; change if the game already uses these registers. Newly decompiled shaders ; will use the new registers, but existing shaders will not be updated - best ; workflow is to remove ShaderCache after changing these and run a search and ; replace on all shaders in ShaderFixes. Set to -1 to disable if not required. stereo_params = 125 ini_params = 120 ;------------------------------------------------------------------------------------------------------ ; Analyzation options. ; ; save all autofixed shaders as HLSL export_fixed=0 ; save all shaders sent to DX11 as ASM, or as HLSL text files if compiled by game. export_shaders=0 ; save all shaders seen as HLSL code, autofixed or not. 1= HLSL only, 2=HLSL+OriginalASM, 3=HLSL+OriginalASM+RecompiledASM export_hlsl=0 ; stores a ShaderUsage.txt file on any marking button press. dump_usage=0 ;------------------------------------------------------------------------------------------------------ ; Automatic shader fixes. Those settings here apply only on newly read shaders. ; All existing *_replace.txt or *_replace.bin files are not tampered with. ; If you change settings here, the best workflow is to delete all shaders in ; the shader cache directory and let them be fixed again. ; Stereoize all shader parameters with position semantic. fix_sv_position=0 ; Pixel depth evaluation. ;fix_ZRepair_DepthTexture1=SceneDepthTexture.x ;fix_ZRepair_Dependencies1=MinZ_MaxZRatio ;fix_ZRepair_ZPosCalc1=zTex * MinZ_MaxZRatio.z - MinZ_MaxZRatio.w ;fix_ZRepair_DepthTexture2=SceneDepthTexture.x ;fix_ZRepair_Dependencies2= ;fix_ZRepair_ZPosCalc2=zTex ;fix_ZRepair_PositionTexture=PositionTexture ;fix_ZRepair_PositionCalc=1024 * %s ; Inject depth texture if other depth sources are unavailable. ;fix_ZRepair_DepthTextureHash=8a19f087b004598f ; Correct inverse transformations in pixel shaders using evaluated depth. ;fix_InvTransform=ScreenToLight,InverseTranslatedViewProjectionMatrix ; Back projection coordinate fix. ; ; Available variables in expressions: ; stereoParams.x = Separation value in range [0..1] or [-0..-1] dependent on active eye ; stereoParams.y = Convergence value in w coordinates (1/z) ; stereoParams.z = -1/1 for left/right eye ; stereoParams.w = Separation value without eye separation ; stereoTune.x = tune value 1 (default is 1) ; stereoTune.y = tune value 2 (default is 1) ; stereoTune.z = tune value 3 (default is 1) ; stereoTune.w = tune value 4 (default is 1) ; stereoScreenRes.x = Primary swap chain backbuffer horizontal resolution ; stereoScreenRes.y = Primary swap chain backbuffer vertical resolution ; zpos = current pixel z position in pixel shader ; wpos = current pixel w position in pixel shader ; Send inverse transformations from vertex shaders to pixel shaders. ;fix_BackProjectionTransform1=ScreenToTranslatedWorldMatrix._m00,ScreenToTranslatedWorldMatrix._m02,ScreenToTranslatedWorldMatrix._m01 ;fix_BackProjectionTransform2=ScreenToWorld._m00,ScreenToWorld._m02,ScreenToWorld._m01 ; Position variables to correct in pixel shaders. ;fix_ObjectPosition1=PointPositionAndInverseRadius ;fix_ObjectPosition1Multiplier=1, (stereoScreenRes.x/stereoScreenRes.y)*0.5, -0.5 ;fix_ObjectPosition2=SpotPositionAndInverseRadius ;fix_ObjectPosition2Multiplier=1, (stereoScreenRes.x/stereoScreenRes.y)*0.5, -0.5 ; Matrix multiplications to correct in pixel shaders. ;fix_MatrixOperand1=TranslatedWorldToShadowMatrix ;fix_MatrixOperand1Multiplier=1, (stereoScreenRes.x/stereoScreenRes.y)*0.5 - viewDirection.z*0.05 + (0.02791946-stereoParams.x/stereoParams.w), 0 ; autofix shader option: recompiles all vertex shaders. fixes minor differences in deferred rendering. ;recompile_all_vs=0 ;------------------------------------------------------------------------------------------------------ ; Shader manipulations without patches + shader filtering. ;------------------------------------------------------------------------------------------------------ [shaderoverride1] hash=0ecaaa3a296cc862 handling=skip [shaderoverride2] hash=096d30f476f22a18 handling=skip [shaderoverride3] hash=a854b61d33ff3310 handling=skip [shaderoverride4] hash=b99884a80c0653f4 handling=skip [shaderoverride5] hash=cec1fb47486a0e52 handling=skip [shaderoverride6] hash=fac217e61637cce8 handling=skip [shaderoverride7] hash=661aff5ef8512fd6 handling=skip [shaderoverride8] hash=7731b1f1d02a75aa handling=skip [shaderoverride9] hash=10c490cec21afcc6 handling=skip [shaderoverride10] hash=286031d1b949abea handling=skip [shaderoverride11] hash=81f50c1bdb6233a0 handling=skip ;Cinematics convergance settings ;Convergance setting for Cinematics Configurable to your desired Convergance.. [KeyCinematics] Key = , convergence = 1.5 ;Ingame Convergance setting ; Convergance setting for ingame playing.. P Key switches back from O key to set for cinematic.. [KeyGameplay] Key = . convergence = 4.0 ; Custom stereo separation value while rendering objects using this shader. ;Separation=0 ; Custom stereo convergence value while rendering objects using this ; shader (e.g. convergence=0 will move an object to infinity). ;Convergence=0 ; don't draw anything using this shader. ;Handling=skip ; advanced option: use this to override only if this shader is used rendering the given index buffer. ;IndexBufferFilter=b3e56ebc ; Use replaced shader only when there is no active depth buffer (for UI filtering) ;depth_filter = depth_inactive ; Use replaced shader only when there *IS* an active depth buffer (for UI filtering) ;depth_filter = depth_active ; Only use replaced shader when it is used in conjunction with a specific shader ; (e.g. to adjust a vertex shader ONLY when it is used with a specific pixel shader) ;partner=af7b880f07630615 ; Override a value from [Constants] when this shader is used: ;x=2.0 ; Pass the dimensions of the active render target and resolution (obtained with ; get_resolution_from) into the shader: ;x1=rt_width ;y1=rt_height ;z1=res_width ;w1=res_height ; Use t0 from active pixel shader for texture filtering. Will be 0 if no ; [TextureOverride*] section exists for the texture or 1 if one does. For advanced ; filtering, set a value for filter_index in the [TextureOverride] section. ;x2=ps-t0 ; Override the shader model to allow using newer features like Texture2DMS: ;model=vs_5_0 ; There's also support for copying textures, constant buffers, depth buffers, ; etc. from one shader to another. This is a complex topic - see this page: ; https://github.com/bo3b/3Dmigoto/wiki/Resource-Copying ;------------------------------------------------------------------------------------------------------ ; texture / render target manipulations ;------------------------------------------------------------------------------------------------------ ; ; NOTE: If you are trying to match a texture the same size as the resolution (or ; a /2, x2, x4 or x8 multiple), you should confirm that the same hash is used ; on different resolutions, and adjust get_resolution_from if necessary. ; ; NOTE: If you find a texture hash seems to change inconsistently, try enabling ; track_texture_updates in the [Rendering] section. ; ;[TextureOverride1] ;Hash=c3e55ebd ; NVidia stores surface creation mode heuristics in the game profile. setting ; this option overrides the creation mode for a given texture / buffer. ; 0 = NVAPI_STEREO_SURFACECREATEMODE_AUTO - use driver registry profile settings. ; 1 = NVAPI_STEREO_SURFACECREATEMODE_FORCESTEREO - create stereo surface. ; 2 = NVAPI_STEREO_SURFACECREATEMODE_FORCEMONO - create mono surface. ;StereoMode=2 ;[TextureOverride2] ;Hash = e27b9d07 ; Prevent the game reading from this texture - will give the game a blank ; buffer instead. Used to prevent CryEngine games falsely culling objects. Use ; debug logging and look for Map calls to identify possible hashes. ;deny_cpu_read=1 ; Expand the region copied to this texture with CopySubresourceRegion (similar ; issue to rasterizer_disable_scissor). Used to solve issues with transparent ; refraction effects (like glass) in CryEngine games. ;expand_region_copy=1 ;------------------------------------------------------------------------------------------------------ ; Example of settings override by mouse button configuration ; Mapping of from game provided hard coded convergence values to custom values ; Those are values for L.A. Noir ; Example of settings override by mouse button configuration ;------------------------------------------------------------------------------------------------------ ;[ConvergenceMap] ;Map1=from 3e99999a to 0.3 ;Map2=from 3f800000 to 1.0 ;Map3=from 3f666666 to 0.9 ;------------------------------------------------------------------------------------------------------ ; Commands to run from the Present call at the start/end of each frame ; ; Useful to clear custom resources or ini params at the start of each frame, or ; to run a custom shader to do whatever you can dream up. ;------------------------------------------------------------------------------------------------------ [Present] ; Clear an ini param at the start of each frame: ;x = 0 ; Clear a custom resource at the start of each frame: ;ResourceDepthBuffer = null ; Uncomment to enable a custom shader that allows the stereo output mode to be ; changed to Side-by-Side or Top-and-Bottom: ;run = CustomShader3DVision2SBS ; The following custom shader can convert 3D Vision to Side-by-Side and ; Top-and-Bottom for use with 3D TVs & projectors - to enable this uncomment ; the 'run = CustomShader3DVision2SBS' in the [Present] section, set 3D Vision ; to output "checkerboard" in the control panel (which will remove the 720p ; limitation) and enable this either via the F11 key, or by setting a default ; for x7 in the [Constants] section. [Resource3DVision2SBSBackupTexture] [CustomShader3DVision2SBS] ; Load a custom vertex + pixel shader: vs = ShaderFixes/3dvision2sbsvs.hlsl ps = ShaderFixes/3dvision2sbsps.hlsl ; Explicitly unbind other shader types for safety: hs = null ds = null gs = null ; Disable the OM blend stage that could interfere with the shader: blend = disable ; Disable front/back face culling so the vertices can be in any rotation: cull = none ; Use a triangle strip topology so we only have to output four vertices: topology = triangle_strip ; Clear all render + depth targets to avoid compatibility issues: o1 = null o2 = null o3 = null o4 = null o5 = null o6 = null o7 = null oD = null ; Bind the back buffer as a render target. set_viewport ensures that the view ; port is the size of the buffer so the draw call will work, and no_view_cache ; is necessary for a few games like Mad Max: o0 = set_viewport no_view_cache bb ; Back up any textures that were in the ps-t100 slot. The CustomResource ; section will already back up a lot of state, including shaders, render ; targets, depth targets, UAVs, viewports, blend state, rasterizer state, ; primitive topology, etc. but it does not back up textures: Resource3DVision2SBSBackupTexture = reference ps-t100 ; Use the reverse stereo blit to give the shader access to the back buffers of ; both eyes: ps-t100 = stereo2mono bb ; Draw four vertices. The vertex shader will construct coordinates to cover the ; full screen using the SV_VertexID semantic so we don't need vertex buffers: draw = 4, 0 ; Restore the original texture from the ps-t100 slot: post ps-t100 = reference Resource3DVision2SBSBackupTexture [KeyChange3DVision2SBSOutputMode] key = F11 ; 0 = Regular 3D Vision ; 1 = Reversed 3D Vision ; 2 = Side by Side ; 3 = Reversed Side by Side ; 4 = Top and Bottom ; 5 = Reversed Top and Bottom x7 = 1, 2, 3, 4, 5, 0 type = cycle [/code]
;    Final Fantasy XIV 1  Fix by The_Nephilim


;------------------------------------------------------------------------------------------------------
; Logging options.
; Comment line or set value to 0 for no logging.
;------------------------------------------------------------------------------------------------------
[Logging]

; Log all API usage
calls=1

; Log Input key actions
input=1

; Super verbose massive log
debug=0

; Unbuffered logging to avoid missing anything at file end
unbuffered=0

; Force the CPU affinity to use only a single CPU for debugging multi-threaded
force_cpu_affinity=0

; Log NVAPI convergence modifications
convergence=1
; Log NVAPI separation modifications
separation=1


; ------------------------------------------------------------------------------------------------------
; Default constants to pass directly to shaders as IniParams
; ------------------------------------------------------------------------------------------------------
;[Constants]
;x = 1.0
;y = 1.0
z = 0.25, 0.5, 0.75, 0.9

[Key1]
Key = [
type = cycle
z = 0.25, 0.5, 0.75, 0.9

; x7 is used by the 3DVision2SBS custom shader. To use, find the [Present]
; section below and uncomment the 'run = CustomShader3DVision2SBS' line.
; 0 = Regular 3D Vision
; 1 = Reversed 3D Vision
; 2 = Side by Side
; 3 = Reversed Side by Side
; 4 = Top and Bottom
; 5 = Reversed Top and Bottom
x7 = 0


;------------------------------------------------------------------------------------------------------
; Custom settings override for any of [convergence, separation, x, y, z, w]
;
; Four types are supported - by default the bindings will simply load the
; configured settings, but type=hold can be specified to have a preset
; active while the button is held, type=toggle can be used to make a simple
; on/off toggle, and type=cycle can be used to cycle between several presets.
;
; Delays (type=hold only) and linear or cosine trasition periods (any key type)
; can be used to better synchonrise setting changes to the game's animations,
; or to smoothly adjust UI elements over a short period of time.
;
; Key bindings: For A-Z and 0-9 on the number row, just use that single
; character. For everything else (including mouse buttons), use the virtual key
; name (with or without the VK_ prefix) or hex code from this article:
; http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx

;
; Keys can also be from XBox controllers using:
; XB_LEFT_TRIGGER, XB_RIGHT_TRIGGER,
; XB_LEFT_SHOULDER, XB_RIGHT_SHOULDER,
; XB_LEFT_THUMB, XB_RIGHT_THUMB,
; XB_DPAD_UP, XB_DPAD_DOWN, XB_DPAD_LEFT, XB_DPAD_RIGHT,
; XB_A, XB_B, XB_X, XB_Y, XB_START, XB_BACK, XB_GUIDE
; By default all attached controllers are used - to associate a binding with a
; specific controller add the controller number 1-4 to the prefix, like
; XB2_LEFT_TRIGGER, though this may be more useful for hunting than playing.
;------------------------------------------------------------------------------------------------------

; Example for changing default settings
;[Key1]
;Key = z
;separation = 100.0
;convergence = 4.0
;x = 0.98

; Example to support momentary hold type overrides, like aiming.
;[Key2]
;Key = RBUTTON
;convergence = 0.1
;type = hold



; Example for a toggle override.
;[Key3]
;Key = q
;separation = 0.1
;type = toggle
;y = 0.0

; Example for a momentary hold, but with a delay followed by a smooth
; transition (ms) on hold and release to sync better with the game. Note that
; delay only works with type=hold (for now), while transitions will work with
; all types.
;[Key4]
;Key = XB_LEFT_TRIGGER
;type = hold
;y = 0.25
;delay = 100
;transition = 100
;transition_type = linear
;release_delay = 0
;release_transition = 500
;release_transition_type = cosine

; Example of a cycle transition that might be used to provide several presets
; that set both convergence and UI depth to suit different scenes in a game.
; Cosine transitions are used to smooth the changes over 1/10 of a second.
;[Key5]
;Key = Q
;type = cycle
;convergence = 1.45, 1.13, 0.98
;z = 0.25, 0.5, 0.75
;transition = 100
;transition_type = cosine


;------------------------------------------------------------------------------------------------------
; Shader hunting options.
; Default setup is to use keyboard similar to Helix presets
;------------------------------------------------------------------------------------------------------
[Hunting]

; 0: Release mode is with shader hunting disabled, optimized for speed.
; 1: Hunting mode enabled
; 2: Hunting mode "soft disabled" - can be turned on via the toggle_hunting key
hunting=1
; Highlight mode of currently selected shader / rendertarget.
; "skip" = skip shader. don't render anything using the currently selected shader.
; "original" = fall back to original shader if the currently selected shader was patched.
; "pink" = make the output hot pink to make it standout.
; "mono" = disable stereo for the selected shader / rendertarget.
; "zero" = shader output is all zero. NOTE: this has a big performance impact.
marking_mode=skip

; Key bindings: For A-Z and 0-9 on the number row, just use that single
; character. For everything else (including mouse buttons), use the virtual key
; name (with or without the VK_ prefix) or hex code from this article:
; http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx

;
; XBox controllers are supported using the same bindings as the [Key] sections
; (see above). If the game already uses the first controller you might try
; using the second controller for hunting with e.g. XB2_LEFT_SHOULDER

; rotate through all VISIBLE pixel shaders at the current scene.
previous_pixelshader=VK_NUMPAD1
next_pixelshader=VK_NUMPAD2
mark_pixelshader=VK_NUMPAD3

; rotate through all VISIBLE vertex shaders at the current scene.
previous_vertexshader=VK_NUMPAD4
next_vertexshader=VK_NUMPAD5
mark_vertexshader=VK_NUMPAD6

; rotate through all USED index buffers at the current scene.
previous_indexbuffer=VK_NUMPAD7
next_indexbuffer=VK_NUMPAD8
mark_indexbuffer=VK_NUMPAD9

; rotate through all USED render targets at the current scene.
previous_rendertarget=VK_DIVIDE
next_rendertarget=VK_MULTIPLY
mark_rendertarget=VK_SUBTRACT

; rotate through all VISIBLE geometry shaders at the current scene.
; This is disabled since these keys are commonly pressed while alt+tabbed out
;previous_geometryshader = <
;next_geometryshader = >
;mark_geometryshader = /

; rotate through all VISIBLE domain shaders at the current scene.
; This is disabled since these keys are commonly pressed while alt+tabbed out
;previous_domainshader = [
;next_domainshader = ]
;mark_domainshader = \

; rotate through all VISIBLE hull shaders at the current scene.
; This is disabled only because it is rarely needed
;previous_hullshader = MINUS
;next_hullshader = EQUALS
;mark_hullshader = BACKSPACE

; rotate through all USED compute shaders at the current scene.
; Disabling compute shaders may cause crashes, so these are
; not enabled by default:
;previous_computeshader = PAGE_UP
;next_computeshader = PAGE_DOWN
;mark_computeshader = HOME

; Re-enable shaders once done with hunting:
done_hunting=VK_ADD

; Screenshot as pns
take_screenshot=VK_SNAPSHOT

; reload all fixes from ShaderFixes folder
reload_fixes=VK_F10

; Key to turn hunting itself on/off. This will also show/hide overlay.
; Hunting must be set to either 1 or 2 to enable this toggle.
toggle_hunting=VK_NUMPAD0

; Key to reload the settings from the the d3dx.ini without restarting. This can
; be the same key as reload_fixes for convenience, or a different key may be
; used to avoid resetting the ini parameters every time the shaders are
; reloaded. Note that not all settings can be reloaded, so if something doesn't
; work as expected you may still have to restart the game:
reload_config=VK_F10

; Hold this key to temporarily disable the fix - useful to quickly check what
; an effect looked like in the original game.
show_original=VK_F9

; tunable parameter to use in modified shaders as variable (StereoParams.Load(int3(1,0,0)).xyzw)
; enabling tuning results in a small performance hit because the parameter texture
;tune_enable=1
;tune_step=0.1
;tune1_up=VK_INSERT
;tune1_down=VK_DELETE
;tune2_up=X
;tune2_down=Z

; Auto-repeat key rate in events per second.
repeat_rate=6

; Dumps out the contents of each render target after every immediate draw call
; for the next frame. Takes up a large amount of space, so disabled by default.
;analyse_frame=VK_F8

; Specifies options for the frame analysis feature. Options can be combined by
; separating them with a space.
; log: Log draw calls and state changes (one log file per context)
; hold: Continue analysing subsequent frames while the key is held
; dump_rt_jps: Dumps out render targets as JPS files. These are the easiest to
; work with and don't take up as much space as DDS files, but they
; are not dumped for every render target and are missing some data.
; dump_rt_dds: Dumps out render targets as DDS files. WARNING: This option may
; require hundreds of gigabytes and a long time! Only use it if
; you absolutely need more information than you can get otherwise.
; Will also dump buffer type render targets & UAVs as .buf files.
; dump_rt: Dumps render targets as JPS files when possible, or DDS when not.
; clear_rt: Clears each render target the first time they are used in the
; frame. Makes it easier to see what is being drawn if the game
; doesn't clear them, but might cause some effects not to render.
; dump_depth: Dumps depth/stencil targets as DDS files
; dump_tex_jps: Dumps textures as JPS files
; dump_tex_dds: Dumps textures as DDS files (Same warning as for dump_rt_dds)
; Will also dump buffer type shader resource views as .buf files.
; dump_tex: Dumps textures as JPS files when possible, or DDS when not.
; dump_cb: Dumps constant buffers as binary .buf files
; dump_cb_txt: Decodes constant buffers as an array of float4s
; dump_vb: Dumps vertex buffers as binary .buf files
; dump_vb_txt: Decodes vertex buffers as an array of float4s
; dump_ib: Dumps index buffers as binary .buf files
; dump_ib_txt: Decodes index buffers
; filename_reg: Normally the draw number is the first part of the filename so
; that the files will be sorted in the order they were used in
; the game. Sometimes it is more desirable to examine how a
; specific output changed through the frame and this option will
; place the register number first in the filename to allow that.
; mono: Dump out mono textures instead of stereo. To dump both, specify
; 'mono stereo'. If neither are specified, defaults to stereo.
; analyse_options can also be specified in [ShaderOverride*] and
; [TextureOverride*] sections to set up triggers to change the options mid-way
; through a frame analysis, either for a single draw call (default), or
; permanently (by adding the 'persist' keyword).
analyse_options = log dump_rt_jps clear_rt



;------------------------------------------------------------------------------------------------------
; Chain load other wrapper DLLs instead of system DLLs.
;------------------------------------------------------------------------------------------------------
[System]

;proxy_d3d9=d3d9_helix.dll
;proxy_d3d11=d3d11_helix.dll

; Options to use hooking instead of wrapping. Used in MGSV. Possible objects to hook include:
; deferred_contexts
; immediate_context
; device
; all - all of the above
; crash/hang workarounds:
; except_set_shader_resources - work around crash on Win 7 with evil update
; except_set_samplers - work around crash on Win 10
; except_set_rasterizer_state - work around crash on Win 7 without evil update
; skip_dxgi_factory - hack for MGSV, not recommended for other games as it
; may disable core 3DMigoto functionality in some cases
; recommended - hook supported objects, safe workarounds enabled, skips not enabled
;hook=recommended

; Options to allow IDXGIFactory2 to be created and wrapped. We have typically had good
; luck with returning an error for all non-dx11 requests, but some games error out
; with these checks in place.
; The allow_create_device allows D3D10 Device creation and is needed for some games.
; It has two options, allow_create_device=1, which will allow anything to go through
; without returning an error, and allow_create_device=2, which will force all requests
; to become D3D11 Devices, no matter what was passed in.
;
; Start with allow_check_interfaces, if that doesn't work then try allow_dxgi1_2,
; then try allow_create_device=2, lastly try allow_create_device=1
;allow_check_interface=1
;allow_dxgi1_2=1
;allow_create_device=2


;------------------------------------------------------------------------------------------------------
; Settings to force display device to a specific mode.
; Uncomment a value to force the specific setting.
;------------------------------------------------------------------------------------------------------
[Device]

; overrides screen resolution.
;width=1280
;height=720

; overrides refresh rate set by game.
;refresh_rate=60

; filters available video modes to those providing given refresh rates.
; some games don't explicitely set the refresh rate, but use the video mode.
; use this if setting refresh_rate doesn't work.
;filter_refresh_rate=24,59,60

; full_screen=1 forces creation of full screen devices and swap chains.
; use this for 3dtvplay if game won't active stereo mode.
; full_screen=2 will also disable SetWindowPos which might help in some games.
;full_screen=1

; This toggles forcing the full screen mode on and off. It will not take effect
; immediately, but will change what happens the next time the game tries to
; change the fullscreen mode. This is a specific hack to workaround a bug in
; Unity games, which crash when alt+tabbing out from exclusive mode fullscreen.
;
; To switch out of a Unity game without it crashing:
; Enable this option, Press F7, Alt+Enter, Alt+Tab
;toggle_full_screen = VK_F7

; some games explicitely disable stereo, prohibiting any stereo attempts.
; settings this to 1 ignores all stereo disabling calls and also calls NvAPI_Stereo_Enable to force stereo on.
;force_stereo=1

; almost all DX11 games deactivate window message handling.
; setting this to 1 reenables print screen handling, alt-tab key handling etc.
allow_windowcommands=1

; Indicates where the resolution is obtained for texture hashes. Comment this
; out to never special case hashes that match the resolution or a multiple.
; Possible values are swap_chain and depth_stencil. Recommended to test which
; works for a given game (e.g. CryEngine always creates a swap chain that
; matches the native resolution so has to use depth_stencil).
get_resolution_from = swap_chain


;------------------------------------------------------------------------------------------------------
; Settings for NVidia stereo driver.
;------------------------------------------------------------------------------------------------------
[Stereo]

; games which have their own stereo renderer disable the NVidia automatic
; stereo mode and render themselves into stereo buffers (Crysis 3 for example).
; Setting this to 1 disables the game stereo renderer and enables NVidia auto stereo mechanism.
; This also forces 'false' as a return for any request for NvAPI_Stereo_IsEnabled.
automatic_mode=0

; Some games (CryEngine games, for example) lock the separation & convergence
; to a specific value, which can be undesirable. Set this to 1 to ignore these
; requests from the game to unlock the separation:
unlock_separation=0
unlock_convergence=0

; games without predefined profiles can't save stereo settings.
; enabling this options automatically creates a profile for unknown games.
create_profile=0

; sets the global surface creation heuristic for NVidia stero driver.
; 0 = NVAPI_STEREO_SURFACECREATEMODE_AUTO - use driver registry profile settings for surface creation mode.
; 1 = NVAPI_STEREO_SURFACECREATEMODE_FORCESTEREO - Always create stereo surfaces.
; 2 = NVAPI_STEREO_SURFACECREATEMODE_FORCEMONO - Always create mono surfaces.
;surface_createmode=1

; overrides surface creation mode for square surfaces.
;surface_square_createmode=1

; Force the NvAPI_Initialize to return an error so that games think stereo and NVidia is unavailable.
force_no_nvapi=0


;------------------------------------------------------------------------------------------------------
; Settings for GPU manipulations.
; Render settings override
;------------------------------------------------------------------------------------------------------
[Rendering]

; GPU program manipulations.

; Type of shader hashes in use:
; 3dmigoto = Traditional hash used by 3DMigoto (unseeded software FNV-1)
; embedded = Use the first half of the MD5-like hash embedded within the
; shaders to skip the hash calculation altogether.
; bytecode = Only hash bytecode and signatures with hardware accelerated
; CRC32C. Used to minimise duplicate shaders in certain games, but
; potentially carries a higher risk of hash collisions between
; unrelated shaders in some games (e.g. that only differ in
; variable names). May occasionally avoid hash changes on game
; updates due to changes in the game developer's build environment
; (shader compiler version, build path embedded in debug info,
; constants renamed, etc). Will not avoid hash changes if the
; shader code, constant values, etc are changed.
shader_hash = 3dmigoto

; Shaders in game will be replaced by these custom shaders.
override_directory=ShaderFixes

; Automatically patched shaders will be written here if caching is enabled.
cache_directory=ShaderCache

; Shaders that are directly compiled by the game, instead of binary, go here.
storage_directory=ShaderFromGame

; cache all compiled .txt shaders into .bin. this removes loading stalls.
cache_shaders=0

; thread save data structure access. required on multithreaded rendering.
use_criticalsection=1

; Setting this option disables scissor limits
rasterizer_disable_scissor=1

; Tracks copies and updates to textures which may cause their hash to become
; out of sync with their contents - enable if texture hashes seem unreliable:
;track_texture_updates=1

; Registers where the StereoParams and IniParams textures will be assigned -
; change if the game already uses these registers. Newly decompiled shaders
; will use the new registers, but existing shaders will not be updated - best
; workflow is to remove ShaderCache after changing these and run a search and
; replace on all shaders in ShaderFixes. Set to -1 to disable if not required.
stereo_params = 125
ini_params = 120

;------------------------------------------------------------------------------------------------------
; Analyzation options.
;
; save all autofixed shaders as HLSL
export_fixed=0

; save all shaders sent to DX11 as ASM, or as HLSL text files if compiled by game.
export_shaders=0

; save all shaders seen as HLSL code, autofixed or not. 1= HLSL only, 2=HLSL+OriginalASM, 3=HLSL+OriginalASM+RecompiledASM
export_hlsl=0

; stores a ShaderUsage.txt file on any marking button press.
dump_usage=0

;------------------------------------------------------------------------------------------------------
; Automatic shader fixes. Those settings here apply only on newly read shaders.
; All existing *_replace.txt or *_replace.bin files are not tampered with.
; If you change settings here, the best workflow is to delete all shaders in
; the shader cache directory and let them be fixed again.

; Stereoize all shader parameters with position semantic.
fix_sv_position=0

; Pixel depth evaluation.
;fix_ZRepair_DepthTexture1=SceneDepthTexture.x
;fix_ZRepair_Dependencies1=MinZ_MaxZRatio
;fix_ZRepair_ZPosCalc1=zTex * MinZ_MaxZRatio.z - MinZ_MaxZRatio.w
;fix_ZRepair_DepthTexture2=SceneDepthTexture.x
;fix_ZRepair_Dependencies2=
;fix_ZRepair_ZPosCalc2=zTex
;fix_ZRepair_PositionTexture=PositionTexture
;fix_ZRepair_PositionCalc=1024 * %s

; Inject depth texture if other depth sources are unavailable.
;fix_ZRepair_DepthTextureHash=8a19f087b004598f

; Correct inverse transformations in pixel shaders using evaluated depth.
;fix_InvTransform=ScreenToLight,InverseTranslatedViewProjectionMatrix

; Back projection coordinate fix.
;
; Available variables in expressions:
; stereoParams.x = Separation value in range [0..1] or [-0..-1] dependent on active eye
; stereoParams.y = Convergence value in w coordinates (1/z)
; stereoParams.z = -1/1 for left/right eye
; stereoParams.w = Separation value without eye separation
; stereoTune.x = tune value 1 (default is 1)
; stereoTune.y = tune value 2 (default is 1)
; stereoTune.z = tune value 3 (default is 1)
; stereoTune.w = tune value 4 (default is 1)
; stereoScreenRes.x = Primary swap chain backbuffer horizontal resolution
; stereoScreenRes.y = Primary swap chain backbuffer vertical resolution
; zpos = current pixel z position in pixel shader
; wpos = current pixel w position in pixel shader

; Send inverse transformations from vertex shaders to pixel shaders.
;fix_BackProjectionTransform1=ScreenToTranslatedWorldMatrix._m00,ScreenToTranslatedWorldMatrix._m02,ScreenToTranslatedWorldMatrix._m01
;fix_BackProjectionTransform2=ScreenToWorld._m00,ScreenToWorld._m02,ScreenToWorld._m01

; Position variables to correct in pixel shaders.
;fix_ObjectPosition1=PointPositionAndInverseRadius
;fix_ObjectPosition1Multiplier=1, (stereoScreenRes.x/stereoScreenRes.y)*0.5, -0.5
;fix_ObjectPosition2=SpotPositionAndInverseRadius
;fix_ObjectPosition2Multiplier=1, (stereoScreenRes.x/stereoScreenRes.y)*0.5, -0.5

; Matrix multiplications to correct in pixel shaders.
;fix_MatrixOperand1=TranslatedWorldToShadowMatrix
;fix_MatrixOperand1Multiplier=1, (stereoScreenRes.x/stereoScreenRes.y)*0.5 - viewDirection.z*0.05 + (0.02791946-stereoParams.x/stereoParams.w), 0

; autofix shader option: recompiles all vertex shaders. fixes minor differences in deferred rendering.
;recompile_all_vs=0

;------------------------------------------------------------------------------------------------------
; Shader manipulations without patches + shader filtering.
;------------------------------------------------------------------------------------------------------
[shaderoverride1]
hash=0ecaaa3a296cc862
handling=skip

[shaderoverride2]
hash=096d30f476f22a18
handling=skip

[shaderoverride3]
hash=a854b61d33ff3310
handling=skip

[shaderoverride4]
hash=b99884a80c0653f4
handling=skip

[shaderoverride5]
hash=cec1fb47486a0e52
handling=skip

[shaderoverride6]
hash=fac217e61637cce8
handling=skip

[shaderoverride7]
hash=661aff5ef8512fd6
handling=skip

[shaderoverride8]
hash=7731b1f1d02a75aa
handling=skip

[shaderoverride9]
hash=10c490cec21afcc6
handling=skip

[shaderoverride10]
hash=286031d1b949abea
handling=skip

[shaderoverride11]
hash=81f50c1bdb6233a0
handling=skip




;Cinematics convergance settings
;Convergance setting for Cinematics Configurable to your desired Convergance..
[KeyCinematics]
Key = ,
convergence = 1.5

;Ingame Convergance setting
; Convergance setting for ingame playing.. P Key switches back from O key to set for cinematic..
[KeyGameplay]
Key = .
convergence = 4.0

; Custom stereo separation value while rendering objects using this shader.
;Separation=0
; Custom stereo convergence value while rendering objects using this
; shader (e.g. convergence=0 will move an object to infinity).
;Convergence=0
; don't draw anything using this shader.
;Handling=skip
; advanced option: use this to override only if this shader is used rendering the given index buffer.
;IndexBufferFilter=b3e56ebc
; Use replaced shader only when there is no active depth buffer (for UI filtering)
;depth_filter = depth_inactive
; Use replaced shader only when there *IS* an active depth buffer (for UI filtering)
;depth_filter = depth_active
; Only use replaced shader when it is used in conjunction with a specific shader
; (e.g. to adjust a vertex shader ONLY when it is used with a specific pixel shader)
;partner=af7b880f07630615
; Override a value from [Constants] when this shader is used:
;x=2.0
; Pass the dimensions of the active render target and resolution (obtained with
; get_resolution_from) into the shader:
;x1=rt_width
;y1=rt_height
;z1=res_width
;w1=res_height
; Use t0 from active pixel shader for texture filtering. Will be 0 if no
; [TextureOverride*] section exists for the texture or 1 if one does. For advanced
; filtering, set a value for filter_index in the [TextureOverride] section.
;x2=ps-t0
; Override the shader model to allow using newer features like Texture2DMS:
;model=vs_5_0
; There's also support for copying textures, constant buffers, depth buffers,
; etc. from one shader to another. This is a complex topic - see this page:
; https://github.com/bo3b/3Dmigoto/wiki/Resource-Copying



;------------------------------------------------------------------------------------------------------
; texture / render target manipulations
;------------------------------------------------------------------------------------------------------
;
; NOTE: If you are trying to match a texture the same size as the resolution (or
; a /2, x2, x4 or x8 multiple), you should confirm that the same hash is used
; on different resolutions, and adjust get_resolution_from if necessary.
;
; NOTE: If you find a texture hash seems to change inconsistently, try enabling
; track_texture_updates in the [Rendering] section.
;
;[TextureOverride1]
;Hash=c3e55ebd
; NVidia stores surface creation mode heuristics in the game profile. setting
; this option overrides the creation mode for a given texture / buffer.
; 0 = NVAPI_STEREO_SURFACECREATEMODE_AUTO - use driver registry profile settings.
; 1 = NVAPI_STEREO_SURFACECREATEMODE_FORCESTEREO - create stereo surface.
; 2 = NVAPI_STEREO_SURFACECREATEMODE_FORCEMONO - create mono surface.
;StereoMode=2

;[TextureOverride2]
;Hash = e27b9d07
; Prevent the game reading from this texture - will give the game a blank
; buffer instead. Used to prevent CryEngine games falsely culling objects. Use
; debug logging and look for Map calls to identify possible hashes.
;deny_cpu_read=1
; Expand the region copied to this texture with CopySubresourceRegion (similar
; issue to rasterizer_disable_scissor). Used to solve issues with transparent
; refraction effects (like glass) in CryEngine games.
;expand_region_copy=1


;------------------------------------------------------------------------------------------------------
; Example of settings override by mouse button configuration
; Mapping of from game provided hard coded convergence values to custom values
; Those are values for L.A. Noir
; Example of settings override by mouse button configuration
;------------------------------------------------------------------------------------------------------
;[ConvergenceMap]

;Map1=from 3e99999a to 0.3
;Map2=from 3f800000 to 1.0
;Map3=from 3f666666 to 0.9


;------------------------------------------------------------------------------------------------------
; Commands to run from the Present call at the start/end of each frame
;
; Useful to clear custom resources or ini params at the start of each frame, or
; to run a custom shader to do whatever you can dream up.
;------------------------------------------------------------------------------------------------------
[Present]
; Clear an ini param at the start of each frame:
;x = 0
; Clear a custom resource at the start of each frame:
;ResourceDepthBuffer = null
; Uncomment to enable a custom shader that allows the stereo output mode to be
; changed to Side-by-Side or Top-and-Bottom:
;run = CustomShader3DVision2SBS


; The following custom shader can convert 3D Vision to Side-by-Side and
; Top-and-Bottom for use with 3D TVs & projectors - to enable this uncomment
; the 'run = CustomShader3DVision2SBS' in the [Present] section, set 3D Vision
; to output "checkerboard" in the control panel (which will remove the 720p
; limitation) and enable this either via the F11 key, or by setting a default
; for x7 in the [Constants] section.
[Resource3DVision2SBSBackupTexture]
[CustomShader3DVision2SBS]
; Load a custom vertex + pixel shader:
vs = ShaderFixes/3dvision2sbsvs.hlsl
ps = ShaderFixes/3dvision2sbsps.hlsl
; Explicitly unbind other shader types for safety:
hs = null
ds = null
gs = null
; Disable the OM blend stage that could interfere with the shader:
blend = disable
; Disable front/back face culling so the vertices can be in any rotation:
cull = none
; Use a triangle strip topology so we only have to output four vertices:
topology = triangle_strip
; Clear all render + depth targets to avoid compatibility issues:
o1 = null
o2 = null
o3 = null
o4 = null
o5 = null
o6 = null
o7 = null
oD = null
; Bind the back buffer as a render target. set_viewport ensures that the view
; port is the size of the buffer so the draw call will work, and no_view_cache
; is necessary for a few games like Mad Max:
o0 = set_viewport no_view_cache bb
; Back up any textures that were in the ps-t100 slot. The CustomResource
; section will already back up a lot of state, including shaders, render
; targets, depth targets, UAVs, viewports, blend state, rasterizer state,
; primitive topology, etc. but it does not back up textures:
Resource3DVision2SBSBackupTexture = reference ps-t100
; Use the reverse stereo blit to give the shader access to the back buffers of
; both eyes:
ps-t100 = stereo2mono bb
; Draw four vertices. The vertex shader will construct coordinates to cover the
; full screen using the SV_VertexID semantic so we don't need vertex buffers:
draw = 4, 0
; Restore the original texture from the ps-t100 slot:
post ps-t100 = reference Resource3DVision2SBSBackupTexture

[KeyChange3DVision2SBSOutputMode]
key = F11
; 0 = Regular 3D Vision
; 1 = Reversed 3D Vision
; 2 = Side by Side
; 3 = Reversed Side by Side
; 4 = Top and Bottom
; 5 = Reversed Top and Bottom
x7 = 1, 2, 3, 4, 5, 0
type = cycle

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#96
Posted 08/24/2016 12:00 AM   
OK I know I should check the log but incase anybody missed that post. I do not get a log file.. I checked and double checked it is not there.. So maybe that tells us something or not but I am at a loss what to do and how to go about doing it.. I just posted the ini incase anybody wanted to look at it in the meantime.. but if the log file is not being saved there must or could be a bigger issue..
OK I know I should check the log but incase anybody missed that post. I do not get a log file.. I checked and double checked it is not there..

So maybe that tells us something or not but I am at a loss what to do and how to go about doing it..

I just posted the ini incase anybody wanted to look at it in the meantime.. but if the log file is not being saved there must or could be a bigger issue..

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#97
Posted 08/24/2016 01:53 AM   
Good luck with this. I just picked this up and started messing around with the windows 7 version of your fix. Nice work. Only thing I notice is some bad skyboxes (when using your recommended settings.) and some shadow problems. Character self shadows seem to be at the wrong depth, so I have disabled them. Is this right?
Good luck with this. I just picked this up and started messing around with the windows 7 version of your fix. Nice work.

Only thing I notice is some bad skyboxes (when using your recommended settings.) and some shadow problems.
Character self shadows seem to be at the wrong depth, so I have disabled them.

Is this right?

i7-4790K CPU 4.8Ghz stable overclock.
16 GB RAM Corsair
ASUS Turbo 2080TI
Samsung SSD 840Pro
ASUS Z97-WS3D
Surround ASUS Rog Swift PG278Q(R), 2x PG278Q (yes it works)
Obutto R3volution.
Windows 10 pro 64x (Windows 7 Dual boot)

#98
Posted 08/24/2016 03:56 AM   
WEll you should have all the shadopws off as ingame settings.. Which skyboxes look off the day or night ones.. they should all be fixed or do the skyboxes look off when setting the convergance with the period key??
WEll you should have all the shadopws off as ingame settings.. Which skyboxes look off the day or night ones.. they should all be fixed or do the skyboxes look off when setting the convergance with the period key??

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#99
Posted 08/24/2016 04:18 AM   
Well I did a rework of the Win 7 fix. Shadows on NPC's and Characters should be set at screendepth. they look much better now so shadows for players can be set to display. bit I have not released it yet.. I am waiting to see the stars to get them fixed but I think they are good.. I did not see anything wrong with them before except when I hit the hot key for convergance.. So I proablly need to find a happy medium there.. I am unsure what else to try with the skyboxes as they where set to infinity.. V3.0 should be done by tomorrow afternoon keep an eye out on the Helixmod site... Now a question to the modders, when I get thos txt files for 3D Migoto would they be the same numbers that is handed out across the different version of Windows?? I ask as the fix for Win 10 is too use a different version of 3D Migot so I was wondering If I could just transfer the fix from win 7 but only the shaderfix folder and ini folder to the Win 10 version?? Thank you all
Well I did a rework of the Win 7 fix. Shadows on NPC's and Characters should be set at screendepth. they look much better now so shadows for players can be set to display. bit I have not released it yet..

I am waiting to see the stars to get them fixed but I think they are good.. I did not see anything wrong with them before except when I hit the hot key for convergance.. So I proablly need to find a happy medium there..

I am unsure what else to try with the skyboxes as they where set to infinity..

V3.0 should be done by tomorrow afternoon keep an eye out on the Helixmod site...

Now a question to the modders, when I get thos txt files for 3D Migoto would they be the same numbers that is handed out across the different version of Windows??

I ask as the fix for Win 10 is too use a different version of 3D Migot so I was wondering If I could just transfer the fix from win 7 but only the shaderfix folder and ini folder to the Win 10 version??

Thank you all

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

Posted 08/24/2016 07:26 AM   
I took a quick look at your shader for the stars: [code] //stars to infinity float4 params = IniParams.Load(0); float4 stereo = StereoParams.Load(0); v0.x+=stereo.x*stereo.y; [/code] And that won't work. v0 comes in as an input parameter, and in order to have an effect, you need to modify the output parameter of o0. You'll want the same idea, but use o0 instead: [code]// Infinity adjustment float4 stereo = StereoParams.Load(0); o0.x += stereo.x * stereo.y;[/code] As a general rule, you should be able to use any version of 3Dmigoto. Always use the latest version unless there seems to be a problem, and even there, there are multiple options that can probably fix the problem. Using old versions is problematic because there are features like the SBS that people want that are missing in older versions. More importantly, this isn't HelixMod, we have the code. If there is a problem, we need to know about it so we can fix it. We don't want ShaderHackers to dick around with multiple version all the time. We want the latest to be the best we currently know.
I took a quick look at your shader for the stars:

//stars to infinity 
float4 params = IniParams.Load(0);
float4 stereo = StereoParams.Load(0);
v0.x+=stereo.x*stereo.y;

And that won't work. v0 comes in as an input parameter, and in order to have an effect, you need to modify the output parameter of o0.

You'll want the same idea, but use o0 instead:

// Infinity adjustment
float4 stereo = StereoParams.Load(0);
o0.x += stereo.x * stereo.y;


As a general rule, you should be able to use any version of 3Dmigoto. Always use the latest version unless there seems to be a problem, and even there, there are multiple options that can probably fix the problem.

Using old versions is problematic because there are features like the SBS that people want that are missing in older versions. More importantly, this isn't HelixMod, we have the code. If there is a problem, we need to know about it so we can fix it. We don't want ShaderHackers to dick around with multiple version all the time. We want the latest to be the best we currently know.

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

Posted 08/24/2016 11:19 AM   
Hi bo3b, if I need to use the o0 pasramater does that mean I need to find the Vertex Shader for that particular star shader.. When I find the VS they are usually o0 and the PS are usually Vo.. So does it matter if I use the VS or the PS?? Or is it I just input the code to either accordingly?? I was instructed to look after Void main then look for SV_Position0.. that tells me which one to use. usually the say either Vo or o0. so I thought when I find SV_Output that told me which parameter to use for that code?? Also if you want us to use the latest and there is a problem with the latest version to tell you coders something is broke.. well that is good news as I would like to report v1.2.43 of 3D Migo does not work with Win 10 64bit version.. I usually get a System Crash or it just plain does nothing.. I would post a log but right now neither version gives me a log to post in Win 10??
Hi bo3b, if I need to use the o0 pasramater does that mean I need to find the Vertex Shader for that particular star shader.. When I find the VS they are usually o0 and the PS are usually Vo..

So does it matter if I use the VS or the PS?? Or is it I just input the code to either accordingly??

I was instructed to look after Void main then look for SV_Position0.. that tells me which one to use. usually the say either Vo or o0. so I thought when I find SV_Output that told me which parameter to use for that code??


Also if you want us to use the latest and there is a problem with the latest version to tell you coders something is broke.. well that is good news as I would like to report v1.2.43 of 3D Migo does not work with Win 10 64bit version..

I usually get a System Crash or it just plain does nothing.. I would post a log but right now neither version gives me a log to post in Win 10??

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

Posted 08/24/2016 02:44 PM   
[quote="The_Nephilim"]Hi bo3b, if I need to use the o0 pasramater does that mean I need to find the Vertex Shader for that particular star shader.. When I find the VS they are usually o0 and the PS are usually Vo.. So does it matter if I use the VS or the PS?? Or is it I just input the code to either accordingly?? I was instructed to look after Void main then look for SV_Position0.. that tells me which one to use. usually the say either Vo or o0. so I thought when I find SV_Output that told me which parameter to use for that code??[/quote] Sorry, I didn't realize that was a PixelShader when I looked at it. This is an unusual way to go about it. The output of the Vertex Shader does directly go into the Pixel Shader, so they are the same values. But, as a general rule you'll want to fix location problems in the Vertex Shaders as they specify the locations. I don't think I've ever seen anybody fix the location in a Pixel Shader, but I expect that is possible in principle. I'd recommend against it though if for no other reason than it's different than what everyone else does. I don't think that you can alter the input parameter like the v0 for a PixelShader. I'm fairly sure those are set to read-only, although HLSL might allow something. In any case, if you go that route, you can't do it at the bottom, you have to apply the stereo correction *before* the value gets used. The output of a PixelShader is a colored pixel, not a location. In this shader, I don't know how it works though, as I see that v0 is not used in the shader. So, that suggests it doesn't care about location at all, and uses the v1 or v2 textures, or something else. Best bet- find the Vertex Shader and do the formula on the o0/position parameter. [quote="The_Nephilim"]Also if you want us to use the latest and there is a problem with the latest version to tell you coders something is broke.. well that is good news as I would like to report v1.2.43 of 3D Migo does not work with Win 10 64bit version.. I usually get a System Crash or it just plain does nothing.. I would post a log but right now neither version gives me a log to post in Win 10??[/quote] OK, good to know. Pretty sure this must be game specific because I've used the latest version on Win10 before. Crashing before getting a log is usually because of other overlay conflicts. Be certain nothing, and I mean nothing, else is interfering. The log gets started at the very first invocation of the tool, so lack of log means the tool is blocked or interfering with something else. Sometimes a crash will take out the log because it's buffered, so the most solid way to generate a log for a crash scenario is: [code]; Log all API usage calls=1 ; Log Input key actions input=1 ; Super verbose massive log debug=1 ; Unbuffered logging to avoid missing anything at file end unbuffered=1 [/code]
The_Nephilim said:Hi bo3b, if I need to use the o0 pasramater does that mean I need to find the Vertex Shader for that particular star shader.. When I find the VS they are usually o0 and the PS are usually Vo..

So does it matter if I use the VS or the PS?? Or is it I just input the code to either accordingly??

I was instructed to look after Void main then look for SV_Position0.. that tells me which one to use. usually the say either Vo or o0. so I thought when I find SV_Output that told me which parameter to use for that code??

Sorry, I didn't realize that was a PixelShader when I looked at it. This is an unusual way to go about it.

The output of the Vertex Shader does directly go into the Pixel Shader, so they are the same values. But, as a general rule you'll want to fix location problems in the Vertex Shaders as they specify the locations. I don't think I've ever seen anybody fix the location in a Pixel Shader, but I expect that is possible in principle. I'd recommend against it though if for no other reason than it's different than what everyone else does.

I don't think that you can alter the input parameter like the v0 for a PixelShader. I'm fairly sure those are set to read-only, although HLSL might allow something. In any case, if you go that route, you can't do it at the bottom, you have to apply the stereo correction *before* the value gets used. The output of a PixelShader is a colored pixel, not a location.

In this shader, I don't know how it works though, as I see that v0 is not used in the shader. So, that suggests it doesn't care about location at all, and uses the v1 or v2 textures, or something else.

Best bet- find the Vertex Shader and do the formula on the o0/position parameter.


The_Nephilim said:Also if you want us to use the latest and there is a problem with the latest version to tell you coders something is broke.. well that is good news as I would like to report v1.2.43 of 3D Migo does not work with Win 10 64bit version..

I usually get a System Crash or it just plain does nothing.. I would post a log but right now neither version gives me a log to post in Win 10??

OK, good to know. Pretty sure this must be game specific because I've used the latest version on Win10 before.

Crashing before getting a log is usually because of other overlay conflicts. Be certain nothing, and I mean nothing, else is interfering. The log gets started at the very first invocation of the tool, so lack of log means the tool is blocked or interfering with something else.

Sometimes a crash will take out the log because it's buffered, so the most solid way to generate a log for a crash scenario is:

; Log all API usage
calls=1

; Log Input key actions
input=1

; Super verbose massive log
debug=1

; Unbuffered logging to avoid missing anything at file end
unbuffered=1

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

Posted 08/24/2016 03:18 PM   
[quote="bo3b"]I don't think that you can alter the input parameter like the v0 for a PixelShader. I'm fairly sure those are set to read-only, although HLSL might allow something.[/quote] It is unorthodox, but I've seen DSS do it in some of his fixes, and I have in turn done the same so I can confirm that it is, in fact, possible to modify the v* inputs. Everything else you said was spot on, of course. Still, it is best to modify the outputs of vertex shaders. Often one VS will pair up with several PS's, so fixing the output of the one VS will generally fix all of the PS's (if they all need it), whereas if you are fixing the inputs of the PS's, then you'll need to do so for each and every one.
bo3b said:I don't think that you can alter the input parameter like the v0 for a PixelShader. I'm fairly sure those are set to read-only, although HLSL might allow something.


It is unorthodox, but I've seen DSS do it in some of his fixes, and I have in turn done the same so I can confirm that it is, in fact, possible to modify the v* inputs. Everything else you said was spot on, of course.

Still, it is best to modify the outputs of vertex shaders. Often one VS will pair up with several PS's, so fixing the output of the one VS will generally fix all of the PS's (if they all need it), whereas if you are fixing the inputs of the PS's, then you'll need to do so for each and every one.

3D Gaming Rig: CPU: i7 7700K @ 4.9Ghz | Mobo: Asus Maximus Hero VIII | RAM: Corsair Dominator 16GB | GPU: 2 x GTX 1080 Ti SLI | 3xSSDs for OS and Apps, 2 x HDD's for 11GB storage | PSU: Seasonic X-1250 M2| Case: Corsair C70 | Cooling: Corsair H115i Hydro cooler | Displays: Asus PG278QR, BenQ XL2420TX & BenQ HT1075 | OS: Windows 10 Pro + Windows 7 dual boot

Like my fixes? Dontations can be made to: www.paypal.me/DShanz or rshannonca@gmail.com
Like electronic music? Check out: www.soundcloud.com/dj-ryan-king

Posted 08/24/2016 05:43 PM   
OK guys it seems using the VS and o0 registers it fixed the night sky perfectly.. I could not believe how good the sky looked it was almost as realistic as a real sky.. I just need to know what is best for clouds in fair skies, I think to set at depth would work best.. but I will try both but was wondering what the experts had too say..
OK guys it seems using the VS and o0 registers it fixed the night sky perfectly.. I could not believe how good the sky looked it was almost as realistic as a real sky..

I just need to know what is best for clouds in fair skies, I think to set at depth would work best.. but I will try both but was wondering what the experts had too say..

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

Posted 08/25/2016 01:37 AM   
  7 / 16    
Scroll To Top