Jump to content

[1.2] Real Solar System v12.0 Dec 8


NathanKell

Recommended Posts

actually no it's still got some bad keys in there. That's my fault btw.

Metaphor issued a fix for it. Github has the latest version:

https://github.com/NathanKell/RealSolarSystem/blob/master/RealSolarSystem.cfg

Or if you just want to fix the Duna pressureCurve (like if your cfg is modified and you dont want to lose it)


pressureCurve
{
key = 0 0.00689859363633 0 -0.000593753777574
key = 1 0.006304839858756 -0.000593753777574 -0.000542650093698
key = 2 0.005762189765058 -0.000542650093698 -0.000495944843321
key = 3 0.005266244921737 -0.000495944843321 -0.000453259458485
key = 4 0.004812985463252 -0.000453259458485 -0.000414247954129
key = 5 0.004398737509123 -0.000414247954129 -0.000378594123713
key = 6 0.00402014338541 -0.000378594123713 -0.000346008976222
key = 7 0.003674134409188 -0.000346008976222 -0.000316228393753
key = 8 0.003357906015435 -0.000316228393753 -0.000289010990719
key = 9 0.003068895024716 -0.000289010990719 -0.000264136157304
key = 10 0.002804758867411 -0.000264136157304 -0.000241402271318
key = 11 0.002563356596093 -0.000241402271318 -0.000220625063953
key = 12 0.00234273153214 -0.000220625063953 -0.000201636126199
key = 13 0.002141095405941 -0.000201636126199 -0.000184281543811
key = 14 0.001956813862131 -0.000184281543811 -0.000168420649758
key = 15 0.001788393212372 -0.000168420649758 -0.000153924884058
key = 16 0.001634468328314 -0.000153924884058 -0.00014067675173
key = 17 0.001493791576585 -0.00014067675173 -0.000128568870448
key = 18 0.001365222706136 -0.000128568870448 -0.000117503100158
key = 19 0.001247719605978 -0.000117503100158 -0.0001073897476
key = 20 0.001140329858378 -0.0001073897476 -0.000082644687708
key = 25 0.000727106419837 -0.000082644687708 -0.000052696579465
key = 30 0.000463623522513 -0.000052696579465 -0.000033600822561
key = 35 0.000295619409708 -0.000033600822561 -0.000017542952689
key = 45 0.000120189882818 -0.000017542952689 -0.000007132432306
key = 55 0.000048865559761 -0.000007132432306 -0.000002899830576
key = 65 0.000019867254005 -0.000002899830576 -0.00000117898313
key = 75 0.000008077422701 -0.00000117898313 -0.00000047933877
key = 85 0.000003284034999 -0.00000047933877 -0.000000162178727
key = 100 0.000000851354089 -0.000000162178727 -0.000000050521935
key = 110 0.000000346134742 -0.000000050521935 -0.000000020540686
key = 120 0.000000140727884 -0.000000020540686 -0.00000000835122
key = 130 0.000000057215688 -0.00000000835122 -0.000000003395353
key = 140 0.000000023262163 -0.000000003395353 -0.000000001380447
key = 150 0.00000000945769 -0.000000001380447 -0.000000000561248
key = 160 0.00000000384521 -0.000000000561248 -0.000000000228186
key = 170 0.000000001563346 -0.000000000228186 -0.000000000092774
key = 180 0.000000000635609 -0.000000000092774 -0.000000000036175
key = 191.1 0.000000000234061 -0.000000000036175 -0.000000000013322
key = 202.2 0.000000000086193 -0.000000000013322 -0.000000000004906
key = 213.3 0 -0.000000000004906 0
}

Edit: Interesting, that's not quite my curve either. Looks like Duna got even more work..... which is good because it gives more atmosphere to aerobrake in

Thanks! Copying the new pressure curve worked, but I first tried just replacing the cfg file with the one you linked, and it set Duna, Dres, Jool, and Eeloo back to their stock orbits and size.

Link to comment
Share on other sites

@Ralathon: That looks pretty good! The only thing I'd suggest is a setting that allows you to add some smoothing to the top and bottom of the cliffs (they look a little too sudden compared the the rest of the terrain, if that makes any sense).

Yea, I was thinking the same. But I don't really have the resolution to smoothen out the crest of the cliff. Even with a 8196 pixel map I still work on a scale best measured in kilometers. Maybe messing with the PQS system can smooth it out a bit, but I've been focussing on heightmaps so far. So I have no clue how the system behaves if you mess with the PQS. I think lowering the cliff offset will help a lot as well.

That would be good for simulating some types of erosion, so setting it up so that setting can be easily changed would probably be useful for differentiating, say, Duna cliffs from Tylo cliffs.

Could probably do this by adding a bit of blurring to the cliff. about 1 pixel on either side with a exponential profile should give it a bit of weathered look.

Perhaps look into adding some noise to the top and bottom of the cliffs as well, since they look to have a surprisingly uniform height once you're away from the cliff ends. Just my 2 cents anyway. FWIW, the shallower canyon looks a bit better in terms of variation in height, so you might want to look into making these setting relative to the magnitude of the cliff.

There already is noise on the top and bottom, the Perlin noise is scaled to the map after edge detection. It's just that the cliff is so high that the variance seems insignificant. The canyon depths themselves are already relative to the original map. The formula is essentially "Stock height difference + my offset". So scaling down the offset should help a bit.

Another thing I am worried about is the way the noise gets added. Right now it scales with map height, but this means you'll never find a flat area in the highlands or a rough area in the lowlands. Anyone knows a convenient solution to this problem or is everyone 'meh' about this?

Link to comment
Share on other sites

But if you want Duna's, kind of a problem, in that that's a non-GameData asset (and thus we'd be extracting it out of the procected Assets files). As a workaround, create a new RSS CFG that only features Duna, and inside only an Export node (copy from Kerbin's, change fooExport to Export); also disable oceans in the node. Then you can set desired resolution and max/min heights (guess?) and you'll get a height map export based off the combination of the original heightmap and all Duna's original PQSMods. You'll also get a color map.

Why is this not working for me?

REALSOLARSYSTEM
{
Moho
{
Export
{
resolution = 2048
maxHeight = 6752
}
}
}

Link to comment
Share on other sites

Why is this not working for me?

REALSOLARSYSTEM
{
Moho
{
Export
{
resolution = 2048
maxHeight = 6752
}
}
}

I also had some trouble with that...

And I'm not sure exactly what I did to make it work...

Try it like this


REALSOLARSYSTEM
{
Moho
{
Export
{
resolution = 2048
maxHeight = 6752
}
PQS
{
Moho
{
maxLevel = 14
}
}
}
}

Link to comment
Share on other sites

Ralathon: you do that, I'll worry about scaled space. :)

(In fact, it *will* mesh with scaledspace because of PQSWrapper and because at the same time I'll replace the diffuse and normal maps.)

Well, you're the one who programmed it, I couldn't get the scaled space to work :P

Anyway, here's the Mars heightmap you asked for. I lowered the cliff offset height a bit for smoother canyons, but I haven't really tested it from the ground yet since I couldn't see where I was going (Noctis Labyrinthus looks like fun though).

Kept all the PQS equal to the ones used for Earth. But it might be an idea to up the scale height a bit so mt Olympus is the correct height.

I snapped a few pictures when I checked it out in game, but since scaled space wasn't working I have no idea what I was looking at.

Javascript is disabled. View full album

Downscaling the cliff height seems to have helped though. The valleys aren't as deep, but the effect looks more natural. Almost like a river bed.

I grabbed the heightmap from this site.

Why is this not working for me?

REALSOLARSYSTEM
{
Moho
{
Export
{
resolution = 2048
maxHeight = 6752
}
}
}

It's probably the resolution. Biggest resolution I've ever been able to export is 1024. The game just hangs before the title card if you put it any higher.

Edited by Ralathon
Link to comment
Share on other sites

Try it like this
It's probably the resolution. Biggest resolution I've ever been able to export is 1024. The game just hangs before the title card if you put it any higher.

Tried with the PQS -> Level node, the resolution at 1024, and both, still no dice. I'm using the release version from the first page, is there a dev version floating around?

I'm off to look at the code.

E: Found it. Texture rebuild/export only happens if the body's radius has changed. Pffft... Also, texture defaults to 2048 width so you don't need to include it if that's acceptable.

REALSOLARSYSTEM
{
Moho
{
Radius = 250001
Export
{
maxHeight = 6752
}
}
}

Edited by regex
Link to comment
Share on other sites

regex: because I'm stupid and put the export handler one level too deep--it will only execute if the body's radius changes. Just set Moho's radius to (whatever it is) + 1 meter and go. Sorry.

Will be fixed in next patch (or you can fix it yourself and recompile).

EDIT: Ninja'd by...not noticing there was a next page. Oops.

EDIT EDIT: Ralathon, the game doesn't hang, it just takes forever. :P

You can export up to 8192x4096, but expect to wait about an hour for those (i7 2600k; took ~48 minutes to render Kerbin at 8192x4096 when I first tried it last fall.)

Edited by NathanKell
Link to comment
Share on other sites

regex: because I'm stupid and put the export handler one level too deep--it will only execute if the body's radius changes. Just set Moho's radius to (whatever it is) + 1 meter and go. Sorry.

Will be fixed in next patch (or you can fix it yourself and recompile).

Sorry if that sounded harsh but don't get all self-deprecating up in here, I debug code for a living. :P Anyway, it kind of makes sense since you normally wouldn't want to rebuild the textures unless you have changed the radius. I can make the changes and do a commit tonight, I already made another change that should be done.

E: Done. Pull request sent.

Edited by regex
Link to comment
Share on other sites

regex: it didn't sound harsh, and I'd posted before I saw this page of the thread; I was responding to your "Moho y u no work" post.

Cool, thanks! I'll go ahead and nuke my version of the change because I want your sweet, sweet platform-agnosticism!

Link to comment
Share on other sites

Awesome, glad to help.

Is there anything in particular I need to do to get a clean heightmap without the oceans? My exports of Kerbin and Eve both have flat areas where the oceans are and setting "ocean = false" in the export node doesn't seem to help.

Link to comment
Share on other sites

Oh. It's another derp. I autoset ocean to true if the body has an ocean. Committed a fix. Also cleaned up the subroutine a bit.

EDIT: Ralathon, do you have diffuse/normal textures to go with that heightmap? I've found, for example, that AndreyATGB's diffuse/normal/heightmap don't quite match, presumably from different datasets, so I was hoping you can tell me the dataset you pulled that Mars heightmap from.

Link to comment
Share on other sites

Wow, I'm away for 8 hours at work and I've already got three pages of intense modding to catch up on :sticktongue:

@Ralathon: I like the sheerness of those cliffs, but I'm concerned about the jagged, almost pixelated edge your method produces. Is there any way to smooth this out, or is this just the limitation of working with 5km x 5km tiles? I would also suggest maybe dialing back the vertical variation in the noise your algorithm imparts to maybe a few hundred meters. I say this partly because those shots seem almost too bumpy, but also because I have reservations about the ability of PQS noise to properly fill in the spaces in between to create a more realistic surface. That being said, I'm downloading your heightmaps after I finish writing this to see what I can do with them. As for smoothing the tops of those cliffs, I just don't think that the heightmap is going to have a high enough resolution to make the cut. I'm thinking about applying a two vertnoisecurve mods, one constrained to the average cliff top and another constrained to the average cliff bottom to see if I can preserve the vertical face while both smoothing and varying the top and bottom boundaries.

@NathanKell: Can you tell me if the way you've defined the PQS mods within the RSS DLL will allow for multiple versions of the same mod to be applied with differing characteristics, or if that sort of functionality would have to wait for the generic PQS loader to work correctly? Also, in the interim, is there any way you could update the dll to support the following mod components:

PQSMod_VertexSimplexHeightAbsolute:

-Octives

PQSMod_VertexHeightNoiseVertHeightCurve2:

-ridgedAddLacunarity

-ridgedSubLacunarity

-ridgedSubOctaves

-simplexOctaves

-simplexPersistence

-simplexFrequency

The reason for this request is that these components of the PQS mods are the ones that control the finest of adjustments to the surface terrain. With the ability to edit these within the cfg, we could get really nice varied terrain on a small scale and get away from large, low detail hills and valleys.

Link to comment
Share on other sites

Oh. It's another derp. I autoset ocean to true if the body has an ocean. Committed a fix. Also cleaned up the subroutine a bit.

EDIT: Ralathon, do you have diffuse/normal textures to go with that heightmap? I've found, for example, that AndreyATGB's diffuse/normal/heightmap don't quite match, presumably from different datasets, so I was hoping you can tell me the dataset you pulled that Mars heightmap from.

http://planetpixelemporium.com/mars.html#

The normal map for that dataset is about halfway down the page.

Link to comment
Share on other sites

Sorry for the rapid-fire posts, but it's stupid question time: How can I use the new Duna heightmaps? Do I just copy the line "heightMap = GameData/RealSolarSystem/Plugins/PluginData/EarthHeight.png" into the Duna heightmap section of the config and rename it for the correct file?

Link to comment
Share on other sites

All this PQS and heightmap work is exciting, I'll have to get on that for my config. Thanks for doing the research, guys!

And thank you for putting the 6.4 scale config together. That's what I'm using in my current video series, and I love it. Very much looking forward to what's possible with the terrain.

Link to comment
Share on other sites

And thank you for putting the 6.4 scale config together. That's what I'm using in my current video series, and I love it. Very much looking forward to what's possible with the terrain.

I am too! I'll try to put out a minor update tomorrow for the lastest version compatibility and scaled space - PQS transition but I'll be tied up with family stuff for the rest of the week, so the heightmaps will have to wait.

Link to comment
Share on other sites

Oh. It's another derp. I autoset ocean to true if the body has an ocean. Committed a fix. Also cleaned up the subroutine a bit.

EDIT: Ralathon, do you have diffuse/normal textures to go with that heightmap? I've found, for example, that AndreyATGB's diffuse/normal/heightmap don't quite match, presumably from different datasets, so I was hoping you can tell me the dataset you pulled that Mars heightmap from.

Got it from this site. It has normals and colors that I assume match the heightmap. If not, just toss me a heightmap that suits your fancy and I'll take it through the matlab script again.

@Ralathon: I like the sheerness of those cliffs, but I'm concerned about the jagged, almost pixelated edge your method produces. Is there any way to smooth this out, or is this just the limitation of working with 5km x 5km tiles? I would also suggest maybe dialing back the vertical variation in the noise your algorithm imparts to maybe a few hundred meters. I say this partly because those shots seem almost too bumpy, but also because I have reservations about the ability of PQS noise to properly fill in the spaces in between to create a more realistic surface. That being said, I'm downloading your heightmaps after I finish writing this to see what I can do with them. As for smoothing the tops of those cliffs, I just don't think that the heightmap is going to have a high enough resolution to make the cut. I'm thinking about applying a two vertnoisecurve mods, one constrained to the average cliff top and another constrained to the average cliff bottom to see if I can preserve the vertical face while both smoothing and varying the top and bottom boundaries.

Afraid I can't do anything about the pixelly edges, they're exactly that: Pixels and I can't go higher resolution than 8192. I already adjusted the heightoffset for the cliffs a bit, see the Mars heightmap for the new effect. But any smaller scale adjustments will need to be done with PQS instead of heightmap manipulation. But since I have no clue how manipulating the PQS adjusts terrain in game I don't know how you'd go about it.

Sorry for the rapid-fire posts, but it's stupid question time: How can I use the new Duna heightmaps? Do I just copy the line "heightMap = GameData/RealSolarSystem/Plugins/PluginData/EarthHeight.png" into the Duna heightmap section of the config and rename it for the correct file?

just copy paste this block of PQS into Duna:

		PQS		{
Duna
{
maxLevel = 14
maxQuadLenghtsPerFrame = 0.8 //0.03 -- and yes, typo is correct.
//visRadSeaLevelValue = 7.0 //5.0 // the max visRad
//visRadAltitudeValue = 1.7999999523162842 // the minimum visRad
//visRadAltitudeMax = 15000.0 //10000.0

PQSMod_VertexSimplexHeightAbsolute // doubles
{
deformity = 900 //1000 // 485
persistence = 0.7 // 0.60000002384185791
frequency = 36 //12 // 24
}
PQSMod_VertexHeightNoiseVertHeightCurve2 // floats
{
deformity = 5000 //6000 // 4000
ridgedAddFrequency = 48 // 48
ridgedSubFrequency = 32 // 32
//ridgedAddOctaves = 8 // 6 INT
simplexHeightStart = 800 // 800
simplexHeightEnd = 9000 // 4600

}
PQSMod_VertexRidgedAltitudeCurve // floats
{
deformity = 950 // 1800 //1100 // 750
ridgedAddFrequency = 140 // 25 // 140
//ridgedAddOctaves = 8 // 3 INT
simplexHeightStart = 500 // 0
simplexHeightEnd = 9000 // 6000
}
PQSMod_VertexHeightMap // doubles
{
heightMapOffset = -2150.0 //-2000.0
heightMapDeformity = 15300.0 //15600.0 //7000 // 5000
heightMap = GameData/RealSolarSystem/Plugins/PluginData/DunaHeight.png
}
PQSMod_AltitudeAlpha // doubles
{
atmosphereDepth = 6000 // 4000
}
}


}

I kept everything the same as for Kerbin, but feel free to add or remove sections. As long as the PQSMod_VertexHeightMap keeps pointing towards the Duna Heightmap you should be fine.

Link to comment
Share on other sites

@Ralathon: Out of curiosity because I'd like to also try messing around with the raw Mars heightmap, how are you getting 12MB png files out of a 185KB jpg?

the file you download from the site is 1024 pixels wide. So I rescale the image in Gimp to 8192 before running it through my matlab script.

The matlab script also adds noise, which is very hard to compress because it has a high information density. Since the patterns don't repeat you can't compress away too much bits without data loss.

For example, a 8192 pixel checkerboard .png is only a few kb while purely random static of the same size can be as much as 25mb. It's simply the laws of logic at work here, if you want to know more about it I suggest you google Image Compression. Just be aware that this isn't something we can improve on, there is no such thing as a free lunch in computer science.

Link to comment
Share on other sites

the file you download from the site is 1024 pixels wide. So I rescale the image in Gimp to 8192 before running it through my matlab script.

The matlab script also adds noise, which is very hard to compress because it has a high information density. Since the patterns don't repeat you can't compress away too much bits without data loss.

For example, a 8192 pixel checkerboard .png is only a few kb while purely random static of the same size can be as much as 25mb. It's simply the laws of logic at work here, if you want to know more about it I suggest you google Image Compression. Just be aware that this isn't something we can improve on, there is no such thing as a free lunch in computer science.

While I was waiting, I went out and got the MOLA 32px/deg topology map and then converted it to a 8192 scale png. It's much much finer detail than the one you were working with. If you're interested in looking at it, PM me.

Link to comment
Share on other sites

While I was waiting, I went out and got the MOLA 32px/deg topology map and then converted it to a 8192 scale png. It's much much finer detail than the one you were working with. If you're interested in looking at it, PM me.

Don't know how much I could improve it. The MOLA picture is very accurate already, so all I could do is distort it a bit to make the terrain less realistic but more interesting. If you want to send it over I'll look at it, but no promises that it'll produce anything better than just using it directly.

Link to comment
Share on other sites

Don't know how much I could improve it. The MOLA picture is very accurate already, so all I could do is distort it a bit to make the terrain less realistic but more interesting. If you want to send it over I'll look at it, but no promises that it'll produce anything better than just using it directly.

I'd love to say this is the case, but unfortunately, even 10km high sheer walls are almost completely flattened out. It'll take some study as to why this is the case even with an accurate heightmap.

Link to comment
Share on other sites

I'd love to say this is the case, but unfortunately, even 10km high sheer walls are almost completely flattened out. It'll take some study as to why this is the case even with an accurate heightmap.

The reason is pretty simple. Image compression seems to smooth over the sheer drops. For example, compare the before and after heightmaps of the Ophir and Candor Chasma.

Javascript is disabled. View full album

Ignore the brightness differences, the original picture wasn't normalized, so it seems much darker than it really is.

Here's the map after taking it through the script. I haven't tested this at all, but I see no reason why it wouldn't work.

Edited by Ralathon
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...