rbray89

[1.1.2][1-1-2] May 13-2016 EnvironmentalVisualEnhancements

Recommended Posts

8 minutes ago, Galileo said:

If that fancies your tickle, don't let me discourage you! I have seen a few discussions elsewhere that discuss how to do it but it has been a while since I looked around

7 minutes ago, V8jester said:

Do you play a lot of Minecraft? In SEUS version..... Eh the very last version. There is a hidden setting in a config file to enable procedural clouds. Wonder if digging into this might yield any helpful results?

Haha maybe in the future, I already have so many half-done features and side projects, this is basically how my modding process goes: http://www.commitstrip.com/wp-content/uploads/2014/11/Strip-Side-project-650-finalenglish.jpg

Share this post


Link to post
Share on other sites

Out of curiosity, could this be used for precipitation? I know the old Astronomer's packs had snow (and if anyone knows how to get that on a current install I'd love to know) and I'm wondering if rain and maybe lightning could work as well.

Share this post


Link to post
Share on other sites
29 minutes ago, loki130 said:

Out of curiosity, could this be used for precipitation? I know the old Astronomer's packs had snow (and if anyone knows how to get that on a current install I'd love to know) and I'm wondering if rain and maybe lightning could work as well.

It is possible but every attempt I have seen done just obliterates performance.  I'm no expert though but I'm sure it can be done with better performance.  

Edited by Galileo

Share this post


Link to post
Share on other sites
On 02/10/2016 at 10:45 PM, blackrack said:

Just a heads-up, I fixed the issue with the cloud shadows interfering with scatterer, you need the newest version of scatterer (I just posted) and the fixed EVE dll I posted here: http://forum.kerbalspaceprogram.com/index.php?/topic/103963-wip12113-scatterer-atmospheric-scattering-v00255-02102016-modulemanager-compatibility/&page=198#comment-2773471

Have fun.

Awesome job! I think it's broken on the latest build, there's an exception mapview thing though.

3 hours ago, blackrack said:

I think it would be mesmerizing to sit there in map view and timewarp... it would be like one of those NASA videos

Like this? It's the japanese himawari-8 sat http://i.imgur.com/UoZMp5Y.gifv

2 hours ago, loki130 said:

Out of curiosity, could this be used for precipitation? I know the old Astronomer's packs had snow (and if anyone knows how to get that on a current install I'd love to know) and I'm wondering if rain and maybe lightning could work as well.

Doesn't SVE also have snow on mountains? At least my KSP seems to have it. Also Astronomer used to have a Scatterer-like effect by having a blue layer at 50km, it was very smart imo, from space Kerbin had an atmosphere haze.

Edited by SleweD

Share this post


Link to post
Share on other sites
Just now, SleweD said:

Awesome job!

Like this? http://i.imgur.com/UoZMp5Y.gifv

Doesn't SVE also have snow on mountains? At least my KSP seems to have it. Also Astronomer used to have a Scatterer-like effect by having a blue layer at 50km, it was very smart imo, from space Kerbin had an atmosphere haze.

SVE has the blue layer at 50k and a few below for the scatterer like effect as well. It's subtle but it's there. There is snow in SVE but just on the ground texture. Not actual falling snow like I think he means. 

Share this post


Link to post
Share on other sites

Is EVE currently broken for anyone else? I've got Scatterer working just fine (with Blackrack's fixed .dll), but EVE isn't functioning at all for me (no clouds, no nothin'), even with the fixed config .dlls he posted a few pages back. Am I using something wrong here? Log is as follows:


https://dl.dropboxusercontent.com/u/104743795/output_log.txt

I'm guessing I've got something misconfigured or am using a wrong file..?

Share this post


Link to post
Share on other sites

@Kardea it seems that KSP fails to load the assemblies (it cannot even load the ones shipped with the Steam version of KSP, like the CSteamworks.dll). Probably something to do with the Windows permissions. Move your installation somewhere outside of the Program Files folder and try again.

Share this post


Link to post
Share on other sites

It also doesn't load clouds for me even with the fixed DLLs and the folder outside of Program Files.

I get 3 repeated errors of "'<path>\eveshaders-windows.ksp' can't be loaded because another AssetBundle with the same files is already loaded." then a spam of "MissingFieldException: Field '.MapView.MapIsEnabled' not found."

The alt+0 shortcut works fine but then all the config panels don't load.

Share this post


Link to post
Share on other sites

Is there a recompiled EVE version for KSP 1.2 PRE build 1564, yet? It need's a recompile, I assume.

Edited by Jebs_SY

Share this post


Link to post
Share on other sites
On 10/3/2016 at 10:41 PM, ebigunso said:

Is it possible at all to make cloud textures be procedural, and make it change over time when looked at from orbit?

It kinda feels awkward seeing the clouds just rotate around with exactly the same shape all the time.

No, but some animation is possible with UVnoise (entirely sufficient for gas giants, for example). Just don't stare at the clouds for so long ;-)

Share this post


Link to post
Share on other sites

I actually think cloud generation could be procedural, and possibly even shoe-horned into the existing EVE code. The clouds, both volumetric and not, are just rendered from the textures provided for them. So having some side process that renders cloud textures over time could achieve this, though it would obviously need to ping EVE to reload the texture.

Could even go a step further and use the altitude data available from the game to generate semi-believable weather patterns. (If you happen to have a spare super computer.....)

It may not be very nice from a CPU standpoint. And Unity might not like it much either. Also not how I'd choose do it if starting from a greenfield. Having worked with the libnoise samples similar to those used to originally generate Kerbin, I'd also wonder if it'd be able to "keep up" with the game, especially in time warp. (Above a certain warp level all bets are off.) Generating a texture large enough and coherent enough to look good without causing noticeable lag takes time.

As cool as it would look, I'm not sure it'd be worth the dev effort or the clock cycles, aside from the gratifaction of completing the obvious programming challenge. 

 

Anyway, I want to thank the lot of you that have been keeping EVE going, especially @blackrack, @RangeMachine and @Waz (and any others I've missed - I really haven't been paying much attention to this thread of late), and of course @rbray89 for starting it all. KSP wouldn't be KSP to me without it. 

Share this post


Link to post
Share on other sites
24 minutes ago, Cydonian Monk said:

I actually think cloud generation could be procedural, and possibly even shoe-horned into the existing EVE code. The clouds, both volumetric and not, are just rendered from the textures provided for them. So having some side process that renders cloud textures over time could achieve this, though it would obviously need to ping EVE to reload the texture.

Could even go a step further and use the altitude data available from the game to generate semi-believable weather patterns. (If you happen to have a spare super computer.....)

It may not be very nice from a CPU standpoint. And Unity might not like it much either. Also not how I'd choose do it if starting from a greenfield. Having worked with the libnoise samples similar to those used to originally generate Kerbin, I'd also wonder if it'd be able to "keep up" with the game, especially in time warp. (Above a certain warp level all bets are off.) Generating a texture large enough and coherent enough to look good without causing noticeable lag takes time.

As cool as it would look, I'm not sure it'd be worth the dev effort or the clock cycles, aside from the gratifaction of completing the obvious programming challenge. 

Anyway, I want to thank the lot of you that have been keeping EVE going, especially @blackrack, @RangeMachine and @Waz (and any others I've missed - I really haven't been paying much attention to this thread of late), and of course @rbray89 for starting it all. KSP wouldn't be KSP to me without it. 

If I'm not mistaken, the volumetrics are evenly distributed on a grid at cloud level and each one reads from the main texture at the position matching it to check if they have to be visible, or not visible, ie it's all done through alpha, and there are a bunch of particles floating around with their alpha set to zero. I discovered this while messing around with the volumetrics shader a while ago.

Now I know noise computations on the CPU could take a while, where the CPU is basically iterating over every point in a texture and doing a Perlin noise calculation or whatever. But GPUs breeze through this kind of operation because they parallelize well. A 512x512 Perlin noise texture can be generated on a mid-range GPU every frame for a very small performance overhead. Split the main texture into chunks of that size or even smaller and render only one of them every frame. Render directly or stitch multiple chunks into a renderTexture on the GPU. Since both the volumetric shader and the 2d cloud shader read directly from the main cloud texture, have it point to the renderTexture instead, ta-daa, no need to "ping" EVE to update the textures or anything.

The ocean in scatterer renders a bunch of textures like this every frame for animating the ocean, and the cost of rendering them is much, much smaller than the cost of projecting the ocean grid and doing all the shading calculations. And there was a time when I wanted to render these textures on the CPU, so the heights of the waves could be accessed by the CPU to make ships bob up and down, but a quad-core i5 struggled with 128x128 textures.

I believe it will run very well, just need to find a noise algorithm that looks convincing and moves convincingly in time-warp. GPUs might as well be magic.

Edited by blackrack

Share this post


Link to post
Share on other sites
6 hours ago, Phineas Freak said:

@Kardea it seems that KSP fails to load the assemblies (it cannot even load the ones shipped with the Steam version of KSP, like the CSteamworks.dll). Probably something to do with the Windows permissions. Move your installation somewhere outside of the Program Files folder and try again.

Phineas,

   Tried moving the install and still no dice. I also tried explicitly running it as Administrator, but still nothin'. It used to work perfectly fine until the Prerelease...

Share this post


Link to post
Share on other sites

How much does this mod effect the performance? This is going to be the first I ever actually use a mod such as this and was just wondering if it'll tank my fps or leave it alone for the most part.

 

Thanks in advance! :)

Edited by Kitsunelegend

Share this post


Link to post
Share on other sites
2 minutes ago, Kitsunelegend said:

How much does this mod effect the performance? This is going to be the first I ever actually use a mod such as this and was just wondering if it'll tank my fps or leave it alone for the most part.

 

Thanks in advance! :)

It depends on your hardware. Every visual mod effects performance,  how well your hardware can handle it is the real question. It's different for everyone. The only way you will find out is by trying it

Share this post


Link to post
Share on other sites
8 minutes ago, blackrack said:

I believe it will run very well, just need to find a noise algorithm that looks convincing and moves convincingly in time-warp. GPUs might as well be magic.

Interesting. A bit easier than I thought. Must admit I've not read through the EVE source since volumetrics were added. 

Agree on GPUs. Regular old demon boxes that have some sort of connection to black magic. (Well, not really, but they're quite good at what they do.)

Share this post


Link to post
Share on other sites
30 minutes ago, blackrack said:

If I'm not mistaken, the volumetrics are evenly distributed on a grid at cloud level and each one reads from the main texture at the position matching it to check if they have to be visible, or not visible, ie it's all done through alpha, and there are a bunch of particles floating around with their alpha set to zero. I discovered this while messing around with the volumetrics shader a while ago.

 

This is correct. The amount of zero-alpha pixels is truly scary. But I'm not 100% certain this is the largest cause of the performance cost of volumetric clouds; I did some very basic testing a few months ago and find quite a lot of the cost was in having the layers at all - it seems all layers are always being generated, moved, and rendered, even though for most configs I've seen at most 2 cloud layers are ever actually visible, and only about 100 particles are non-zero-alpha.

Edited by Waz

Share this post


Link to post
Share on other sites
4 hours ago, blackrack said:

GPUs might as well be magic

Dude, for reals. I took home a wire-bound NVidia Cg language reference from Game Developers Conference years ago just cause it was so esoteric I had to read and try to understand. I couldn't understand. The whole shaders thing has only run away from me since :P

Edited by Drew Kerman

Share this post


Link to post
Share on other sites
15 hours ago, Waz said:

No, but some animation is possible with UVnoise (entirely sufficient for gas giants, for example). Just don't stare at the clouds for so long ;-)

The most interesting thing here would be to have the UV noise animation paired to the time warp... See at max rex and full screen to appreciate the effect: no more plain clouds... hello, realistic evolving clouds!

 

Edited by Proot

Share this post


Link to post
Share on other sites
14 minutes ago, Proot said:

The most interesting thing here would be to have the UV noise animation paired to the time warp... See at max rex and full screen to appreciate the effect: no more plain clouds... hello, realistic evolving clouds!

Oooooh....  pretty!

Share this post


Link to post
Share on other sites

@Proot

OMG that looks much better than what we have now!!!

The next step would be to have different cloud patterns for land and sea, maybe even more different climatic regions.

Share this post


Link to post
Share on other sites
2 minutes ago, ebigunso said:

@Proot

OMG that looks much better than what we have now!!!

The next step would be to have different cloud patterns for land and sea, maybe even more different climatic regions.

Don't get fooled, it is and will always stay the same cloud pattern. However it is not simply rotating but is getting disorted by the noise filter. But in the end the clouds will not change in any way and will always have the same pattern over and over. There is no way to have different patterns over land or sea for example.

Share this post


Link to post
Share on other sites
9 hours ago, Proot said:

The most interesting thing here would be to have the UV noise animation paired to the time warp... 

That's pretty trivial to add, but is it actually useful? I tied it to clock time rather than universe time expecting it would look too flickery when sped up too much.

Share this post


Link to post
Share on other sites

Im not a big fan of the way that looks. It looks as if the cloud layers are made of water. my opinion is pretty objective but i cant think of another way to explain it :D

@Waz

Here is a gif  from Nasa and you will notice the cloud formations don't change enough for the eye to notice. 
dscovrepicmoontransitfull.gif

Now maybe something can be cooked up to allow for 2 or 3 different textures to be randomly used to simulate a change. for example i have 3- or 4 different cloud textures ranging from super cloudy to less cloudy that could be used. Maybe it can be set up that once you travel far enough away from Kerbin and return, it could swap the texture out?  

Edited by Galileo

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.