It's quite simple really:Losti wrote: ↑Mon Jul 06, 2020 12:18 amIts a bit hard for me to get how this works what you do because i dont know your Way to fix in Vulkan. In DX11 with migoto as you know you have saved the VS so its only once beeing modified by yourself ^^ So how do you do the stereorization the first time and why a second time for the same shader?helifax wrote: ↑Sun Jul 05, 2020 3:40 pm I know I've been a bit silent This doesn't mean I haven't made great progress
There are a few things that I want to iron-out and test & fix before I announce anything new
A bit off-topic, but it would help me with my testing!
Does any of the shadercrackers know a way on how to test if the coords in a vertex shaders are already stereorized?
For Example: I have VS X. It runs 1st time to render geometry, where I stereorize the coords. The same shader is then called again to render shadows. At this point the coords are already in stereo and I don't need to stereorize them.
Is there a way for me to detect if they are already in stereo?
Cheers,
Helifax
Just an idea not knowing what/how you exactly do things, may it works or is non sense ^^:
What about saving the cords to a temp register, than stereorize it and save result in a second tmp register.
If cords EQU tempregister2, than they are stereorized
If cords EQU tempregister1, than they are not stereorized
- Game uses VS X for rendering geometry on Pass1. This needs stereo. -> Outputs and stores results to a buffer.
- Game uses same VS X for rendering shadows on Pass2. The coords are already Stereo as they are read from the buffer from Pass1. The coords don't need extra stereo here.
That's why I was looking in a way to see if they are stereo already ^_^. I haven't seen this behaviour before, well until know that is Detroit:Become Human does this.
I can already fix this, by using Unique Shaders created from the same Generic VS X. The downside is that I need to manually go and find them and not add the 2nd stereo correction. I was looking for a more programmatic way of doing it, possibly from the shader code, but I am not sure if it is possible ^_^
Cheers,
Helifax