CanvasDraw - A powerful pixel-based graphics engine (Draw pixels, lines, triangles, read image data, and much more!)

They are and I can try rounding the values since they aren’t (I think)

Most of the rasterisation methods need rounded or floored values since we are working with pixels, and pixel coordinates dont have a decimal

Yep it works now, thanks!
limit aaaaaaaaaaaaaaaa

1 Like

Patch - v4.0.1.b

  • Fixed some canvas clipping issues related with the canvas DrawCircle/DrawCircleXY method.

  • Fixed Canvas:GetMousePoint() not working correctly with SuraceGUIs
    (turns out my last fix didn’t work).

  • Other minor bug fixes.


It won’t work for me when I try to use canvasDraw. It looks amazing but this is happening. Not sure if it is my code or the code above.

local CD = require(script.Parent.CanvasDraw)

local canvas = CD.new(
	script.Parent.Frame,
	Vector2.new(128,128),
	Color3.fromRGB(255,255,255),
	true
)

Ok, thanks for telling me! It now works.

This game engine is awesome! Look what I made with it easily:


Can’t wait to make more with this.

5 Likes

How do i make the background transparent

I wonder if it’s possible to make half life in this(something similar)

1 Like

I mean I can work with 1024x1024 but it kinda would be cool to be able to scale to 720p or 1080p for stuff like game engines

Once roblox lifts the res limit of images, or someone contributes to the module by expanding the resolution through multiple EditableImages, I will be sure to add it!

Even though in my opion 1024x1024 is plenty big enough of a resolution for custom engines, it would still be cool to have 4k as an option.

Alright oh hey btw about the module I have autoupdate on and I’m using runservice to draw a triangle which causes lag what is the correct way to update that triangle each frame?

Canvas:Clear() is laggy with a 1024x1024 canvas

interesting to note is that canvas.new with the color 0,0,1 and then doing canvas.clear sets the color to 0,1,0

Wait really? That’s odd… canvas:clear should be the same colour as given background colour for the canvas.

1024x1024 is an incredibly high resolution for drawing of shapes and clearing in real-time. It’s very expensive for lua and your cpu to handle.

Try lowering the resolution until you’re not experiencing lag.

Most of my game engines are like 320x240 or 200x200. Usually never anywhere near 1024x1024

Is there anyway to optimize this what about checking if the pixel is not the same color as the background

Screenshot from 2024-02-06 18-44-47
Found the issue

Local R,G,B should be Colour.R,Colour.G,Colour.B

wait is that in my module? if so, thanks for pointing it out, ill be sure to fix it

Alr your welcome I might try getting :Clear() to be smooth