In all seriousness: i'm a bit stuck myself. I would love to increase feature list (like real raytraced lights with metals being shiny and ambient lights) but it's already slowish+ TWBT rendering everything multiple times... Maybe i'll talk to my graphics expert'ish friends and they could suggest some fancy algos to boost everything... But in the end it will never be as fast as vanilla df.
Why not trow the
GPU in the equation? Vanilla almost do not have a use for it
A full universitary department is investigating how to use little
DSLs able of being run into the GPU. The root project that group all their research lines is called
AnyDSL. In this
paper they explain how they are doing and the performance that they have achieved, their
Impala repo shows that even if they are using a
Rust dialect in their compiler, they have not
bootstrapped it, as the general Rust project has, this mean that all their compiler code source is C++ like DFHACK.
They seems to rely on a
Higher-Order Intermediate Representation called
Thorin to achieve their GPU optimizations. Two more reddits:
1.
Impala: a Rust dialect that can
partially evaluate functions at compile time and produce GPU code
2.
A graph-based higher-order intermediate representation (demonstrated on Impala, a dialect of Rust)
Returning to our world now, they do not manually low level program the GPU, instead of that they are coding all their logic in the same high level language and then by means of some attributes, I believe, some fragments of code are marked by the programmers to generate GPU code while all the rest generate
CPU code and both worlds interact.
Terra seems to be doing exactly the same thing, but starting over a paradigm slightly different,
their repoAbout which one of those is more near to DFHACK? or if any kind of integration with DFHACK is even possible?
I am completely lost. Maybe your graphics expert'ish friends know...
It would be cool to find our way into one of those algoritm crushers or something similar by the way. Call me a dreamer! If you want, but respect my right to dream.