NathanKell Posted April 14, 2014 Author Share Posted April 14, 2014 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.) Link to comment Share on other sites More sharing options...
BahamutoD Posted April 14, 2014 Share Posted April 14, 2014 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.cfgOr 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 inThanks! 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 More sharing options...
Sauron Posted April 14, 2014 Share Posted April 14, 2014 Question: does the real-life solar system version of RSS work with Texture Replacer? The configs I found were for Universe Replacer. Link to comment Share on other sites More sharing options...
Ralathon Posted April 14, 2014 Share Posted April 14, 2014 @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 More sharing options...
regex Posted April 14, 2014 Share Posted April 14, 2014 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 More sharing options...
Starwaster Posted April 14, 2014 Share Posted April 14, 2014 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 thisREALSOLARSYSTEM{ Moho { Export { resolution = 2048 maxHeight = 6752 } PQS { Moho { maxLevel = 14 } } }} Link to comment Share on other sites More sharing options...
Ralathon Posted April 14, 2014 Share Posted April 14, 2014 (edited) 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 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 albumDownscaling 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 April 14, 2014 by Ralathon Link to comment Share on other sites More sharing options...
regex Posted April 14, 2014 Share Posted April 14, 2014 (edited) Try it like thisIt'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 April 14, 2014 by regex Link to comment Share on other sites More sharing options...
NathanKell Posted April 14, 2014 Author Share Posted April 14, 2014 (edited) 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. 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 April 14, 2014 by NathanKell Link to comment Share on other sites More sharing options...
regex Posted April 14, 2014 Share Posted April 14, 2014 (edited) 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. 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 April 14, 2014 by regex Link to comment Share on other sites More sharing options...
NathanKell Posted April 14, 2014 Author Share Posted April 14, 2014 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 More sharing options...
regex Posted April 14, 2014 Share Posted April 14, 2014 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 More sharing options...
NathanKell Posted April 14, 2014 Author Share Posted April 14, 2014 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 More sharing options...
SpacedInvader Posted April 14, 2014 Share Posted April 14, 2014 Wow, I'm away for 8 hours at work and I've already got three pages of intense modding to catch up on @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:-OctivesPQSMod_VertexHeightNoiseVertHeightCurve2:-ridgedAddLacunarity-ridgedSubLacunarity-ridgedSubOctaves-simplexOctaves-simplexPersistence-simplexFrequencyThe 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 More sharing options...
SpacedInvader Posted April 14, 2014 Share Posted April 14, 2014 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 More sharing options...
SpacedInvader Posted April 14, 2014 Share Posted April 14, 2014 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 More sharing options...
White Owl Posted April 14, 2014 Share Posted April 14, 2014 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 More sharing options...
regex Posted April 14, 2014 Share Posted April 14, 2014 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 More sharing options...
Ralathon Posted April 14, 2014 Share Posted April 14, 2014 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 More sharing options...
SpacedInvader Posted April 14, 2014 Share Posted April 14, 2014 @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? Link to comment Share on other sites More sharing options...
Ralathon Posted April 14, 2014 Share Posted April 14, 2014 @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 More sharing options...
SpacedInvader Posted April 14, 2014 Share Posted April 14, 2014 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 More sharing options...
Ralathon Posted April 14, 2014 Share Posted April 14, 2014 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 More sharing options...
SpacedInvader Posted April 14, 2014 Share Posted April 14, 2014 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 More sharing options...
Ralathon Posted April 14, 2014 Share Posted April 14, 2014 (edited) 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 albumIgnore 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 April 14, 2014 by Ralathon Link to comment Share on other sites More sharing options...
Recommended Posts