It’s definitely possible to make a renderer within Roblox. I recently decided to make one, which offers good performance
The only thing I wonder, is how I can do z buffers or some culling occlusion method.
It’s definitely possible to make a renderer within Roblox. I recently decided to make one, which offers good performance
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:
This was made before EditableImage
Module and Plugin Patch v4.3.1
Just fixed an error on the plugin and fixed and fixed an where the Canvas.FpsLimit
property does not function quite right
Canvas.FpsLimit
is now write safe!
Deprecated Canvas:SetFPSLimit()
in favour of Canvas.FpsLimit
no longer being read-only
Increased the speed of mass importing SaveObjects
Fixed a rare occasion where importing a specific formatted PNG may break the plugin causing the gui to get stuck on the screen.
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!
Hello. This is a roblox bug
CanvasDraw 3.0 hasn’t been updated since November 2023
I sure hope this gets fixed soon
This issue appears to be fixed!
Module Patch v4.3.2
Just made a quick fix on SetClearRGBA for canvas clearing
Canvas:SetClearRGBA()
not workingI’m so glad to see the OP be so active on this , it just makes the product better haha!
Been active and constantly improving CanvasDraw since early 2022!
It’s been awesome to see what people have been able to come up with and make with this engine
I’ve personally used it a few times and i must say it is really nice.
Keep up the good work!
Amazing module! I created some tests that used it. One even visualizes the Mandelbrot Set!
I absolutely love that! It’s beautiful!
Would love to see what else you can come up with!
Image Optimisation Update - v4.4.0
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.
Patch - v4.4.1
Ended up forgetting to fix something in the previous release as well as adding some more small optimisations for image-based methods
Added back the missing method Canvas:GetAlpha()
which was accidentally removed in a previous version
Fixed, optimised and updated CanvasDraw.CompressImageData()
and CanvasDraw.DecompressImageData()
to use the new faster image format
Small optimisations for overall image compression and decompression. The CanvasDraw Tools plugin has also been affected by this
Hello, I am new to scripting but I don’t know why this error appears when I try to make canvas or draw on canvas.
You have to turn the EditableImage beta feature on. File > Beta Features
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:
that’s odd, any errors? If not, make sure the plugin is up-to-date, I was working on rewriting the plugin a little bit yesterday.
The EditableImage beta also needs to be enabled too
I’ll cehck tommorow if there are many errors showing up. There were none when i was trying to draw. Not sure about initialization
Editable images and meshes are enabled.