Skip to content

Tutorial: Introduction

Harrand edited this page May 8, 2022 · 1 revision

Introduction

About

This tutorial will teach you the basics of the Topaz engine. The interface was designed specifically to be intuitive and allow you to succinctly describe what your application intends to draw. Under-the-hood, the engine calls into OpenGL or Vulkan (depending on the build configuration), so is always hardware-accelerated.

You do not need to know the intricacies of any particular graphics API to understand Topaz, although knowledge of general graphics programming will be beneficial, such as shaders, images and buffers.

Topaz can be considered a compromise between "I just want to make games", where you'd want to go for a much higher-level engine (such as Unreal Engine, Unity or Godot), or "I want complete control over my application", where you'd roll your own renderer from scratch. If you don't want to reinvent the wheel, but not have to see the engine as a nebulous ball of 'things', you match the intended use-case of Topaz.

Common Questions

  • Why should I use this project, when a billion other engines already exist?
    • No engine is perfect for everyone. If Unity/Unreal/Godot works for you, great! My honest answer is "I don't know". This project is for me, it just so happens to be available publically. Feel free to use it, or not! My personal motivation is that I would like much more control/visibility over the inner workings of my application, but I also don't want to go through days of boilerplate to see a triangle appear on the screen.
  • If I know nothing about coding can I start by using Topaz?
    • Probably not. Topaz is targeted at intermediate graphics programmers. Firstly, Topaz is a C++ project, which is not a commonly-recommended first language. In addition, graphics programming is hard. Even something like Topaz which abstracts alot of it for you is still not suitable for those at a beginner-level.
  • Does Topaz come with an editor?
    • No, and no such feature is planned unfortunately. Topaz is intended to be very low-level, so an editor is considered out-of-scope, but there are many other projects which disagree.
Clone this wiki locally