a-e-k / canvas_ity

A tiny, single-header <canvas>-like 2D rasterizer for C++
ISC License
346 stars 21 forks source link

Tiger? #6

Closed rburchell closed 8 months ago

rburchell commented 8 months ago

You mention in https://github.com/a-e-k/canvas_ity/issues/4#issuecomment-1411671353 that you have the tiger ported.. I just wonder if there's a copy of that available anywhere? Curious to see how a bigger example looks (and what the performance bottlenecks look like) :)

Thanks for the cool code, nice work!

a-e-k commented 8 months ago

Thanks!

It's not checked into the repo, but I do still have that. Now that you've prompted me, I'm sprucing it up (writing a CMake file, adding some comments on the origin and conversion process, etc.) and should have it posted here in a day or two.

I'm not sure how representative it is performance-wise since it only uses a fraction of the features and API. But it does reasonably exercise the table-stakes rasterization. My new 7950X desktop peaks at about 70fps rendering it to a 733x757 image memory using a single core, given the right optimization settings (namely -Ofast -march=native -mtune=native with GCC 13.2.1 from Fedora 39).

rburchell commented 8 months ago

should have it posted here in a day or two.

No rush of course, this is entirely just to exercise my curiosity. But thanks a lot whenever you manage to get around to it! :)

I'm not sure how representative it is performance-wise since it only uses a fraction of the features and API

That's always going to be a fun question about an open ended API like this, right? What's "representative" is entirely dependent on which features you exercise, which in turn depends on what you're actually trying to display, heh.. :)

a-e-k commented 8 months ago

See demos/tiger/.