[2.x] Wish list
- dark_sylinc
- OGRE Team Member
- Posts: 5296
- Joined: Sat Jul 21, 2007 4:55 pm
- Location: Buenos Aires, Argentina
- x 1278
- Contact:
Re: [2.x] Wish list
Honestly that never crossed my mind.
However PCC is just regular spherical probe with extra math (localCorrect).
All that's needed is to send a boolean flag to ignore that math and keep the raw vectors.
However PCC is just regular spherical probe with extra math (localCorrect).
All that's needed is to send a boolean flag to ignore that math and keep the raw vectors.
-
- Goblin
- Posts: 296
- Joined: Mon May 09, 2016 8:21 am
- x 35
Re: [2.x] Wish list
It may be a silly question but ... when will you need a "normal spherical probe" without parallax correction (except for an environment probe for the whole scene)?xrgo wrote: ↑Mon Oct 08, 2018 3:23 am
Amazing work!
I have a concern: it seems like it's only going to work with parallax corrected probes?
To me the idea would be that you can place any probe and set the influence area at you will, and the parallax correctedness should be just a "checkbox" if I don't set it true it's just a normal spherical probe. I am pretty sure that's how it works in other engines
-
- OGRE Expert User
- Posts: 1148
- Joined: Sat Jul 06, 2013 10:59 pm
- Location: Chile
- x 168
Re: [2.x] Wish list
Great! And blending should work as expected with spherical probes? (When it's fixed)dark_sylinc wrote: ↑Mon Oct 08, 2018 3:45 am Honestly that never crossed my mind.
However PCC is just regular spherical probe with extra math (localCorrect).
All that's needed is to send a boolean flag to ignore that math and keep the raw vectors.
Parallax corrected cubemaps are good for indoors, I mostly do open spaces, and I do vr so that extra math is just a waste. I mostly need just the hability to have multiple probes that blend nicely, for example if I go with a car in to the woods I would like the green reflection and green diffuse tint/ambient in the car.. and when I go out of the woods in to the desert I would like to seamless transition to a yellowish reflection/diffise/tint.
Parallax correctedness is something I also need but like in 20% of my use cases
- dark_sylinc
- OGRE Team Member
- Posts: 5296
- Joined: Sat Jul 21, 2007 4:55 pm
- Location: Buenos Aires, Argentina
- x 1278
- Contact:
Re: [2.x] Wish list
When it comes to performance, adding the boolean may hurt more, since GPUs must execute boths paths (PCC and spherical) unless there's excellent convergence.
Unless all you want a toggle in which you want all your probes to be spherical (i.e. the boolean is global, not per probe).
Another way to "emulate" spherical reflections with PCC by toggling per probe, without touching the shader is by making the probe shape incredibly big. Theoretically speaking, a cube that is infinitely big is just the same as a spherical reflection. So a very big probe shape should produce near identical results as a spherical reflection.
Unless all you want a toggle in which you want all your probes to be spherical (i.e. the boolean is global, not per probe).
Another way to "emulate" spherical reflections with PCC by toggling per probe, without touching the shader is by making the probe shape incredibly big. Theoretically speaking, a cube that is infinitely big is just the same as a spherical reflection. So a very big probe shape should produce near identical results as a spherical reflection.
-
- Goblin
- Posts: 296
- Joined: Mon May 09, 2016 8:21 am
- x 35
-
- OGRE Expert User
- Posts: 1148
- Joined: Sat Jul 06, 2013 10:59 pm
- Location: Chile
- x 168
Re: [2.x] Wish list
That should work for medark_sylinc wrote: ↑Mon Oct 08, 2018 4:48 am Unless all you want a toggle in which you want all your probes to be spherical (i.e. the boolean is global, not per probe)
would that work with multiple probes? Wouldn't that break blending?dark_sylinc wrote: ↑Mon Oct 08, 2018 4:48 am Another way to "emulate" spherical reflections with PCC by toggling per probe, without touching the shader is by making the probe shape incredibly big. Theoretically speaking, a cube that is infinitely big is just the same as a spherical reflection. So a very big probe shape should produce near identical results as a spherical reflection.
-
- Gnoblar
- Posts: 23
- Joined: Wed May 03, 2017 4:12 am
- dark_sylinc
- OGRE Team Member
- Posts: 5296
- Joined: Sat Jul 21, 2007 4:55 pm
- Location: Buenos Aires, Argentina
- x 1278
- Contact:
Re: [2.x] Wish list
No, because Cubemap probes have the following AABBs:
- Shape. This is the shape of the room. In the case of being outside, this shape would be very high (it should be infinity but I doubt that will play nicely with calculations i.e. could generate NaNs)
- Inner Area. This is where the probe is applied at 100% strength and has much higher priority for blending than other probes. If two or more inner area overlap, they have equal strength (average). Inner Area must be smaller than the Shape
- Outer Area. This is where the probe is blended 0% - 100% if they overlap with other probes' outer area. If no overlap occurs, the probe is applied at 100% strength. If two or more outer areas overlap, its a weighted blend based on distance to the inner area. The outer area must fully contain the inner area, and must be smaller than the probe's shape
For example the LocalCubemaps sample has 3 probes. The probe shape is exactly the same for all 3 probes (the size of the room), what varies is the area in which they're applied (each third of the room, with some overlap) and the camera position from which the probes are internally rendered.
Btw per pixel cubemap's branch got merged into 2.2 WIP. It's working on all 3 APIs! It even supports a fallback with Dual Paraboloid mapping for GPUs that do not support cubemap arrays (DX10-level HW and iOS before the A11 chip)
That is in my TODO list and I definitely want to tackle it. However I'm afraid I have no ETA and I will be focusing on other stuff firstrenyingzhi1006043 wrote: ↑Tue Oct 09, 2018 2:25 am Hi all!
I would add refraction effect in hlms material to make glass material.
Screenshots In Godot Engine:
-
- OGRE Expert User
- Posts: 1148
- Joined: Sat Jul 06, 2013 10:59 pm
- Location: Chile
- x 168
Re: [2.x] Wish list
thank you so much!! I just tested the samples and they are looking awesome! I have to change to 2.2 asap
-
- Goblin
- Posts: 296
- Joined: Mon May 09, 2016 8:21 am
- x 35
Re: [2.x] Wish list
9 months passed since the last reply of this thread, and so much things changed. Now we have
* LTC Area lights (2.1+)
* Screespace decals (2.1+)
* Reverse depth buffers (2.2)
* Per pixel reflection probes (2.2)
* Voxel Cone Tracing (2.2)
* glTF loader from Ybalrid (2.1)
viewtopic.php?f=25&t=94387&start=25
Maybe it's good time to update our wish list by removing these completed stuff, adding new things etc.
My updated wish list:
* Screen-space refractions
* Order Independent Transparency
* Temporal Anti-Aliasing(TAA), which requires Velocity buffer
* Volumetric lighting
* Subsurface scattering (SSS)
* Dedicated Cloth BRDF
* Vulkan support
-
- OGRE Expert User
- Posts: 1227
- Joined: Thu Dec 11, 2008 7:56 pm
- Location: Bristol, UK
- x 157
Re: [2.x] Wish list
Have updated original post
- dark_sylinc
- OGRE Team Member
- Posts: 5296
- Joined: Sat Jul 21, 2007 4:55 pm
- Location: Buenos Aires, Argentina
- x 1278
- Contact:
Re: [2.x] Wish list
"Transparency" via alpha testing is also an interesting feature.
The concept is very simple: Use alpha testing to show N% of pixels either in a fixed pattern or with noise/dithered (e.g. Windows 3.11 used this algorithm a lot).
For high values of alpha (i.e. almost opaque) it is extremely convincing. Alpha testing disables early Z, but doesn't add stress to the ROPs (because rendering is still write-only, instead of being a Read-Write operation to blend with existing framebuffer contents).
But the main benefit is that it is compatible with depth writes (e.g. it is, in a way, order independent).
Another interesting feature is A2C (alpha to coverage), which is extremely similar to transparency via alpha testing, except that it uses MSAA and thus allows for smoother blending.
A2C is normally used for grass and hair, because compared to regular alpha testing, it gives smooth edges.
The concept is very simple: Use alpha testing to show N% of pixels either in a fixed pattern or with noise/dithered (e.g. Windows 3.11 used this algorithm a lot).
For high values of alpha (i.e. almost opaque) it is extremely convincing. Alpha testing disables early Z, but doesn't add stress to the ROPs (because rendering is still write-only, instead of being a Read-Write operation to blend with existing framebuffer contents).
But the main benefit is that it is compatible with depth writes (e.g. it is, in a way, order independent).
Another interesting feature is A2C (alpha to coverage), which is extremely similar to transparency via alpha testing, except that it uses MSAA and thus allows for smoother blending.
A2C is normally used for grass and hair, because compared to regular alpha testing, it gives smooth edges.