You are browsing as a guest. Sign up (or log in) to start making projects!

Retro Future Engine

  • 2 Devlogs
  • 11 Total hours

OpenGL 2.1 based game engine meant to work on both old and new hardware, developed partially using a 2 core 32-bit laptop, which runs Arch Linux and VSCode from 2019 incredibly well for its age. Time counted might not include all of coding due to buggy extension behavior.

Open comments for this post

3h 15m 26s logged

Finished the basic transforms.

All extend the Transform class, which is ready for translation, scaling and rotation, but currently scaling is unused. It also provides helpful utility methods for using matrices created by it’s subclass to selectively apply the transform to provided vectors, and to get the coordinate system basis vectors (forward, right and up), with choice between camera space or world space, and scaling them or not.

I also created 7 subclasses, providing partial transformation support (just translation; rotations along single, two or three axes: and translation with rotation). I’m using very descriptive class names, with Pxyz meaning “Position with X, Y and Z coordinates”, and Rxyz meaning “Rotation around X (Pitch), Y (Yaw) and Z (Roll)”. From this I get names like Transform_Pxyz_Rxyz for general position and rotation, and Transform_Rxy for rotation without roll.

Finally I also updated the camera to use the transforms, but there is nothing visually changed that could be showcased

0
0
20
Open comments for this post

7h 43m 6s logged

I have prepared the base of the engine for further work.

Currently I have working glfw window creation using a C++ RAII class, a dummy glfw context class to make sure that the windows get closed before the context terminates, a cool looking systemd style logging system, a handy file loading function used by shader compilation, an engine class to neatly hold the testing code. I also made a set of gl.hpp and glm.hpp utility headers for including all used parts of OpenGL, GLFW and GLM.

I have made a buffer class to easily create and fill buffers.
I also created a shader and a program class to help with loading, compiling and linking shaders and shader programs.

There is also a basic camera class, but it’s awaiting a redesign after I finish the transform system, that will provide an easy way to position, rotate and scale objects like in other game engines.

The project is currently linux oriented, with the use of host’s glfw and glm installations. The glad files are included, but when I decide to support Windows I will have to package the other dependencies with it too.

0
0
3

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…