ReShade 3.0 Progress Discussion
- lowenz
Please Log in or Create an account to join the conversation.
- crosire
- Topic Author
ReShade 3.0 does not expect a specific file layout. How and where you put the shaders is entirely up to you. Only because the files are in a "Shaders" folder on GitHub does not mean you have to put them there on your harddrive too. You can just as well create a new folder in your user documents folder or some place else and put the fx and texture files in there. Just make sure you add that path to the effect (and texture) search paths on the Settings tab.lowenz wrote: Ah, maybe there's another problem.....some games have a native "Shaders" folder in the same dir of the exe ReShade hooks (see DX2).....
Please Log in or Create an account to join the conversation.
- lowenz
18/06/2016 17:15:09:452 [03328] | INFO | Initializing crosire's ReShade version '3.0.0.70' (32-bit) built on '2016-06-18 16:30:52' loaded from 'C:\Thief - Deadly Shadows\System\DXGI.DLL' to 'C:\Thief - Deadly Shadows\System\Thief3.exe' ...
18/06/2016 17:15:09:462 [03328] | INFO | Registering hooks for 'C:\Windows\system32\d3d8.dll' ...
18/06/2016 17:15:09:463 [03328] | INFO | > Delayed.
18/06/2016 17:15:09:463 [03328] | INFO | Registering hooks for 'C:\Windows\system32\d3d9.dll' ...
18/06/2016 17:15:09:464 [03328] | INFO | > Delayed.
18/06/2016 17:15:09:464 [03328] | INFO | Registering hooks for 'C:\Windows\system32\d3d10.dll' ...
18/06/2016 17:15:09:464 [03328] | INFO | > Delayed.
18/06/2016 17:15:09:465 [03328] | INFO | Registering hooks for 'C:\Windows\system32\d3d10_1.dll' ...
18/06/2016 17:15:09:465 [03328] | INFO | > Delayed.
18/06/2016 17:15:09:465 [03328] | INFO | Registering hooks for 'C:\Windows\system32\d3d11.dll' ...
18/06/2016 17:15:09:466 [03328] | INFO | > Delayed.
18/06/2016 17:15:09:466 [03328] | INFO | Registering hooks for 'C:\Windows\system32\d3d12.dll' ...
18/06/2016 17:15:09:467 [03328] | INFO | > Delayed.
18/06/2016 17:15:09:467 [03328] | INFO | Registering hooks for 'C:\Windows\system32\dxgi.dll' ...
18/06/2016 17:15:09:467 [03328] | INFO | > Delayed.
18/06/2016 17:15:09:467 [03328] | INFO | Registering hooks for 'C:\Windows\system32\opengl32.dll' ...
18/06/2016 17:15:09:468 [03328] | INFO | > Delayed.
18/06/2016 17:15:09:468 [03328] | INFO | Registering hooks for 'C:\Windows\system32\user32.dll' ...
18/06/2016 17:15:09:469 [03328] | INFO | > Libraries loaded.
18/06/2016 17:15:09:469 [03328] | INFO | > Found 11 match(es). Installing ...
18/06/2016 17:15:09:489 [03328] | INFO | > Installed 11 hook(s).
18/06/2016 17:15:09:489 [03328] | INFO | Registering hooks for 'C:\Windows\system32\ws2_32.dll' ...
18/06/2016 17:15:09:489 [03328] | INFO | > Libraries loaded.
18/06/2016 17:15:09:489 [03328] | INFO | > Found 8 match(es). Installing ...
18/06/2016 17:15:09:504 [03328] | INFO | > Installed 8 hook(s).
18/06/2016 17:15:09:504 [03328] | INFO | Initialized.
18/06/2016 17:15:09:505 [03328] | INFO | Installing delayed hooks for 'C:\Windows\system32\d3d11.dll' (Just loaded via 'LoadLibraryA("D3D11.DLL")') ...
18/06/2016 17:15:09:505 [03328] | INFO | > Found 2 match(es). Installing ...
18/06/2016 17:15:09:509 [03328] | INFO | > Installed 2 hook(s).
18/06/2016 17:15:09:511 [03328] | INFO | Redirecting 'RegisterClassExA(0018DBC8)' ...
18/06/2016 17:15:09:511 [03328] | INFO | > Adding 'CS_OWNDC' window class style flag to 'DGD3D11ROOT'.
18/06/2016 17:15:09:512 [03328] | INFO | Installing delayed hooks for 'C:\Windows\system32\dxgi.dll' ...
18/06/2016 17:15:09:512 [03328] | INFO | > Found 6 match(es). Installing ...
18/06/2016 17:15:09:512 [03328] | INFO | > Installed 6 hook(s).
18/06/2016 17:15:09:512 [03328] | INFO | Redirecting 'CreateDXGIFactory1({770AAE78-F26F-4DBA-A829-253C83D1B387}, 004C2AC8)' ...
18/06/2016 17:15:09:516 [03328] | INFO | Redirecting 'CreateDXGIFactory1({770AAE78-F26F-4DBA-A829-253C83D1B387}, 0018DBEC)' ...
18/06/2016 17:15:09:520 [03328] | INFO | Redirecting 'D3D11CreateDevice(03BA8968, 0, 00000000, 0, 1004511C, 1, 7, 004B00BC, 004B00C8, 004B00C0)' ...
18/06/2016 17:15:09:520 [03328] | INFO | > Passing on to 'D3D11CreateDeviceAndSwapChain':
18/06/2016 17:15:09:520 [03328] | INFO | Redirecting 'D3D11CreateDeviceAndSwapChain(03BA8968, 0, 00000000, 0, 1004511C, 1, 7, 00000000, 00000000, 004B00BC, 004B00C8, 004B00C0)' ...
18/06/2016 17:15:10:114 [03328] | INFO | Redirecting 'RegisterClassExA(0018DFCC)' ...
18/06/2016 17:15:10:134 [03328] | INFO | Redirecting 'RegisterRawInputDevices(74DB1AC0, 1, 12)' ...
18/06/2016 17:15:10:158 [03328] | INFO | Redirecting 'IDXGIFactory::CreateSwapChain(03BA8460, 00473F70, 0018DC5C, 004C2AF8)' ...
18/06/2016 17:15:10:183 [03328] | INFO | Starting input capture for window 004F01B0 ...
18/06/2016 17:15:10:191 [03328] | INFO | Recreated runtime environment on runtime 03C723C8.
18/06/2016 17:15:10:734 [03328] | INFO | Redirecting 'IDXGISwapChain::SetFullscreenState(03BDB368, FALSE, 00000000)' ...
18/06/2016 17:15:10:734 [03328] | INFO | Destroyed runtime environment on runtime 03C723C8.
18/06/2016 17:15:10:735 [03328] | INFO | Redirecting 'IDXGIFactory::CreateSwapChain(03BA8460, 00473F70, 0018DC64, 004C2AF8)' ...
18/06/2016 17:15:10:759 [03328] | INFO | Starting input capture for window 004F01B0 ...
18/06/2016 17:15:10:767 [03328] | INFO | Recreated runtime environment on runtime 03C85D10.
18/06/2016 17:15:11:704 [03328] | INFO | Redirecting 'IDXGISwapChain::SetFullscreenState(03CB0640, FALSE, 00000000)' ...
18/06/2016 17:15:11:704 [03328] | INFO | Redirecting 'IDXGISwapChain::SetFullscreenState(03CB0640, TRUE, 03D3B330)' ...
18/06/2016 17:15:21:480 [03328] | INFO | Redirecting 'RegisterRawInputDevices(74DB1AFC, 1, 12)' ...
18/06/2016 17:15:21:480 [03328] | INFO | Redirecting 'RegisterRawInputDevices(74DB1AC0, 1, 12)' ...
Please Log in or Create an account to join the conversation.
- lowenz
Thanks!crosire wrote:
ReShade 3.0 does not expect a specific file layout. How and where you put the shaders is entirely up to you. Only because the files are in a "Shaders" folder on GitHub does not mean you have to put them there on your harddrive too. You can just as well create a new folder in your user documents folder or some place else and put the fx and texture files in there. Just make sure you add that path to the effect (and texture) search paths on the Settings tab.lowenz wrote: Ah, maybe there's another problem.....some games have a native "Shaders" folder in the same dir of the exe ReShade hooks (see DX2).....
Please Log in or Create an account to join the conversation.
- bopper2010
Please Log in or Create an account to join the conversation.
- Ioxa
Are there any plans to add values that can't be adjusted in real-time to the UI? In some of my shaders I have options to increase the number of passes or decrease texture sizes and I can't figure out a way to do that without using #define and #if/#endif. The settings can be adjusted in the shader files but that is nowhere near as convenient as adjusting them in the UI.
Another issue I'm having as I add more shaders is that the settings all seem to blend together, it would be nice to have a divider between shader settings so you can easily see where the settings for one end and the next begin.
Please Log in or Create an account to join the conversation.
- lowenz
lowenz wrote: Thief Deadly Shadows + Sneaky Upgrade + dgVoodoo2 hangs loading (after the intro videos):
18/06/2016 17:15:09:452 [03328] | INFO | Initializing crosire's ReShade version '3.0.0.70' (32-bit) built on '2016-06-18 16:30:52' loaded from 'C:\Thief - Deadly Shadows\System\DXGI.DLL' to 'C:\Thief - Deadly Shadows\System\Thief3.exe' ... 18/06/2016 17:15:09:462 [03328] | INFO | Registering hooks for 'C:\Windows\system32\d3d8.dll' ... 18/06/2016 17:15:09:463 [03328] | INFO | > Delayed. 18/06/2016 17:15:09:463 [03328] | INFO | Registering hooks for 'C:\Windows\system32\d3d9.dll' ... 18/06/2016 17:15:09:464 [03328] | INFO | > Delayed. 18/06/2016 17:15:09:464 [03328] | INFO | Registering hooks for 'C:\Windows\system32\d3d10.dll' ... 18/06/2016 17:15:09:464 [03328] | INFO | > Delayed. 18/06/2016 17:15:09:465 [03328] | INFO | Registering hooks for 'C:\Windows\system32\d3d10_1.dll' ... 18/06/2016 17:15:09:465 [03328] | INFO | > Delayed. 18/06/2016 17:15:09:465 [03328] | INFO | Registering hooks for 'C:\Windows\system32\d3d11.dll' ... 18/06/2016 17:15:09:466 [03328] | INFO | > Delayed. 18/06/2016 17:15:09:466 [03328] | INFO | Registering hooks for 'C:\Windows\system32\d3d12.dll' ... 18/06/2016 17:15:09:467 [03328] | INFO | > Delayed. 18/06/2016 17:15:09:467 [03328] | INFO | Registering hooks for 'C:\Windows\system32\dxgi.dll' ... 18/06/2016 17:15:09:467 [03328] | INFO | > Delayed. 18/06/2016 17:15:09:467 [03328] | INFO | Registering hooks for 'C:\Windows\system32\opengl32.dll' ... 18/06/2016 17:15:09:468 [03328] | INFO | > Delayed. 18/06/2016 17:15:09:468 [03328] | INFO | Registering hooks for 'C:\Windows\system32\user32.dll' ... 18/06/2016 17:15:09:469 [03328] | INFO | > Libraries loaded. 18/06/2016 17:15:09:469 [03328] | INFO | > Found 11 match(es). Installing ... 18/06/2016 17:15:09:489 [03328] | INFO | > Installed 11 hook(s). 18/06/2016 17:15:09:489 [03328] | INFO | Registering hooks for 'C:\Windows\system32\ws2_32.dll' ... 18/06/2016 17:15:09:489 [03328] | INFO | > Libraries loaded. 18/06/2016 17:15:09:489 [03328] | INFO | > Found 8 match(es). Installing ... 18/06/2016 17:15:09:504 [03328] | INFO | > Installed 8 hook(s). 18/06/2016 17:15:09:504 [03328] | INFO | Initialized. 18/06/2016 17:15:09:505 [03328] | INFO | Installing delayed hooks for 'C:\Windows\system32\d3d11.dll' (Just loaded via 'LoadLibraryA("D3D11.DLL")') ... 18/06/2016 17:15:09:505 [03328] | INFO | > Found 2 match(es). Installing ... 18/06/2016 17:15:09:509 [03328] | INFO | > Installed 2 hook(s). 18/06/2016 17:15:09:511 [03328] | INFO | Redirecting 'RegisterClassExA(0018DBC8)' ... 18/06/2016 17:15:09:511 [03328] | INFO | > Adding 'CS_OWNDC' window class style flag to 'DGD3D11ROOT'. 18/06/2016 17:15:09:512 [03328] | INFO | Installing delayed hooks for 'C:\Windows\system32\dxgi.dll' ... 18/06/2016 17:15:09:512 [03328] | INFO | > Found 6 match(es). Installing ... 18/06/2016 17:15:09:512 [03328] | INFO | > Installed 6 hook(s). 18/06/2016 17:15:09:512 [03328] | INFO | Redirecting 'CreateDXGIFactory1({770AAE78-F26F-4DBA-A829-253C83D1B387}, 004C2AC8)' ... 18/06/2016 17:15:09:516 [03328] | INFO | Redirecting 'CreateDXGIFactory1({770AAE78-F26F-4DBA-A829-253C83D1B387}, 0018DBEC)' ... 18/06/2016 17:15:09:520 [03328] | INFO | Redirecting 'D3D11CreateDevice(03BA8968, 0, 00000000, 0, 1004511C, 1, 7, 004B00BC, 004B00C8, 004B00C0)' ... 18/06/2016 17:15:09:520 [03328] | INFO | > Passing on to 'D3D11CreateDeviceAndSwapChain': 18/06/2016 17:15:09:520 [03328] | INFO | Redirecting 'D3D11CreateDeviceAndSwapChain(03BA8968, 0, 00000000, 0, 1004511C, 1, 7, 00000000, 00000000, 004B00BC, 004B00C8, 004B00C0)' ... 18/06/2016 17:15:10:114 [03328] | INFO | Redirecting 'RegisterClassExA(0018DFCC)' ... 18/06/2016 17:15:10:134 [03328] | INFO | Redirecting 'RegisterRawInputDevices(74DB1AC0, 1, 12)' ... 18/06/2016 17:15:10:158 [03328] | INFO | Redirecting 'IDXGIFactory::CreateSwapChain(03BA8460, 00473F70, 0018DC5C, 004C2AF8)' ... 18/06/2016 17:15:10:183 [03328] | INFO | Starting input capture for window 004F01B0 ... 18/06/2016 17:15:10:191 [03328] | INFO | Recreated runtime environment on runtime 03C723C8. 18/06/2016 17:15:10:734 [03328] | INFO | Redirecting 'IDXGISwapChain::SetFullscreenState(03BDB368, FALSE, 00000000)' ... 18/06/2016 17:15:10:734 [03328] | INFO | Destroyed runtime environment on runtime 03C723C8. 18/06/2016 17:15:10:735 [03328] | INFO | Redirecting 'IDXGIFactory::CreateSwapChain(03BA8460, 00473F70, 0018DC64, 004C2AF8)' ... 18/06/2016 17:15:10:759 [03328] | INFO | Starting input capture for window 004F01B0 ... 18/06/2016 17:15:10:767 [03328] | INFO | Recreated runtime environment on runtime 03C85D10. 18/06/2016 17:15:11:704 [03328] | INFO | Redirecting 'IDXGISwapChain::SetFullscreenState(03CB0640, FALSE, 00000000)' ... 18/06/2016 17:15:11:704 [03328] | INFO | Redirecting 'IDXGISwapChain::SetFullscreenState(03CB0640, TRUE, 03D3B330)' ... 18/06/2016 17:15:21:480 [03328] | INFO | Redirecting 'RegisterRawInputDevices(74DB1AFC, 1, 12)' ... 18/06/2016 17:15:21:480 [03328] | INFO | Redirecting 'RegisterRawInputDevices(74DB1AC0, 1, 12)' ...
Nevermind, all the INI are nuked by first beta
Must reinstall DX2 and T3
Please Log in or Create an account to join the conversation.
- crosire
- Topic Author
Possible yes, but it's a bit of work and not on my schedule right now.Ioxa wrote: Too bad about the int values in d3d9 though, any possible work arounds in the future?
Not that I'm aware of, they work fine in my tests. Care to share a small code example that causes problems?Ioxa wrote: Also, are there any known issues with bool values in d3d9? They don't seem to be changing in real-time.
Yes. There should be an option to add global preprocessor defines. But I haven't found a nice place to fit them into the GUI yet. Most likely it will be put on the settings tab and apply globally to all shaders.Ioxa wrote: Are there any plans to add values that can't be adjusted in real-time to the UI? In some of my shaders I have options to increase the number of passes or decrease texture sizes and I can't figure out a way to do that without using #define and #if/#endif. The settings can be adjusted in the shader files but that is nowhere near as convenient as adjusting them in the UI.
You can filter for names with the text box at the top of the list. I'll probably expand the filter to accept file names as well, so it's easy to filter for all variables in a specific shader file.Ioxa wrote: Another issue I'm having as I add more shaders is that the settings all seem to blend together, it would be nice to have a divider between shader settings so you can easily see where the settings for one end and the next begin.
Please Log in or Create an account to join the conversation.
- Ioxa
Maybe its just that my code is sloppy. Here is an example: in d3d11 clicking the box displays the mask, in d3d9 it has no effect.crosire wrote:
Not that I'm aware of, they work fine in my tests. Care to share a small code example that causes problems?Ioxa wrote: Also, are there any known issues with bool values in d3d9? They don't seem to be changing in real-time.
uniform bool HighPassViewBlendIfMask
<
ui_tooltip = "Displays the BlendIfMask. Useful when adjusting BlendIf settings";
> = false;
if( HighPassBlendIfDark > 0 || HighPassBlendIfLight < 255 || HighPassViewBlendIfMask == true)
{
float BlendIfD = (HighPassBlendIfDark/255.0)+0.0001;
float BlendIfL = (HighPassBlendIfLight/255.0)-0.0001;
float mix = dot(orig.rgb, 0.333333);
if(HighPassBlendIfDark > 0)
{
if(HighPassViewBlendIfMask == true)
{
sharp = lerp(0.0,1.0,smoothstep(BlendIfD-(BlendIfD*0.2),BlendIfD+(BlendIfD*0.2),mix));
luma = sharp;
chroma = 1.0;
}
else
{
sharp = lerp(luma,sharp,smoothstep(BlendIfD-(BlendIfD*0.2),BlendIfD+(BlendIfD*0.2),mix));
}
}
if(HighPassBlendIfLight < 255)
{
if(HighPassViewBlendIfMask == true)
{
sharp = lerp(sharp,0.0,smoothstep(BlendIfL-(BlendIfL*0.2),BlendIfL+(BlendIfL*0.2),mix));
luma = sharp;
chroma = 1.0;
}
else
{
sharp = lerp(sharp,luma,smoothstep(BlendIfL-(BlendIfL*0.2),BlendIfL+(BlendIfL*0.2),mix));
}
}
}
Please Log in or Create an account to join the conversation.
- crosire
- Topic Author
That's because ReShade handles booleans as floats in d3d9 as well, so comparing with "true" doesn't work. But that's bad practise anyway, a boolean is already a boolean. No need to compare it to another boolean just to produce a boolean again. Use the following instead:Ioxa wrote: Maybe its just that my code is sloppy. Here is an example: in d3d11 clicking the box displays the mask, in d3d9 it has no effect.
if (HighPassBlendIfDark > 0 || HighPassBlendIfLight < 255 || HighPassViewBlendIfMask)
Please Log in or Create an account to join the conversation.
- crosire
- Topic Author
- Added option to change preprocessor definitions in the UI (on the Settings tab)
- Changed variable filtering to take file names into account as well (case sensitive)
Please Log in or Create an account to join the conversation.
- dustymonkey
When the overlay is up the mouse does not have full range of the screen (at least at 1280x720) .. There is a rather large area at the bottom of the screen the mouse cannot get to, and the default overlay size puts the windows resize-wedge completely within this cant-get-to-area so the overlay window must be moved first in order to then resize it.
Thoughts on settings:
For every single game the first time they were run:
(a) going through the reshade tutorial again
(b) changing effect path (because I dont want copies of effects in every game folder)
(c) changing texture path (because I dont want copies of textures in every game folder)
(d) changing screenshot path (reshade cant even write them to where this often defaults to)
(e) changing the overlay key (shift-f2 is a key used in half-life 2 for instance)
(f) enabling block input
(g) finally reloading effects
7 steps after first load of a game... and still no preset.
There has got to be a better way than this.
I propose that under .../appdata/roaming/reshade/ there could be a defaults.ini that reshade extracts default values for these fields from. Users that want ReShade and its effects to have a "home" could then get this behavior.
Please Log in or Create an account to join the conversation.
- crosire
- Topic Author
Changed the default size from 800x700 to 700x600.dustymonkey wrote: When the overlay is up the mouse does not have full range of the screen (at least at 1280x720) .. There is a rather large area at the bottom of the screen the mouse cannot get to, and the default overlay size puts the windows resize-wedge completely within this cant-get-to-area so the overlay window must be moved first in order to then resize it.
Done.dustymonkey wrote: I propose that under .../appdata/roaming/reshade/ there could be a defaults.ini that reshade extracts default values for these fields from. Users that want ReShade and its effects to have a "home" could then get this behavior.
Please Log in or Create an account to join the conversation.
- ShoterXX
- Next Car Game ignores input lock, and mouse becomes hyper;
- Naming the .dll to ddraw.dll (required to run on Phantasy Star Online 2) makes it so that the menu doesn't open, nor a configuration file is generated. Naming it to d3d9.dll fixes the issue, but GameGuard still says no.
Please Log in or Create an account to join the conversation.
- rockcc0c031
Hello! Test 3 do not know how to color editing in GTA5
Please Log in or Create an account to join the conversation.
- JBeckman
dustymonkey wrote: Thoughts on interface:
When the overlay is up the mouse does not have full range of the screen (at least at 1280x720) .. There is a rather large area at the bottom of the screen the mouse cannot get to, and the default overlay size puts the windows resize-wedge completely within this cant-get-to-area so the overlay window must be moved first in order to then resize it.
Thoughts on settings:
For every single game the first time they were run:
(a) going through the reshade tutorial again
(b) changing effect path (because I dont want copies of effects in every game folder)
(c) changing texture path (because I dont want copies of textures in every game folder)
(d) changing screenshot path (reshade cant even write them to where this often defaults to)
(e) changing the overlay key (shift-f2 is a key used in half-life 2 for instance)
(f) enabling block input
(g) finally reloading effects
7 steps after first load of a game... and still no preset.
There has got to be a better way than this.
I propose that under .../appdata/roaming/reshade/ there could be a defaults.ini that reshade extracts default values for these fields from. Users that want ReShade and its effects to have a "home" could then get this behavior.
That's why I've been dropping a ReShade.ini file together with the ReShade's .dll files for the games I want to use it with so as to have a default preset ready for them, using a default.ini sounds even better.
Please Log in or Create an account to join the conversation.
- crosire
- Topic Author
I'm sorry, what?rockcc0c031 wrote: Hello! Test 3 do not know how to color editing in GTA5
Please Log in or Create an account to join the conversation.
- Ioxa
And I tried adding a couple shaders to github, couldn't upload the files so I created new files instead. Is that the correct way to add shaders?
Please Log in or Create an account to join the conversation.
- crosire
- Topic Author
You don't. You add them there and ReShade treats them as if they were added as defines to the shader file (you can't have a duplicate definition in both that setting and the shader file).Ioxa wrote: How do I get preprocessor definitions to show up in the settings tab?
You fork the repository, add the shaders to this personal copy of yours and then create a pull request with your changes back in the original repository. In your fork you have all permissions, so you can add files etc. You may want to use a Git client to manage everything on your computer. GitHub has a good one for starters ( desktop.github.com/ ), Visual Studio also comes with a built-in Git plugin and if you want something more advanced, there is Git Extensions ( gitextensions.github.io/ ).Ioxa wrote: And I tried adding a couple shaders to github, couldn't upload the files so I created new files instead. Is that the correct way to add shaders?
Please Log in or Create an account to join the conversation.
- crosire
- Topic Author
- Added combo box variable display type (for selection of different options)
- Fixed display of integer variable under Direct3D 9
- Default settings are now loaded from a "Defaults.ini" file if it exists
- Added option to pass on all input instead of blocking it
- Changed variable filter box to always stay visible on top of the variable list
- Added log message when compiling effect files
- Added parser error if a variable is both "uniform" and "const"
- Added warning on implicit vector truncation in function calls
- Fixed missing error when encountering mistake while parsing annotations
- Fixed missing error messages after internal shader compilation failed
- Fixed effects not sharing samplers states under Direct3D 10 and 11 (causing available sampler slots to run out very fast)
EDIT: By the way, github.com/crosire/reshade-shaders was updated with a bunch of new shaders for 3.0, including bloom and lens flares, AmbientLight, Advanced CRT, various sharpening methods (including LumaSharpen) and more.
Please Log in or Create an account to join the conversation.