[2.x] Wish list

Discussion area about developing with Ogre-Next (2.1, 2.2 and beyond)


User avatar
dark_sylinc
OGRE Team Member
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

Post by dark_sylinc »

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.
rujialiu
Goblin
Posts: 296
Joined: Mon May 09, 2016 8:21 am
x 35

Re: [2.x] Wish list

Post by rujialiu »

xrgo wrote: Mon Oct 08, 2018 3:23 am :D :D :D :D
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
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
OGRE Expert User
OGRE Expert User
Posts: 1148
Joined: Sat Jul 06, 2013 10:59 pm
Location: Chile
x 168

Re: [2.x] Wish list

Post by xrgo »

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.
Great! And blending should work as expected with spherical probes? (When it's fixed)
rujialiu wrote: Mon Oct 08, 2018 3:51 am 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)?
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
User avatar
dark_sylinc
OGRE Team Member
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

Post by dark_sylinc »

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.
rujialiu
Goblin
Posts: 296
Joined: Mon May 09, 2016 8:21 am
x 35

Re: [2.x] Wish list

Post by rujialiu »

xrgo wrote: Mon Oct 08, 2018 4:40 am Parallax corrected cubemaps are good for indoors, I mostly do open spaces, and I do vr so that extra math is just a waste.
ah... I completely forgot open spaces because 100% scenes of my project are indoors 8-)
xrgo
OGRE Expert User
OGRE Expert User
Posts: 1148
Joined: Sat Jul 06, 2013 10:59 pm
Location: Chile
x 168

Re: [2.x] Wish list

Post by xrgo »

dark_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)
That should work for me
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.
would that work with multiple probes? Wouldn't that break blending?
renyingzhi1006043
Gnoblar
Posts: 23
Joined: Wed May 03, 2017 4:12 am

Re: [2.x] Wish list

Post by renyingzhi1006043 »

Hi all!
I would add refraction effect in hlms material to make glass material.
Screenshots In Godot Engine:
Image
Image
User avatar
dark_sylinc
OGRE Team Member
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

Post by dark_sylinc »

xrgo wrote: Mon Oct 08, 2018 1:10 pm would that work with multiple probes? Wouldn't that break blending?
No, because Cubemap probes have the following AABBs:
  1. 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)
  2. 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
  3. 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
So that's why it wouldn't break blending. You can have multiple "infinite" probes with small areas in which they are applied.

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)
renyingzhi1006043 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:
Image
Image
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 first :(
xrgo
OGRE Expert User
OGRE Expert User
Posts: 1148
Joined: Sat Jul 06, 2013 10:59 pm
Location: Chile
x 168

Re: [2.x] Wish list

Post by xrgo »

thank you so much!! I just tested the samples and they are looking awesome! I have to change to 2.2 asap
rujialiu
Goblin
Posts: 296
Joined: Mon May 09, 2016 8:21 am
x 35

Re: [2.x] Wish list

Post by rujialiu »

xrgo wrote: Mon Oct 15, 2018 9:21 pm thank you so much!! I just tested the samples and they are looking awesome! I have to change to 2.2 asap
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
al2950
OGRE Expert User
OGRE Expert User
Posts: 1227
Joined: Thu Dec 11, 2008 7:56 pm
Location: Bristol, UK
x 157

Re: [2.x] Wish list

Post by al2950 »

Have updated original post
User avatar
dark_sylinc
OGRE Team Member
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

Post by dark_sylinc »

"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.
Post Reply