Skip to content

Commit

Permalink
v0.9.0
Browse files Browse the repository at this point in the history
  • Loading branch information
andyoneal committed Feb 2, 2024
1 parent e18c0c6 commit a198d0b
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 8 deletions.
6 changes: 2 additions & 4 deletions InstDysonShellRenderer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,7 @@ private static void SetupMesh()
{
Graphics.CopyTexture(emm2, 0, m, emissionTex2, 0, m);
}
// colorControlTex2.SetPixels(cc2.GetPixels(), 0);
// emissionTex2.SetPixels(emm2.GetPixels(), 0);

emissionMultiplier[0] = material.GetFloat("_EmissionMultiplier");

for (int i = 1; i < 7; i++) {
Expand All @@ -106,8 +105,7 @@ private static void SetupMesh()
{
Graphics.CopyTexture(emm2, 0, m, emissionTex2, i, m);
}
// colorControlTex2.SetPixels(cc2.GetPixels(), i);
// emissionTex2.SetPixels(emm2.GetPixels(), i);

emissionMultiplier[i] = material.GetFloat("_EmissionMultiplier");
}

Expand Down
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# SphereOpt

**SphereOpt v0.8.3 should be considered a "beta" release. The worst you should is experience is errors or graphical glitches, in which case you can uninstall the mod. Please report any issues you encounter.**
**SphereOpt v0.9.0 should be considered a "beta" release. The worst you should is experience is errors or graphical glitches, in which case you can uninstall the mod. Please report any issues you encounter.**

Improves rendering of Dyson Shells, Frames, and Nodes by instancing the shell hexagons and issuing one draw call per layer, instead of one per shell. Also implements culling and level of detail for frames/nodes. Impact is larger depending on the size of your Dyson Sphere(s).

Expand All @@ -9,10 +9,13 @@ In a new game with a large and densely packed sphere containing 5,240 shells, fr
[DSPOptimizations](https://dsp.thunderstore.io/package/Selsion/DSPOptimizations/) is not required, but I don't know why you wouldn't use it if you're interested in this mod.

## Known Limitations
- does not support shell textures other than the default one. planning on tackling this before 1.0, but each design means another draw call. currently drawing once per layer (so, up to 10), but with 7 textures, that's up to 70 draw calls. that's still a hell of a lot better than 1 per individual shell, so I'm probably splitting hairs here.
- does not support painting/colors on shells. this was just an additional layer of complexity that I haven't dug into yet. planning to have this in before 1.0.
- some dyson spheres have random gaps but most are fine. it is frustrating.

## Changelog
- v0.9.0
- supports DSP 0.10.29.28154
- added support for shell textures other than the default, without adding extra draw calls. thanks, Texture2DArray!
- v0.8.3
- supports DSP 0.10.28.20779
- v0.8.2
Expand Down
2 changes: 1 addition & 1 deletion SphereOpt.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<TargetFramework>net472</TargetFramework>
<AssemblyName>SphereOpt</AssemblyName>
<Description>Optimize Dyson Sphere rendering</Description>
<Version>0.8.3</Version>
<Version>0.9.0</Version>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<LangVersion>latest</LangVersion>
<PlatformTarget>x64</PlatformTarget>
Expand Down
2 changes: 1 addition & 1 deletion thunderstore/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "SphereOpt",
"version_number": "0.8.3",
"version_number": "0.9.0",
"website_url": "https://github.com/andyoneal/SphereOpt",
"description": "Improves performance when rendering Dyson Spheres",
"dependencies": [
Expand Down
Binary file modified thunderstore/sphereopt-bundle
Binary file not shown.

0 comments on commit a198d0b

Please sign in to comment.