Share on other sites

Share this post

Link to post

Share on other sites

I've now implemented clipping for lighting and shadows for the portals, now lights and shadows can only enter and leave the front of the portals and not to the sides, which if I'm correct is a world first?

Share this post

Link to post

Share on other sites

I've updated the lighting, had a problem with shadows looking too pronounced.

Also adjusted the clipping as was not right as you can see in the above image.

You all may be wondering why I'm obsessed with portals? It's because I want to create the worlds first 3D GUI system, Windows, Scroll Bars, Buttons etc. all in 3D and portals are required for the clipping.

Share this post

Link to post

Share on other sites

It's because I want to create the worlds first 3D GUI system, Windows, Scroll Bars, Buttons etc. all in 3D

If I remember well, there were several attempts on doing this. I can remember the name 3dwm, which finally moved to another goal, before disappearing. Then some desktops introduced some 3D fancy things and I don't know what happened to these things.

I guess all these attempts revealed that at the end there is no real "user-play" gains going this way.

Share this post

Link to post

Share on other sites

I guess all these attempts revealed that at the end there is no real "user-play" gains going this way.

I disagree, a mixture of 3D GUI and 3D models would be good, I have great interest in audio applications so be good to build 3D GUI audio studio with virtual 3D synthesizers, keyboards, drum kits etc.

?360 degree 3D would give more real-estate than a 2D window.

It's easier and quicker to program a button being pushed by simply moving it back than it is to design 2 button states in a 2D window system. Quicker programming means applications with more functionality.

Though adding things like glowing/blooming buttons etc. will increase the programming beyond 2D programming but will look good.

Edited February 8, 2017 by paulgriffiths

1

Share this post

Link to post

Share on other sites

I disagree, a mixture of 3D GUI and 3D models would be good, I have great interest in audio applications so be good to build 3D GUI audio studio with virtual 3D synthesizers, keyboards, drum kits etc. ?360 degree 3D would give more real-estate than a 2D window. It's easier and quicker to program a button being pushed by simply moving it back than it is to design 2 button states in a 2D window system. Quicker programming means applications with more functionality. Though adding things like glowing/blooming buttons etc. will increase the programming beyond 2D programming but will look good.

I did not say that it has been proven 3D will give no improvement over 2D for GUIs. I just did say that passed attempts failed most certainly because the way they did it did not reveal any usability improvement. Take it more than a warning, than a "don't do it".

For the push button story, there are pros and cons. You consume far less the CPU and the GPU by just switching between two little images stored in (some) memory, than having to do calculations both on CPU and GPU.

Edited February 9, 2017 by _Silence_

0

Share this post

Link to post

Share on other sites

Producing many portals is hard, having portals within portals is even harder, a portal can be at any place and go to any scene and then back again, each portal has multiple instances, so does each scene and each model.

For every portal you need 2 copies of every scene forward and then back as it's a view into the complete universe both ways. If you have 10 scenes and 10 portals within portals, that's 20 scene instances for each portal, 10 going forward and 10 going back. So that's 200 scene instances in total.

If you have 200 scene instances you may think I'm doing something wrong, no, you can do it with just a single instance but calculating all the portals each frame dramatically reduces the framerate. So you have many instances and only need to update the portals maths when you go through a portal. This speeds up the framerate dramatically.

There's a lot of pixel discarding going on in the shaders, and lots of culling to keep up the framerate.