I finally managed to change my engine to support multiple user-created windows. The main window is created by the engine (But an event can be handled by the client before the creation to change the initialization parameters of the main window), but the client can create more sub-windows if he chooses. If the user presses […]
Month: June 2020
.OBJ File Parsing
Today I implemented an OBJ-parser. This parser loads an .obj file and spits out an Infinity::Model* object. I had to iron out some memory leaks and performance issues (that being said it still takes about seven seconds to load the Stanford dragon model), but now it works 🙂 After further testing, I realized that it […]
Blending and Culling
Last week, I implemented a rasterizer class to control some low-level functionality like blending and culling. While the rendered image below used alpha-clipping and alpha-blending combined, images with non-zero and non-one alpha components could have been rendered too.
Zero Warnings!
I finally took it upon myself to eliminate all warnings in my Infinity code base. Sadly, my dependencies still contain some annoying warnings (uninitialized member warnings, ect.). However, my compile output is completely clean now 🙂 No dll-interface warnings, no implicit cast warnings and no other warnings!
Virtual Cursor Space
In the last commit, I added virtual cursor space and cursor enabling/disabling. This basically means that you can hide (disable) the cursor and move it around indefinitely without bounds (very useful for first-person cameras). In the following image, you can see that I added cursor-based pitch and yaw rotation to my camera.
Perspective Camera
To finally support some basic 3D rendering, I added the PerspectiveCamera class. This camera represents a movable observer in 3D space with an FOV, pitch, yaw and roll rotation, near and far clipping planes and position. I added some helper functions so moving in the XZ-plane relative to the yaw angle is aided. (See GitHub […]
Batch Renderer
Added 2D batch rendering capabilities to the Infinity engine. Texture mipmapping is now supported as well.
Hello world!
This is my first post!