SSR implemented into my scene editor:
Hey, is it possible to get/use your Editor? I am currently searching for stuff I can use to build things and I saw there are a lot of editors in this forum. The only one I found is JMonkey Builder but it seems to be outdated.
Hi there, thanks for the interest.
Currently my editor is not yet available but might be in the near future.
There is quite a few things I want to implement before I want to open it to the public.
Nothing new, but I managed to fix some concurrency issues, itâs literally very hard to keep track of a lot of threads and a lot of mutexes .
For those who are looking for good old days, please bear in mind that this is an old version of jmb, always keep a backup of your work, I might be able to reach a stable version soon.
The editor is currently buildable by java-8 only; because of using a lot of old jfx-based libraries.
Note: without knowing more⌠thatâs a âcode smellâ. âA lot of threadsâ is scary enough⌠but âa lot of mutexesâ is a sign of a completely incorrect architecture.
Totally true, I am trying to get rid of them as I can, the problem is the original architecture was based on concurrency by blocking threads which creates a lot of busy loops.
EDIT:
Sure, it would have been better if callbacks are enqueued on the target thread.
Small scene put together with some Kenney assets which will come build into the editor to use.
Did you write your own SSR or are you using something from the community?
Looks nice.
The one from the community.
I am using the code here: GitHub - neph1/SsrFilter: Stand alone SSR filter for jMonkeyEngine3
The only thing I am not sure about @pspeed, is that I donât know how to specific that a specific spatial should not get Screen space reflections.
Do you by any change know?
I donât know anything about this SSR filter. I was just shopping around for my own future use of such a thing.
Do you mean that the reflection will also show on the grass? Or do you mean that youâd like some things not to show up in the reflection?
If the former then thatâs concerning⌠but the latter, Iâd expect to be limited because âscreen spaceâ.
But again, I know nothing about this particular implementation.
Yes, it reflex on everything.
If I place a cube everything will reflect on the cube as well.
You may want to submit an issue on the plugin GitHub page, maybe the author could help.
I got it to work on specific spatials.
I had to make a customized Lighting material but it is okay because I already made use of the LightBlow material. Now I just need to make a custom PBRLighting material.
Here is a sample image of the SSR in action on selected object only.
See the grass patches does not receive the reflection.
Curious to know, does it re-render the scene in a different pass (via a secondary viewport) like the water filter does for the reflection node?
I havenât looked at the code but âscreen space reflectionâ is usually just a post-processing pass that uses the data already on the screen to do reflections. So only some angles work but for things like water/glass it can be quite nice because those materials wouldnât necessarily reflect back like a mirror anyway.
For actual mirror finishes, it obviously doesnât work.
Seems life there is additional passes for this filter.
Yes, but (again without looking at the code) Iâd expect that âadditional passâ to be rendering the reflective surfaces in the current camera view. The rendering of those surfaces will be sampling the existing frame buffer based on the normal of the fragment.
âŚat least thatâs the âtextbookâ way that SSR works.
It is not re-rendering the whole scene from a different angle like the water filter does. Or if it is then it is not âscreen space reflectionâ⌠itâs just âregular old reflectionâ.
The point of SSR is to avoid re-rendering the whole scene from a different angle. (The other benefit of which is that you can support multiple levels/angles of reflection without incurring additional rendering overhead.)