-
Posts
2,993 -
Joined
-
Last visited
Content Type
Profiles
Forums
Developer Articles
KSP2 Release Notes
Everything posted by Gameslinx
-
[1.12.x] Parallax - PBR Terrain and Surface Objects [2.0.8]
Gameslinx replied to Gameslinx's topic in KSP1 Mod Releases
The current github version will upgrade scatter configs only and isn't perfect when ModuleManager is involved. The version I have locally will convert scatter and terrain configs (which is almost everything you need) except for the PQSMods which must be done manually The repo will be updated when it's done- 3,158 replies
-
- 2
-
[1.12.x] Parallax - PBR Terrain and Surface Objects [2.0.8]
Gameslinx replied to Gameslinx's topic in KSP1 Mod Releases
Yep OPM configs are on the Parallax Continued github here: https://github.com/Gameslinx/Parallax-Continued/tree/master- 3,158 replies
-
- 1
-
[1.12.x] Parallax - PBR Terrain and Surface Objects [2.0.8]
Gameslinx replied to Gameslinx's topic in KSP1 Mod Releases
I am slowly but surely working on configs for kcalbeloh. OPM configs are already up - I've written a config converter that does most of the heavy lifting so expect these soon- 3,158 replies
-
- 4
-
[1.12.x] Parallax - PBR Terrain and Surface Objects [2.0.8]
Gameslinx replied to Gameslinx's topic in KSP1 Mod Releases
In Parallax_StockScatterTextures/Configs/Mun.cfg, set 'spawnChance' to 0.1 for each Scatter- 3,158 replies
-
- 2
-
[1.12.x] Parallax - PBR Terrain and Surface Objects [2.0.8]
Gameslinx replied to Gameslinx's topic in KSP1 Mod Releases
@dave1904 In case you don't see - I've edited my post above to include the rescale config for the terrain too - it'll fix gaps in the terrain, but also let you enjoy the cool tessellation quality as if you were running stock scale.- 3,158 replies
-
- 2
-
[1.12.x] Parallax - PBR Terrain and Surface Objects [2.0.8]
Gameslinx replied to Gameslinx's topic in KSP1 Mod Releases
I'm so glad to hear! Anyway, here is a module manager patch for 3.5 scale. Create a .cfg file in your GameData folder, name it anything, and add this: // Parallax Rescale Config - 2.5x @ParallaxScatters:FOR[ParallaxRescaleTwoPointFive] { @Body,* { @Scatter,* { @Distribution { // Pop mult is an int, we need to round to nearest int (6) // Increase spawn chance to make up the rest @populationMultiplier *= 6 @spawnChance *= 1.0417 } // Uncomment this if you want the sizes of each patch of scatters to be the same as Stock // Word of warning - Your KSC might become overgrown! //@DistributionNoise //{ // @frequency *= 6.25 //} } } } // Need this after Parallax applies its PQSmods @Kopernicus:AFTER[ParallaxStock] { @Body,* { @PQS { @Mods { @Parallax { // Subdivision radius scales linearly with area // SubdivisionLevel is also an int, round down to nearest // It also scales with log2(area), so only need to add 1 per power of 2 scale @subdivisionRadius *= 2.5 @subdivisionLevel += 2 } } } } } Uncomment the DistributionNoise node if you want the sizes of each patch of scatters to be the same as Stock. Word of warning - the KSC might become overgrown if you do Edit: I've not actually tested this (only the 2.5 version so far), so there might be some extra things to tweak- 3,158 replies
-
- 1
-
[1.12.x] Parallax - PBR Terrain and Surface Objects [2.0.8]
Gameslinx replied to Gameslinx's topic in KSP1 Mod Releases
You have a lot of ModuleManager files in your GameData. Make sure you have the latest installed. Also, there's no way for me to tell, but double check you've installed Parallax_StockTextures and Parallax_ScatterTextures correctly. Inside your GameData/Parallax_StockTextures folder you should also have a _Scatters folder (amongst many others) - if you do, you've done everything correctly Let me know if that helps- 3,158 replies
-
[1.12.x] Parallax - PBR Terrain and Surface Objects [2.0.8]
Gameslinx replied to Gameslinx's topic in KSP1 Mod Releases
Cheers With Continued, it's possible to write rescale patches now so over the next few days I'm going to make some for (most) scales and bundle them into a download that people can choose from. For now, it should be the same story - Square the rescale factor and that is your new density multiplier in the Global config. As before there is a limit (hardware limit to how large the buffer that holds the scatter data can be), but it should be slightly higher. Let me know if you run into any issues, hope it goes smoothly- 3,158 replies
-
- 2
-
[1.12.x] Parallax - PBR Terrain and Surface Objects [2.0.8]
Gameslinx replied to Gameslinx's topic in KSP1 Mod Releases
Can you send me your KSP.log file? This one should scale better, but give me some time to collect some data/screenshots for you before you make a decision. What rescale do you typically play at so I can match it?- 3,158 replies
-
[1.12.x] Parallax - PBR Terrain and Surface Objects [2.0.8]
Gameslinx replied to Gameslinx's topic in KSP1 Mod Releases
I've sent you a message There are some workflow configs I need to provide, which I will get round to over the next few days. You'll need to wait on me for that though 1. I haven't got a way of changing the keybinding, I'll take a look into this. Out of curiosity what is the binding used for right now? I know Kopernicus' GUI, if it's installed, uses it. 3. Stick with the version the mod is built on. Apparently VS is telling me I'm on 4.8 but I'm fairly sure I'm on 4.7.1. You can always try both :p 4. You will need to build source and build the shaders each time. The source will compile in seconds, the shaders will take up to half an hour. 5. Yes, PC and P2.0 are incompatible with each other 6. Nothing negative, but the scatter positions will be different so if you have any bases, exercise caution 7. I'm working on getting instructions for upgrading existing parallax configs for planet modders, and then I will work on instructions for building with all the relevant configs and tools needed- 3,158 replies
-
- 6
-
[1.12.x] Parallax - PBR Terrain and Surface Objects [2.0.8]
Gameslinx replied to Gameslinx's topic in KSP1 Mod Releases
Pretty much yes, the new thread will be called Parallax Continued when the mod goes public - for now, this one is fine for feedback and potential bug reports- 3,158 replies
-
- 3
-
[1.12.x] Parallax - PBR Terrain and Surface Objects [2.0.8]
Gameslinx replied to Gameslinx's topic in KSP1 Mod Releases
It is a completely valid concern. If there is any solace, know that I will stay true to when I say the mod will release fully and freely once the features I mentioned are in (or after a certain amount of time, if those features are not feasible to implement). I did this when Parallax had its original 2.0 release back in 2022ish, and stayed true to that commitment then - I fully intend to do now For the record, Patreon allows me to pay my content licenses and subscriptions for the programs I use to develop the mod so I can at least break even, as they can be quite expensive (looking at you, Adobe) - although on the other hand, one could argue that I chose a hobby with these requirements and that doesn't justify it. I'm not here to convince anyone how they should feel about the concept of early access but my perspective may be valuable. That being said, while your concern is heard, I would appreciate it if this thread does not devolve into a discussion around that topic if that's alright- 3,158 replies
-
- 20
-
[1.12.x] Parallax - PBR Terrain and Surface Objects [2.0.8]
Gameslinx replied to Gameslinx's topic in KSP1 Mod Releases
Parallax Continued - Preview and Changelog Happy Saturday! Parallax Continued is now available via Patreon preview (or you can compile the source code on my Github). Due to forum posting rules I don't believe I can link directly from this post, but it's the same rodeo as the Volumetric Clouds mod. The link you're looking for is in the OP. Until there's a public, full release, there can't be a dedicated forum post dedicated to Parallax Continued. For any posts relating to it please do specify which version of the mod you are using so I can best support you. I have some features to add over the next few months such as terrain ambient occlusion, particle system scatter support and adding more varied terrain surface objects to the planets. I'm also working on documentation here: https://github.com/Gameslinx/Parallax-Continued/wiki Obligatory Requirements: 1. The source code is here: https://github.com/Gameslinx/Parallax-Continued/tree/master Public release will be in the order of months, and should hopefully not reach anywhere near a year. The changelog is a long one and hopefully worth the read! Parallax Continued Changelog - Release 1.0 Please note - existing planet packs that do not specify they support Parallax Continued will not work yet! Overview - The mod has been rewritten from the ground up, almost every line of code is new - expect massively improved quality, performance and reliability - Long time users of the mod will be very pleased to see the fixes section Features / Improvements GUI / Accessibility / Quality of Life - Added new GUI button in the space center and flight that lets you customise the mod's settings in-game - Added a new GUI keybind (Ctrl + P) which opens the terrain shader and scatter editor - Added a new setting "Show Collideable Scatters" in the settings GUI which highlights which scatters your craft can collide with - I am looking into a version of this that shows Breaking Ground surface objects - Added a new setting "Use Advanced Blending" which toggles the new terrain texture blending quality setting - Added a new setting "Light Shadows" which toggles vessel light shadow casting - Added a new setting "Light Shadows Quality" - Added a new setting "Fade Out Start Range" which controls the despawn start radius for scatters - Added a new setting "Collision Level" which controls how small an object can be to be considered collideable, allowing you to set the difficulty accordingly - Added various debug options to both the GUI and global config Terrain - General - All planets: Improved the terrain displacement to reduce visually floating/sinking objects - Kerbin: New terrain textures - Mun: New terrain textures - Eve: New terrain textures - Bop: New terrain and scaled space textures - Terrain will now cast shadows from all light sources, unless this option is disabled Terrain - Shader - Textures are now blended using displacement rather than just using a fade - Shader tessellation and displacement quality hugely increased - Shader reflection probe environment lighting now supported in forward rendering - Displacement can now affect all texture levels - Displacement range can now be set to any value - Improved specular/gloss calculation in forward rendering - Improved tessellation range falloff and edge length calculation - Improved displacement falloff calculation Scatters - General - Scatters now show in the KSC - Reworked the wind system - All scatters are now persistent, including small scale scatters such as foliage or small rocks - Scatter LOD processing and frustum culling now updates every frame - Scatter default render distance increased - Improved scatter render distance radius - it is no longer a hard cutoff - Render distance is now computed from the camera position rather than the craft position - Improved scatter altitude based density falloff - Scatter densities now properly account for the quad density distribution differences caused as a result of the cube-sphere transformation - Improved the appearance of the cutoff between biomes - All planets: Changed the random distribution of all scatters - Kerbin: Grass now takes on the terrain colour beneath rather than being a constant colour - Kerbin: Improved grass cutoff at the edge of the render distance - Kerbin: Updated oak tree scatter models and textures - Kerbin: Updated daisy scatter models and textures - Kerbin: Updated grass and tall grass LOD2 (furthest LOD) model and textures - Kerbin: Updated iceberg textures - Eve: Added rocks and slabs to the surface - Minmus: Replaced highland ice scatters with metallic minerals - Gilly: Significantly reduced the number of rocks - Ike: Improved the lighting dynamics for the crystal scatters - Laythe: Adjusted the grass colour to better match the terrain it appears on - Laythe: Improved the mushroom tree LOD2 (furthest LOD) texture - Vall: Updated ice slab scatter models and textures - Vall: Updated ice crystal scatter models and textures - Bop: Updated rock scatter models and textures - Eeloo: Updated ice slab scatter models and textures Scatters - Collisions - Added new Collision Level setting which allows you to control which scatters are collideable - Trees are now collideable by default. Have fun! - Colliders are significantly more reliable - Colliders are now persistent Scatters - Shaders - Added subsurface scattering - Added refraction - Added ability for scatters to be coloured by the terrain - Added more random distribution noise types - Improved scatter lighting in vessel lights - Improved the lighting of the bubble shader - Improved the distortion of the bubble shader - Unified lighting calculations across different scatter types Performance Terrain Shader / System - Massively optimized terrain tessellation performance - Massively optimized the performance of additional lights in Forward and Deferred rendering - Parallax terrain subdivision is now multithreaded using Burst Jobs, and is non-blocking - Optimized terrain pixel shader texture bandwidth - Quad build times as a result of Parallax are hugely reduced Scatter System - Collider processing is now multithreaded using Burst Jobs, and is non-blocking - Removed the reliance on PQSMods for determining scatter biomes - this is done on the GPU now - Removed the reliance on PQSMods for generating scatter distribution noise - this is done on the GPU now - Optimized scatter generation times - Optimized scatter compute shaders - Stutters related to the scatter system are now largely (if not completely) gone - Massively reduced the VRAM usage of the scatter system - Massively reduced the RAM usage of the scatter system - Only one compute shader is needed per scatter, instead of one per quad per scatter - Fixed common and large stutters when generating colliders Bug Fixes Terrain System - Fixed texture seams that would appear on a planet as a result of applying the terrain textures before quad normals updated - Fixed terrain texture "flicker" that would happen when the camera passes a certain altitude - Fixed a calculation the tessellation shader stage that resulted in tessellation cutting off abruptly Scatter System - hoo boy - Fixed interaction with Waterfall where both mods use the background texture, causing a conflict - Parallax now uses refraction approximation and no longer samples the background texture - Refractive scatters now render in Deferred as they are no longer technically transparent - Fixed scatters becoming disconnected from the ground - this will never happen now - Fixed scatter textures not loading - Fixed scatters displaying the wrong textures - Fixed scatters appearing too dark - Fixed scatter lighting when lit up by vessel lights - Fixed scatters flickering when the craft is destroyed (or otherwise) - Fixed scatter frustum culling stopping when the game is paused, HUD is hidden, and camera is rotated - Fixed occasional holes in shadows - Fixed shadow acne/banding effect in scatter shadows - Fixed billboarding shader lighting - Fixed occasional random intense blooming effect on scatters with high specular/gloss values - Fixed scatter specular/gloss calculation - Fixed scatter shader normal mapping for world space texture coordinates - Fixed colliders not closely matching the visual geometry - Fixed colliders disappearing on scene reload - Fixed being able to fall through colliders at random points (mainly on icebergs) - Fixed incorrect craft bound calculation causing colliders to despawn too soon while they were in range - Fixed incorrect scatter bound calculation causing collider ranges to be computed from the largest scatter bound, which reduced performance - Fixed colliders not respecting the world origin shift and becoming disconnected from the visual geometry when moving around - Fixed scatter system breaking seemingly randomly when flying around - Fixed scatter system breaking when teleporting to another body - Fixed a calculation in the distribution code that caused too many objects to be generated, and would generate at a fixed position with random rotation, causing lag when in the view frustum I hope you enjoy!- 3,158 replies
-
- 31
-
[1.12.x] Parallax - PBR Terrain and Surface Objects [2.0.8]
Gameslinx replied to Gameslinx's topic in KSP1 Mod Releases
It really depends, I wouldn't use Parallax as a metric for determining your PC requirements though! Avoid intel, I mean seriously - they are going through a huge issue with their last couple generations of CPUs that almost every single one of them is affected by degredation or instability that cause them to fail at an alarming rate. I'm not that knowledgeable on AMD, but their single core performance has come a long way (and that's important for KSP). GPU-wise a 30 series or 40 series NVIDIA is fine, though the 50 series is coming out soon (so maybe wait for prices to fall when they do?) For RAM I get by just fine on 32GB. Unless you're doing content creation / install a boatload of KSP mods or are a developer yourself, no need for more than 32 right now. If you're futureproofing, 64 won't hurt though. Good luck and hope the build goes smoothly. BTW, these tips are for a fairly mid-high end system. You can run parallax fine on a 10 series card (1070+ I'd say, comfortably) and low-mid range cpu these days- 3,158 replies
-
- 3
-
[1.12.x] Parallax - PBR Terrain and Surface Objects [2.0.8]
Gameslinx replied to Gameslinx's topic in KSP1 Mod Releases
This will be much less noticeable/fixed entirely with the upcoming rewrite- 3,158 replies
-
- 9
-
[1.12.x] Parallax - PBR Terrain and Surface Objects [2.0.8]
Gameslinx replied to Gameslinx's topic in KSP1 Mod Releases
If deferred is installed, update Parallax. If it's not, I need your KSP.log and steps to reproduce I'm looking into it. Macs have moved to Metal, and/or can support Vulkan as well - both of which I should be able to compile shaders for. But at the end of the day it is entierly up to Unity whether the check 'supports compute shaders' passes.- 3,158 replies
-
- 2
-
[1.12.x] Parallax - PBR Terrain and Surface Objects [2.0.8]
Gameslinx replied to Gameslinx's topic in KSP1 Mod Releases
I think Ultra controls the shader on Kerbin (which isn't used anywhere else) and setting it lower reverts it to what it was like pre-1.9. Not sure what the other ones do, probably the same for the other planets but reverting to an even older shader- 3,158 replies
-
- 1
-
[1.12.x] Parallax - PBR Terrain and Surface Objects [2.0.8]
Gameslinx replied to Gameslinx's topic in KSP1 Mod Releases
Are you looking at Terrain Detail? I'm referring to this one, which has an Ultra option, but you'll want to set it to High- 3,158 replies
-
[1.12.x] Parallax - PBR Terrain and Surface Objects [2.0.8]
Gameslinx replied to Gameslinx's topic in KSP1 Mod Releases
You can turn tessellation off by changing your terrain shader quality (in the main menu settings) to High. Ultra enables tessellation. There is no other difference between the two- 3,158 replies
-
- 1
-
[1.12.x] Parallax - PBR Terrain and Surface Objects [2.0.8]
Gameslinx replied to Gameslinx's topic in KSP1 Mod Releases
It certainly will be- 3,158 replies
-
- 16
-
[1.12.x] Parallax - PBR Terrain and Surface Objects [2.0.8]
Gameslinx replied to Gameslinx's topic in KSP1 Mod Releases
The near and far view of the planets are two separate systems. That is something I'd like to look into in more detail in the future, but at the moment I'm focusing on the planet surfaces up close- 3,158 replies
-
- 4
-
[1.12.x] Parallax - PBR Terrain and Surface Objects [2.0.8]
Gameslinx replied to Gameslinx's topic in KSP1 Mod Releases
This is probably one of the best ways. Start the game with colliders off (they will be on by default now), move your vessels to a safe place, then restart with colliders on Or roll the dice :p- 3,158 replies
-
- 3
-
[1.12.x] Parallax - PBR Terrain and Surface Objects [2.0.8]
Gameslinx replied to Gameslinx's topic in KSP1 Mod Releases
Parallax Development Update - Talking Frametimes and Optimization I am long overdue staying in the loop but today I bring some statistics and some analysis comparing the current version of Parallax to the upcoming version, as well as some optimizations I've made to resolve some dastardly issues. First, Some Graphs Directly comparing performance between the two versions is important to do as a developer, but it's worth noting that in this case it's not quite a completely fair test. In the new version, performance is significantly better so I am using some of those performance gains to introduce some more complex models and push out the default object render distance which will result in lower gains in the graphs. Because the assets themselves are different between versions, it's difficult to compare the two versions from just the raw framerate. System Specs Tested: i9 13900k (slightly underclocked because of the intel instability fiasco - my CPU is affected) NVIDIA RTX 4080 Super 32GB DDR5 5600 However, for those wondering, these are the framerate graphs. The most reliable ones are the two loading screen comparisons for reasons I explain below. Note on the Framerate graph - 1% Low and 0.1% Low taken with MSI Afterburner, but readings varied largely. The graph shows an average over a minute. 1% and 0.1% lows should be taken with a pinch of salt, and may not be indicative of real performance Frame Times But framerate is not quite the full story - a lot of the performance woes of the current parallax version lies not in its continuous framerate but in the stuttering when moving around. So what's happening during these stutters? KSP is building the terrain - this is done in patches called 'Quads' (a bit like Chunks in Minecraft). This is the main source of stuttering, is slow in general, and occurs independently of parallax Parallax is generating data for the scatters - this is done when KSP builds the terrain and can extend the stutters I mentioned above fairly significantly on planets with many scatters Parallax is building the collider octree - occurs when moving around a planet near its surface and takes a very long time Parallax is subdividing nearby quads. I covered this here Frame Times - Profiler Quick note on the Profiler - Frame times are not hugely indicative of the real time it takes to run the code being analysed because using the profiler significantly slows down the game. What's more important is the relative time it takes compared to everything else. Here is a breakdown of one typical Parallax 2.0 frame. This shows everything the game is doing as well, but in each of the following frame captures I'm showing all Parallax functions that ran at the time. In total, Parallax 2.0 adds 1.23 milliseconds to this frame. For reference, this frame would have taken 7.2 milliseconds (139 frames per second) without parallax installed, but actually took 8.43 milliseconds (119 fps), assuming every frame took this long. This also ignores additional frame time from rendering, but we're comparing CPU time in these screenshots. Honorable mentions are looking at what is happening during the stutters I mentioned above: This one is especially bad, taking almost half the frame time preparing some data. QuadRangeCheck is responsible for more than calculating distances, but it is very slow regardless. What's worse is this runs very often and causes microstutters. And the final frame capture is an extraordinarily bad (but very common) case of stuttering - flying over Dres at around 10 meters per second yields one of these every few seconds: This function is responsible for preparing the colliders on a quad and building the data structure to efficiently query them. The red lines below indicate 'garbage' generated by this function which will cause another stutter later on when it's cleaned up so as you can see, not very efficient at all :p Frame Time - Parallax Continued In the rewrite, none of these functions exist anymore as they have been replaced by different implementations, or rewritten more efficiently. You can expect stuttering from Parallax to be completely gone save for existing stutters caused by the base game or other mods. This is a typical frame captured from the same location as the first Parallax 2.0 frame capture: In total, Parallax Continued takes 0.697 milliseconds (compared to Parallax 2.0's 1.23ms) per frame which is a 43% speedup. Almost all of the frame time comes from the ScatterManager.LateUpdate() function which is responsible for dispatching compute shaders before rendering the scatters. In P2.0, this runs over the course of a few frames but due to the improved implementation which brings a host of bug fixes, these have to run every frame now. So What Optimizations Have Been Made? In short, a whole host. I mentioned quad subdivision in the last dev update but I will note it here again (because it makes the list larger ) The entire collision system now runs on Burst Jobs, eliminating the need to build a large octree data structure. This means the collider system is multithreaded Quad subdivision runs on Burst Jobs so this, too, is multithreaded The terrain shaders and scatter shaders are massively more optimized for both tessellation performance and memory bandwidth (there's a lot more than this, but it's too much to dig into for today) Scatter random noise generation is now GPU-based, eliminating the need to use a PQSMod for every scatter to generate it - this was very slow, and contributed to the stuttering Scatter biome checks are now GPU-based, and addresses the same issue as above With the shader optimizations, lights performance is hugely improved (and obviously improved further with Deferred) Those are the main things, anyway. In short, Parallax aims to multithread or offload to the GPU as much as possible to keep framerates high - it's difficult managing over 1 million objects every frame! Some Bonuses With the multithreaded terrain subdivision, we can get much more localized and higher levels of vertex density: The bubbles (that I am sure everyone will turn off in favour of the Lifeless Eve patch that I'll recreate for the update...) have been revised: Kerbin's oak trees have been replaced with much better ones: And finally, with the improved light performance I'm adding a new quality setting to allow lights to cast shadows *Ignore the weird looking rocks close to the kerbal/craft in these screenshots - I was showing the collider objects here which results in some overlap between the visual and collider object :p And with that, this dev update is concluded! I'm working on the final touches now that the collision system is in, so this will be the last dev update until release besides any one-off updates . I can't wait to release this- 3,158 replies
-
- 38
-
[1.12.x] Parallax - PBR Terrain and Surface Objects [2.0.8]
Gameslinx replied to Gameslinx's topic in KSP1 Mod Releases
It'll be much more stable. The current implementation is very convoluted because of some architectural issues. Now that those are fixed and improved in the upcoming version, the colliders are much easier to manage. There was some extra complexity added by having to optimize the system to run on one thread (and it doesn't help that I implemented it wrong, lol) - this new version will use multithreading via Unity Jobs to avoid a lot of the aggressive optimizations I had to make before. It's still fairly early days but the colliders are proving to already be much more reliable than before. I should have some more info in the coming week or two once it's fleshed out more.- 3,158 replies
-
- 9
-
[1.12.x] Parallax - PBR Terrain and Surface Objects [2.0.8]
Gameslinx replied to Gameslinx's topic in KSP1 Mod Releases
I've finished updating all the planets' scatters and terrain textures to support the update. I've almost finished implementing the new collider system too, so not far off testing- 3,158 replies
-
- 12