fintelia/terra

Fresh screenshots?

kvark opened this issue · 5 comments

kvark commented

I can see that Terra is now ported to wgpu, based on Cargo manifest. However, the README still has this:

Terra is a large scale terrain rendering library built on top of gfx pre-ll.

It's also unclear if the screenshot is from wgpu updated renderer. I guess it's not.
We'd be happy to feature your work on https://wgpu.rs/#showcase, so we'd need an to date screenshot.

I tried to run it locally, and wasn't able to:

thread 'main' panicked at 'called Option::unwrap() on a None value', bin/preview.rs:80:10

Thanks for the reminder to update the screenshot and readme! I'd been meaning to do it but hadn't gotten around to it...

I'm not quite sure what is causing the error you are seeing. Based on the line number it seems to be that it is failing to create an adapter. I just pushed 8431a34 which changes from asking for a Vulkan backend to any primary backend, so perhaps that may fix things?

kvark commented

That's better, thank you! Looks like we are hitting an MSL translation issue, internally, now:

There was a compiler error: double types are not supported in buffers in MSL.

Hm, it could be tricky for Terra to handle hardware that doesn't support doubles. Do you happen to know where Metal does/doesn't allow them?

kvark commented

According to MSL 2.1 spec, Metal doesn't support Double at all...

I looked more into dealing with this and there's now a branch (no-double) that switches everything to floats. That works for now, but will have precision issues once fractal refinement can generate features smaller than a few meters. I also tried fixed precision arithmetic, but while I was able to get something running, it seemed that it was going to be a big hassle going forward not to mention slower and less precise as well.