Placeholder Image

Real Engine - Devblog #1: Beginning

Introduction

Why am I writing this? Well, I want to document my journey of creating a 3D engine from scratch. This is a personal project that I’ve been thinking about for a while, and I finally decided to start working on it. The goal is to create a real-time 3D engine that can be used for various applications, including games, simulations, and visualizations.

What is Real Engine?

Real Engine is a 3D engine that will be built from the ground up. The idea is to create a flexible and efficient engine that can handle complex 3D scenes, physics, and animations. I want to focus on performance and usability, making it easy for developers to create 3D applications without getting bogged down in low-level details.

Goals

The main goals of Real Engine are:

  • Performance: The engine should be able to render complex scenes at high frame rates.
  • Flexibility: It should be easy to extend and customize the engine for different use cases.
  • Ease of Use: The engine should provide a simple and intuitive API for developers.
  • Cross-Platform: The engine should be able to run on multiple platforms, including Windows, macOS, and Linux.

Initial Steps

To get started, I will focus on the following tasks:

  1. Setting Up the Project: I will create a new repository and set up the initial project structure.
  2. Creating a Window: The first step will be to create a window where the engine can render 3D content.
  3. Rendering a Triangle: I will implement a basic rendering pipeline that can draw a simple triangle on the screen.

Milestones

I will set up milestones to track the progress of the project.

  • Milestone 1: Basic rendering system with a triangle.
  • Milestone 2: Implement 2D text rendering.
  • Milestone 3: Implement basic input handling (keyboard and mouse).
  • Milestone 4: Add support for loading and rendering 3D models.
  • Milestone 5: Implement a basic physics engine.

Conclusion

This is just the beginning of the Real Engine project. In the next devblog post, I will share the progress made on the initial steps and any challenges faced along the way. This devblog was a bit short, but I wanted to get the first one out there. I plan to write more detailed posts as the project progresses, including code snippets, architecture decisions, and performance optimizations.