Writing a Rust port

Writing a Rust port

Return to topic list

Sun Aug 18 19:08:12 2024   by   Auriana
Hi there! I've been happily using this app for quite some time now and making some really wonderful map bases for a game world I've been developing. I have a bit of an obsession with making very high detail maps, and as such I've run across some limitations that kept me from making continents at higher than a 40000x40000 resolution without quietly crashing.

As such, I've been spending the past week or so porting the entire thing into Rust, since I'm a lot better at writing it than I am at being able to make effective changes in C. I'm far from being complete with it, but I'm getting there. I went through a couple of refactors to allow multithreading support, and I've also added in writing to PNG.

I have some odd accuracy issues here and there, mostly around needing to greatly increase the subdivision level on a tetra hit or else I'd get a lot of artifacts in the render, but I'm steadily getting there. My biggest goal right now is optimizing the altitude calculation so it feels more in like with what it was in the C.

By no means am I trying to replace any of the work done here, but I thought it'd be neat to show at least. I'm currently getting my first 100,000x100,000 render on 12 threads to complete in the next hour or so, but I'd love to get that down much lower.

https://github.com/auriana-schissler/landgen
 
Mon Aug 19 16:07:15 2024   by   Mizuki
I'm glad to see other people playing with the program's source too! I myself don't really have enough knowledge to write/port a full program, so I have been just tinkering/adding some QoL features - the most notable might be the ability to embed a .col file into the source and run the binary "standlone", and the new double orthographic projection Riviera71 wrote.

https://github.com/MagicalDrizzle/planet-generator
 
Mon Aug 19 21:56:29 2024   by   Torben
Sounds good. The program was initially made long before Rust came out, and there have been a large number of modifications since, so the code is not entirely clean.  So I wish you the best of luck.
 
Mon Aug 19 23:11:23 2024   by   Auriana
Thanks! It's been enjoyable to step through it and steadily understand more and more of how and why some calculations were being done.

It also taught me that bitmaps have a hard limit on size too, hehe.
 
Fri Aug 30 23:23:13 2024   by   Auriana
I've nearly completed everything, short of some weirdness in getting the sinusoidal projection to actually project correctly, finishing the shading, and getting grid lines in.

I'm considering giving this a desktop UI for rendering and zooming as well. We'll see.
 

Return to topic list



New message:
Topic:
Posted by:

Type the values of the dice shown below:

Return to topic list