Updated my dissolve shader for the lab renderer so that it uses a grab pass. Before I just had it use the albedo while blending so it was very noticeable when it was swapping from the dissolve shader to the valve shader.
seen from United States
seen from Germany

seen from Germany
seen from China
seen from Malaysia

seen from India
seen from Malaysia
seen from Brazil
seen from United Kingdom
seen from United States
seen from Argentina

seen from United States

seen from Malaysia

seen from Türkiye
seen from United States
seen from Argentina

seen from Malaysia
seen from United Kingdom

seen from United States

seen from Russia
Updated my dissolve shader for the lab renderer so that it uses a grab pass. Before I just had it use the albedo while blending so it was very noticeable when it was swapping from the dissolve shader to the valve shader.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Turns out Valve’s Lab Renderer doesn’t support particle lights so I had to implement a simple, crude, method of mimicking the effect. Only tested it with sparks but it works pretty well. Probably wouldn’t work for most other effects but that was never the intention.
Also got two handed interaction working with NewtonVR but haven’t had access to a vive for long enough to get footage of it working.
So I like quite a few others doing VR stuff in unity have been using the Lab Renderer. For the most part I love the changes that it makes but the inability to change roughness does bug me and some artists that I know who have used it.
This image shows the difference between the Lab Renderer without my roughness change (on the right) and with my roughness change (on the left) where I picked a factor of 10. In the Lab Renderer, this is hard coded at 14 and gives extremely reflective surfaces to the point where you can get what look like individual pixels completely white but surrounded by black pixels. This can be seen at the back of the right image.
Basically my solution to this was to add a modifiable roughness. You could go and change the shader and hard code in another value but what if you want a different value for different shaders?
In order to achieve the same effect, follow the instructions below. I won’t paste copies of the code here as it is Copyright of Valve but the necessary changes are listed.
vr_standard.shader
Add 'g_flRoughnessFactor( "RoughnessFactor", Float ) = 14.0' below 'g_flReflectanceMax( "g_flReflectanceMax", Range( 0.0, 1.0 ) ) = 1.0'
vr_lighting.cginc
Add 'float g_flRoughnessFactor = 14.0;' below 'float g_flReflectanceMax = 1.0;'
Change the second line of 'RoughnessEllipseToScaleAndExp' to 'o_vSpecularExponentOut.xy = exp2( pow( float2( 1.0, 1.0 ) - vRoughness.xy, float2( 1.5, 1.5 ) ) * float2( g_flRoughnessFactor, g_flRoughnessFactor ) ); // Outputs 1-16384'
ValveShaderGUI.cs
Add 'public static GUIContent roughnessFactorText = new GUIContent( "Roughness Factor", "" );' below the line ending 'new GUIContent( "Reflectance Max", "" );'
Add 'MaterialProperty roughnessFactor = null;' below 'MaterialProperty reflectanceMax = null;'
Add 'roughnessFactor = FindProperty( "g_flRoughnessFactor", props );' below 'reflectanceMax = FindProperty( "g_flReflectanceMax", props );'
Add 'm_MaterialEditor.ShaderProperty( roughnessFactor, Styles.roughnessFactorText.text, 2 );' at the end of the function ‘DoSpecularMetallicArea’
Add 'float flRoughnessFactor = material.GetFloat( "g_flRoughnessFactor" );' below float flReflectanceMax = material.GetFloat( "g_flReflectanceMax" );
Add 'material.SetFloat( "g_flRoughnessFactor", flRoughnessFactor );' below 'material.SetFloat( "g_flReflectanceBias", flReflectanceMin );'
If this does not work, feel free to send me a message. There may be a mistake as this was written after I had already made the changes and I did my best to copy them all here.