this post was submitted on 26 Feb 2026
6 points (100.0% liked)

Computer Graphics

106 readers
7 users here now

All about 3D and 2D computer graphics, vector and raster graphics, graphics programming using special APIs (e.g. Vulkan and OpenGL).

Some topics in computer graphics include user interface design, sprite graphics, rendering, ray tracing, geometry processing, computer animation, vector graphics, 3D modeling, shaders, GPU design, implicit surfaces, visualization, scientific computing, image processing, computational photography, scientific visualization, computational geometry and computer vision, among others. The overall methodology depends heavily on the underlying sciences of geometry, optics, physics, and perception.

#ComputerGraphics #CGI #CG #3D #2D #graphics #vulkan #opengl

founded 1 year ago
MODERATORS
 

Welcome to the "Building a Simple Engine" tutorial series! This series marks a transition from the foundational Vulkan concepts covered in the previous chapters to a more structured approach focused on building a reusable rendering engine.

A New Learning Approach

While the previous tutorial series focused on introducing individual Vulkan concepts step by step, this series takes a different approach:

This series targets readers who have completed the Vulkan Tutorial and feel comfortable with the fundamentals. We’ll emphasize architectural concepts and design patterns over exhaustive API permutations, so you develop an engine mindset rather than a collection of snippets. Expect to do more independent work: fill in smaller gaps, experiment, and lean on the Vulkan Guide, Samples, and Specification as primary references. If a topic feels too advanced, revisit the original tutorial and return when ready.

What to Expect

The "Building a Simple Engine" series is designed as a starting point for your journey into engine development, not a finishing point. We’ll cover:

  1. Engine Architecture - How to structure your code for flexibility, maintainability, and extensibility.

  2. Resource Management - More sophisticated approaches to handling models, textures, and other assets.

  3. Rendering Techniques - Implementation of modern rendering approaches within an engine framework.

  4. Performance Considerations - How to design your engine with performance in mind.

  5. Publication Considerations - How to prepare your application for distribution in a professional environment, including packaging, deployment, and platform-specific considerations.

Throughout this series, we encourage you to experiment, extend the provided examples, and even challenge some of our design decisions. The best way to learn engine development is by doing, and sometimes by making (and learning from) mistakes.

Throughout our engine implementation, we’re using vk::raii dynamic rendering and C20 modules. The vk::raii namespace provides Resource Acquisition Is Initialization (RAII) wrappers for Vulkan objects, which helps with resource management and makes the code cleaner. Dynamic rendering simplifies the rendering process by eliminating the need for explicit render passes and framebuffers. C20 modules improve code organization, compilation times, and encapsulation compared to traditional header files.

top 1 comments
sorted by: hot top controversial new old
[–] GnuLinuxDude@lemmy.ml 1 points 3 hours ago

Is this a new series? I don’t remember seeing this before.