Hey all. Recently, I got bored, so I made use of my new module and made this neat pseudo 3D map editor in roblox!
Cool thing here is that this isn’t actually 3D at all. This is actually a top-down 2D grid of cells being projected to look 3D with orthographic projection methods.
Downside is that the camera angle is limited at a 45 degree view with no floor or ceiling textures. (I’d love to know how to do this though)
Another thing is that this doesn’t run in real time well at all due to the amount of pixels being coloured in the GUI along with all the per-pixel functions, but runs well enough to work as a neat level editor tool for raycaster engines, which is another thing I made awhile back
Also really wish roblox had their own implementation of a canvas system, cause if they did then this would probably be able to run real-time
Also big question (this includes generally all of your 3D rendering creations), when rendering the pixels, textures, etc - is it particularly laggy? - and is it optimized, with lower end computers and especially mobile taken in to consideration?
The code behind it all is pretty optimized. I have used heaps of optimization methods to ensure this works well on low end PCs. The canvas has frame compression methods, there are look up tables being used all the time, and even caches!
Sadly, the main cause of performance issues is the same with any canvas implementation in roblox. The whole thing is CPU operated. And this REALLY doesn’t help for the fact that this whole thing is basically using per-pixel functions to draw the shapes and textures. So to keep it simple, the more pixels being coloured on the canvas for every frame, the more lag.
So using filled shapes is quite impactful on high resolutions. So for any real time renderer projects with heaps of filled shapes, I recommend a resolution of 100x100 pixels and it should run smoothly.