Feedback on my real-time 3D .OBJ renderer [2.0]

Hey all. Awhile back I made this cool 3D object file loader and renderer made within roblox on a GUI with no third party resources or HTTP service.

Here’s a video of it rendering a scene with 700+ polygons running at 150x150p at 30+ FPS:
(when recording with OBS, 20-25 FPS T-T)

The engine currently has the following features:

  • Basic .OBJ file reading and loading
  • Basic vertex lighting
  • Backface culling
  • Triangle clipping
  • Per-triangle sorting
  • Rotational and positional matrices
  • Controllable camera

The drawing of polygons on the GUI was created with my latest pixel-based canvas module:

I would love to hear your opinions on this creation


Your gonna get stuck when you try and get frustum culling lol, been at there for like 2 months now


That’s one of the few last things on my mind. At the moment I have been trying to figure out how to sort the triangles from furthest to closest (so I don’t have polygons drawing in the incorrect order).

After that’s done, I would like to figure how to implement CFrame to do camera rotation to rotate all vertices of every mesh around the camera.

Also clipping is one thing that I am really struggling to try and do, but it would be a great thing to have in the engine.

this is very cool, i like this thing.

Check out this repo: GitHub - HawDevelopment/Roblox-Engine: Small render engine im working on, powered by Roblox.


I could tell you how to do all of those, and I’d love to if we could ever get in a voice call but I’ve decided to make my repo public. I think it’s for the greater good that we all contribute to figuring out how to make Roblox in Roblox.

Oh wow this is amazing! This just blows my mind. I am very impressed on the quality and how well this runs. I am mostly impressed by the texture mapping though. Great stuff as always my man!

Really wish I could see this run, but when I attempt to run the place opened from the build.rbxlx that your repo provided I get this odd error filling my output:

Even when following your instructions it doesn’t seem to change anything

I think there was an update to parallel lua, try removing the Actor and any calls to task.desynchronize() or task.synchronize()

Added a pull request. I’m still working on it, and would love to help contribute.

1 Like

I think the biggest thing would be switching it to something like rojo, ive never used it but I want it to be like how hawdevelopment has it so you can see the roblox scripts
that was pretty straightforward

Hey all, I never ended up posting any updates on this engine or even showing off the new version, but here you guys go, I have updated and improved my 3D .OBJ rendering engine with much more capabilities!

1 Like

Now make it so you can place stuff inside it, like logic gates then you could make a calculator in Roblox while simultaneously being rendered inside Roblox. Roblox-ception.

1 Like