Currently, this is just a personal project as I still want to add and improve a few things, but once I get some proper tests on a mid-range or a slightly low-end laptop done, and if the results are good, I will probably end up distributing this for other developers to use.
Whether it will be free or cost something, that all depends on my time and effort put into this along with the quality.
CanvasDraw doesnt have multi-threading unfortunately. But it isn’t really needed for most resolutions and would be super complicated to implement for the API
Fantastic, outstanding, breath-taking work Ethan.
You inspired me to work on this as well and I’m so glad the goal is finally realized, thank you and great job.
Would it be possible to get the texture of a part or mesh and then convert it to what your doing for textures? I know it would probably shoot fps down a bunch, but you could probably preload them into a table by getting all descendants of the game that are surface appearances or mesh textures and then just add to a table with its texture id. Not sure that would work though, correct me if I’m wrong!
its a 100% possible. I’d just have to load an ImageData from a part with a decal or texture once and then add that to my textures list once. CanvasDraw can handle that automatically
I did a transformation from the ray hit position on the part compared to the part’s position to get UV coordinates, then I sample a pixel colour from an image via my CanvasDraw module with ImageData:GetPixel(X, Y)