Hey all, been a bit since an update has happened. I’ve added some small but very useful features to both the module and the image tools plugin!
Added Canvas:SetClearRGBA() to change the clearing colour and transparency
Added two new optional parameters to CanvasDraw.GetImageDataFromTextureId() to limit the image size while maintaining the aspect ratio: MaxWidth and MaxHeight
Added SetRGBA() and GetRGBA() to ‘ImageData’
Added two new filters to the CanvasDraw tools image editor plugin; Adjust Brightness and Colour Tint to help adjust colours and light levels.
I didn’t say it wasn’t possible. This graphics library can do real-time renderers really efficiently. Here’s two very powerful renderers I made with CanvasDraw:
Raycaster engine (runs above I think 160 FPS at 240x240)
Real-time raytracing with textures and unique rendering optimisation tricks to get above 120 FPS at 100x100
You should probably get back-face culling working first, as I dont think you’re doing that.
This video covers culling very well, and there’s a part 3 which covers clipping of triangles, which is kind of occlusion culling in a way, but it means you can have the camera close to the triangles without them going huge or running into divide by 0 issues.
Here’s a 3D OBJ renderer I made around a year ago that uses these implementations:
Hello! Did one of these updates effect 3.0? In Draw & Donate the canvases are showing strange blurry lines I’ve never seen before, I didn’t change anything in the game they randomly just showed up. Also accept my DC friend request if you’re able to, I have a few more questions about this module! I love this module and would like to learn more about it to improve my game. Thank you!
Hey all! This update just adds some optimisations to all ImageData methods, and also a new version of the SaveObject which allows :GetImageData() to perform better without having big lag spikes for larger images.
Reworked and added a differently formatted SaveObject! Using this new SaveObject greatly improves performance for :GetImageData() NOTE: For backwards compatability reasons, You can still read and use SaveObjects created prior to this change!
Optimised and improved performance for all ImageData methods
Removed the InstantCreate parameter on both :CreateSaveObject() and :CreateSaveObjectFromPixels() as SaveObject creation is now much faster
Nice optimizations, I shall update my module. I wish that the FastCanvas object inherited the UICorners you put in the GuiObject it’s adorned to!
In the video you saw, there were supposed to be corners to those images, but they were ignored. I could implement this myself, but it would be good if it was built-in. Using a CanvasGroup to add the corners doesn’t work because the group doesn’t rerender when an EditableImage’s data changes.
Am I using Image Editor wrong or do painting tools do not work? Importing PNG files work just fine, but for some reason the painting tools themselves refuse to do anything (filters and effects work fine!)
List of Beta Features enabled which COULD be detrimental to functionality if needed: