For as long as I can remember, I have always been passionate about 3D games and the technology behind them. I started the Vortex 3D Engine back in 2010 as…Continue readingComputer Graphics
Explore Bindless Rendering in Metal. Apple World-Wide Developer’s Conference, 2021. [watch online] Object-Oriented Programming with Lua. Segovia, A. The Linux Journal Magazine, May 2012. [view on ACM Digital Library |…Continue readingPublications
This section lists some of the articles published at this site. These are grouped by topic and include select techniques for Modern C++ Programming, Realtime 3D Rendering, iOS Development and…Continue readingC/C++ and Objective-C
This week has been a big one in terms of wrangling together several big pillars of the engine to provide wider functionality. The image below shows how we can now…Continue readingPutting it all together
This week, work on the scripting interface continued. As the image below shows, I can now access an entity’s components and even drill down to its Material through the Lua…Continue readingComponent Introspection
I hadn’t realized, but the Vortex Editor turned one year old a couple of months ago. I set off to work on this project in my free time with a…Continue readingVortex Editor turns 1 year!
For the last couple of weeks, a lot of work has been going into developing the scripting API that the engine is exposing to Lua. Embedding a scripting language into…Continue readingBinding C++ to Lua
Last week when we left off, we were able to implement a Lua REPL in the Vortex Editor console. This week, I wanted to take things further by allowing Lua…Continue readingBuilding the Engine Scripting API
This week I added scripting support to the Engine. I chose to go with Lua because of how easy it is to integrate into existing C/C++ codebases. I’ve mentioned Lua…Continue readingAdding a Scripting Engine to Vortex
This week, work went into completing the initial implementation of a Deferred Renderer for Vortex. Every feature we had been incorporating into the Engine so far was building up to…Continue readingDeferred Rendering – Part I
This week I started working on the G-Buffer implementation for the deferred renderer. The G-Buffer pass consists in the first half of any deferred shading algorithm. The idea is that,…Continue readingG-Buffer
This week, work went into testing Multi-Render Target support. Usually abbreviated MRT, Multi-Render Targets allow our shaders’ output to be written to more than one texture in a single render…Continue readingMulti-Render Targets
This past week was crazy busy and I didn’t have any time to sit down and code. Nonetheless, I had the time to work out the math and jot down…Continue readingQuick Procedural Geometry Notes
This week, work focused on developing a completely new interface for placing and customizing lights in the scene. The history of Vortex with lights is interesting. In Vortex 1.1, the…Continue readingNew Light Interface