[shaders]Bloom + Better Light
- azekill_DIABLO
- Member
- Posts: 7507
- Joined: Wed Oct 29, 2014 20:05
- GitHub: azekillDIABLO
- In-game: azekill_DIABLO
- Location: OMICRON
- Contact:
Re: [shaders]Bloom + Better Light
noob team then :D
Gone, but not dead. Contact me on discord: azekill_DIABLO#6565
DMs are always open if you want to get in touch!
DMs are always open if you want to get in touch!
- ThomasMonroe
- Member
- Posts: 286
- Joined: Tue Apr 04, 2017 16:21
- GitHub: ThomasMonroe314
- IRC: ThomasMonroe TMcSquared
- In-game: ThomasMonroe TMcSquared
- Location: Wherever I am at
Re: [shaders]Bloom + Better Light
lol I have looked at the code a bit and most of what you need to work with are these files and folders.
src/client/render
src/game.cpp
src/clientmap.cpp
src/client/render
src/game.cpp
src/clientmap.cpp
I don't make messes, I just, er...disturb the local entropy!
Re: [shaders]Bloom + Better Light
Need any help? I'm crap at graphics of all kind but I can refactor and do code cleanup + test.
- azekill_DIABLO
- Member
- Posts: 7507
- Joined: Wed Oct 29, 2014 20:05
- GitHub: azekillDIABLO
- In-game: azekill_DIABLO
- Location: OMICRON
- Contact:
Re: [shaders]Bloom + Better Light
LMP might like some. I'm so helpless, hopless (and somewhat useless).
Gone, but not dead. Contact me on discord: azekill_DIABLO#6565
DMs are always open if you want to get in touch!
DMs are always open if you want to get in touch!
Re: [shaders]Bloom + Better Light
Complete ignorance here but looks like there is some *.glsl stuff in the master/client/shaders code already. Why would there need to be modifications to the core engine?
- azekill_DIABLO
- Member
- Posts: 7507
- Joined: Wed Oct 29, 2014 20:05
- GitHub: azekillDIABLO
- In-game: azekill_DIABLO
- Location: OMICRON
- Contact:
Re: [shaders]Bloom + Better Light
you wouldn't need to actually. the core itself doesn't need any change. (AFAIK)
Gone, but not dead. Contact me on discord: azekill_DIABLO#6565
DMs are always open if you want to get in touch!
DMs are always open if you want to get in touch!
- TumeniNodes
- Member
- Posts: 2943
- Joined: Fri Feb 26, 2016 19:49
- GitHub: TumeniNodes
- IRC: tumeninodes
- In-game: TumeniNodes
- Location: in the dark recesses of the mind
- Contact:
Re: [shaders]Bloom + Better Light
someone with experience, and who knows the dark side of the maths is needed. : )Skulls wrote:Complete ignorance here but looks like there is some *.glsl stuff in the master/client/shaders code already. Why would there need to be modifications to the core engine?
basically, the community is awaiting the coming of Lord Dropmyfps
A Wonderful World
Re: [shaders]Bloom + Better Light
I've burned an EULA and set out some caffeine, chanted "turn it off and on again" 8 times. Hopefully the ritual works.
- ThomasMonroe
- Member
- Posts: 286
- Joined: Tue Apr 04, 2017 16:21
- GitHub: ThomasMonroe314
- IRC: ThomasMonroe TMcSquared
- In-game: ThomasMonroe TMcSquared
- Location: Wherever I am at
Re: [shaders]Bloom + Better Light
Skulls, we nee the core change to provide us with the information necessary to create shadows, etc.
I don't make messes, I just, er...disturb the local entropy!
- LMD
- Member
- Posts: 1397
- Joined: Sat Apr 08, 2017 08:16
- GitHub: appgurueu
- IRC: appguru[eu]
- In-game: LMD
- Location: Germany
- Contact:
Re: [shaders]Bloom + Better Light
Sorry, but you're wrong here. I have already seen this shaders, and AFAIK, there's actually no post-processing stage.azekill_DIABLO wrote:you wouldn't need to actually. the core itself doesn't need any change. (AFAIK)
Re: [shaders]Bloom + Better Light
Okay, so bubble up / expose info on light sources? What else is part of the etc?ThomasMonroe wrote:Skulls, we nee the core change to provide us with the information necessary to create shadows, etc.
Re: [shaders]Bloom + Better Light
About where in the code would you expect the post-processing state to be, ideally? And what kind of things would happen in post-processing (pretty water, shadows, etc)?LMD wrote:there's actually no post-processing stage.
- azekill_DIABLO
- Member
- Posts: 7507
- Joined: Wed Oct 29, 2014 20:05
- GitHub: azekillDIABLO
- In-game: azekill_DIABLO
- Location: OMICRON
- Contact:
Re: [shaders]Bloom + Better Light
Okay for this LMD.
Gone, but not dead. Contact me on discord: azekill_DIABLO#6565
DMs are always open if you want to get in touch!
DMs are always open if you want to get in touch!
- ThomasMonroe
- Member
- Posts: 286
- Joined: Tue Apr 04, 2017 16:21
- GitHub: ThomasMonroe314
- IRC: ThomasMonroe TMcSquared
- In-game: ThomasMonroe TMcSquared
- Location: Wherever I am at
Re: [shaders]Bloom + Better Light
the water is just shader magic XD, but you need more render passes in order to have reflections.Skulls wrote:About where in the code would you expect the post-processing state to be, ideally? And what kind of things would happen in post-processing (pretty water, shadows, etc)?LMD wrote:there's actually no post-processing stage.
shadows need a render pass.
post processing would be for image effects, such as bloom, blur, etc.
it would take place on the rendered image, after the water , shadows and other things get drawn.
I don't make messes, I just, er...disturb the local entropy!
Re: [shaders]Bloom + Better Light
Here are my sources:
Minetest shader.cpp https://github.com/minetest/minetest/bl ... shader.cpp
Irrlicht shader doc / tutorial http://irrlicht.sourceforge.net/docu/example010.html
Irrlicht forum post on shadows http://irrlicht.sourceforge.net/forum/v ... ws#p302549
In shader.cpp would you expect to see some changes to the load_shaders() method with a shadow_program section? The multiple passes required isn't obvious to me from the Irrlicht tutorial so I'm flailing around (obviously :) ).
Minetest shader.cpp https://github.com/minetest/minetest/bl ... shader.cpp
Irrlicht shader doc / tutorial http://irrlicht.sourceforge.net/docu/example010.html
Irrlicht forum post on shadows http://irrlicht.sourceforge.net/forum/v ... ws#p302549
In shader.cpp would you expect to see some changes to the load_shaders() method with a shadow_program section? The multiple passes required isn't obvious to me from the Irrlicht tutorial so I'm flailing around (obviously :) ).
- LMD
- Member
- Posts: 1397
- Joined: Sat Apr 08, 2017 08:16
- GitHub: appgurueu
- IRC: appguru[eu]
- In-game: LMD
- Location: Germany
- Contact:
Re: [shaders]Bloom + Better Light
Nice work, Skulls ! Really helpful !Skulls wrote:Here are my sources:
Minetest shader.cpp https://github.com/minetest/minetest/bl ... shader.cpp
Irrlicht shader doc / tutorial http://irrlicht.sourceforge.net/docu/example010.html
Irrlicht forum post on shadows http://irrlicht.sourceforge.net/forum/v ... ws#p302549
In shader.cpp would you expect to see some changes to the load_shaders() method with a shadow_program section? The multiple passes required isn't obvious to me from the Irrlicht tutorial so I'm flailing around (obviously :) ).
To answer your questions : (1) As ThomasMonroe mentioned, for shadows & reflections, a 2nd rendering pass is required. Also, most rendering techniques can only be used efficiently with post-processing. Let's take specular lighting for example. Implementing it in one pass - easy. But let's say there's a huge structure, with many triangles - and for each fragment of each triangle you have to calculate lighting - a huge amount of gpu power is required to make this run at 25 fps ! But, if you render face normals on a FBO, as well as the scene, you can "light up" the rendered scene, what means calculating specular lighting for the fragments of 2 triangles. You see - post-processing is required for :
(a) Efficiency -> high FPS, keep in mind this is a game, and not a movie-making software
(b) Nice effects that are done using post-processing -> night-vision, cartoon/toon-filter, edgefinders, shadows, ambient occlusion, etc...
Re: [shaders]Bloom + Better Light
Thanks for the info! Is this http://irrlicht.sourceforge.net/forum/v ... ss#p299914 something along the lines of a reasonable starting point for multi pass rendering?
One thing I really enjoy about Minetest is that it is available to folks who don't have the latest and greatest gaming rigs so any multi pass black magic would have to be an optional type of thing, and hopefully enabled by an in game menu option but probably starting out as a build param. I've got a fairly decent rig and want to help see the blocks all sparkly but still want to ensure a good play experience for anyone who can run the base specs.
One thing I really enjoy about Minetest is that it is available to folks who don't have the latest and greatest gaming rigs so any multi pass black magic would have to be an optional type of thing, and hopefully enabled by an in game menu option but probably starting out as a build param. I've got a fairly decent rig and want to help see the blocks all sparkly but still want to ensure a good play experience for anyone who can run the base specs.
- LMD
- Member
- Posts: 1397
- Joined: Sat Apr 08, 2017 08:16
- GitHub: appgurueu
- IRC: appguru[eu]
- In-game: LMD
- Location: Germany
- Contact:
Re: [shaders]Bloom + Better Light
No clue where you always find these articles, but yes, it is. The left side of the image in the bottom right corner is a normalmap. On the other side, there's the depthmap, relevant for almost every effect. In the bottom left corner, there's the rendered image without any lighting. Using this values, in the top left corner, the lit scene can be seen. The top right corner shows the "darkness" values. Notice it's not only lighting, but also ambient occlusion : Corners of the model are darker.
Re: [shaders]Bloom + Better Light
Okidoki then, this is what I've got. Things needed for fancy smancy graphics in Minetest:
- Code branch
- Types of shaders and levels defined (shadows, super fancy shadows, bloom + level, fancy water, etc)
- Enable / disable option without recompiling per shader type
- Defaults for render object materials for when shader info is not present
- Shaders written per type + level
- Game render loop extended to include multi pass rendering
- No shader game tested and performance tuned
- Low end shader game tested and performance tuned
- 'Ultra' shader game tested and performance tuned
- Wiki written
- Shader binaries distributed to community for testing and evaluation
- Enthusiasm and joy for shaders
- Tears and despair at all the bugs
- Moar fixes and testing
- Pull request to main Minetest code initiated
- LMD
- Member
- Posts: 1397
- Joined: Sat Apr 08, 2017 08:16
- GitHub: appgurueu
- IRC: appguru[eu]
- In-game: LMD
- Location: Germany
- Contact:
Re: [shaders]Bloom + Better Light
I see a manager/teamleader talent :)
1. We'll do in GitHub
3. We should compile them during initialization
1. We'll do in GitHub
3. We should compile them during initialization
- ThomasMonroe
- Member
- Posts: 286
- Joined: Tue Apr 04, 2017 16:21
- GitHub: ThomasMonroe314
- IRC: ThomasMonroe TMcSquared
- In-game: ThomasMonroe TMcSquared
- Location: Wherever I am at
Re: [shaders]Bloom + Better Light
Shaders are compiled at load time, so they do not need to be in their binary format, what would need to happen is the shaders would need to be distributed like mods.Skulls wrote:Okidoki then, this is what I've got. Things needed for fancy smancy graphics in Minetest:What am I missing?
- Code branch
- Types of shaders and levels defined (shadows, super fancy shadows, bloom + level, fancy water, etc)
- Enable / disable option without recompiling per shader type
- Defaults for render object materials for when shader info is not present
- Shaders written per type + level
- Game render loop extended to include multi pass rendering
- No shader game tested and performance tuned
- Low end shader game tested and performance tuned
- 'Ultra' shader game tested and performance tuned
- Wiki written
- Shader binaries distributed to community for testing and evaluation
- Enthusiasm and joy for shaders
- Tears and despair at all the bugs
- Moar fixes and testing
- Pull request to main Minetest code initiated
I don't make messes, I just, er...disturb the local entropy!
- AccidentallyRhine
- Member
- Posts: 252
- Joined: Sun Aug 02, 2015 05:43
- ThomasMonroe
- Member
- Posts: 286
- Joined: Tue Apr 04, 2017 16:21
- GitHub: ThomasMonroe314
- IRC: ThomasMonroe TMcSquared
- In-game: ThomasMonroe TMcSquared
- Location: Wherever I am at
Re: [shaders]Bloom + Better Light
all that needs to be done with that is updating "mShadowmatrix"
I don't make messes, I just, er...disturb the local entropy!
Re: [shaders]Bloom + Better Light
I thought if we want multi pass, enable / disable shader attributes or levels we will need a new client binary and I *think* thats what I was calling the 'shader binary': modified client binary + shaders. Or I hope thats what I was thinking.ThomasMonroe wrote: Shaders are compiled at load time, so they do not need to be in their binary format, what would need to happen is the shaders would need to be distributed like mods.
-
- Member
- Posts: 818
- Joined: Tue Apr 14, 2015 01:59
- GitHub: raymoo
- IRC: Hijiri
- In-game: Raymoo + Clownpiece
Re: [shaders]Bloom + Better Light
Color lighting is doable, but it wouldn't work quite right due to the way ambient lighting is approximated in Minetest. It might look "good enough" for inclusion, though.
See these blog posts I found for more info:
https://www.seedofandromeda.com/blogs/2 ... -game-pt-1
https://www.seedofandromeda.com/blogs/3 ... -game-pt-2
See these blog posts I found for more info:
https://www.seedofandromeda.com/blogs/2 ... -game-pt-1
https://www.seedofandromeda.com/blogs/3 ... -game-pt-2
Every time a mod API is left undocumented, a koala dies.
Who is online
Users browsing this forum: No registered users and 10 guests