Overview
News
Salaries
Products
People
Growth
Offices
Financials

Overview

Alex on software development. Today’s post is a bit different from my usual deep dives into mesh geometry. It’s a story about architecture – and about going back to the beginning. Think back to how you learned to program.

News

Blog 3 months ago
How I Stopped Designing Architecture and Started Writing a 3D Editor. Part 1
Today's post is a bit different from my usual deep dives into mesh geometry. It's a story about architecture - and about going back to the beginning. Think back to how you learned to program. Almost certainly, you started with procedural code: a program w
Read more
Report
Blog 3 months ago
Half-Edge Data Structure. Part 2
In the previous post we covered the basics of the half-edge data structure and how to traverse its elements using OpenMesh. This time, we'll look under the hood of add_face - the function that builds the entire structure on the fly. When you call: mesh.ad
Read more
Report
Blog 11 months ago
Converting My Codebase to C++20 Modules. Part 1
Today's post is about C++20 modules and my own journey of converting an existing codebase into modules. After years of waiting, I can finally say the attempt was successful. Back in 2022, trying to use modules in Visual Studio always ended in ICEs. But af
Read more
Report
Blog 1 year ago
How to Check If Two Triangles Intersect: Geometric Algorithms Explained
I've looked at a lot of triangle-triangle intersection code across different projects. And every time, one thing stood out: there's no single implementation that covers all the edge cases. That's not surprising. The requirements vary wildly depending on t
Read more
Report
Blog 1 year ago
C++23 mdspan
Today's post is dedicated to a new feature introduced in C++23 called std::mdspan. There are already a few articles online about it, but it caught my personal attention for three reasons: I've wanted to get rid of boost::multi_array in my codebase for a l
Read more
Report
Blog 1 year ago
Is the Point Inside the Triangle?
Today we're tackling something that seems simple: how do you tell if a point is inside a triangle? I've got five things I want to do here: Make it a storyThis post will be long, with some detours and extra thoughts. But I think that's the best way to get
Read more
Report
Blog 1 year ago
Mesh Stitching: Techniques for Repairing Gaps and Cracks in 3D Models
Today, I'd like to dedicate a post to the topic of mesh stitching.Stitching meshes is usually necessary when they contain gaps, cracks, or thin, narrow holes that can be stitched together instead of being filled. Such cracks might appear due to incorrect
Read more
Report
Blog 2 years ago
How to Implement Undo/Redo for a Half-Edge Data Structure?
Recently, I had to review code for undo/redo functionality for a half-edge data structure. This made me reflect on how different programmers approach problem-solving, considering the trade-offs between the development costs and the efficiency of the resul
Read more
Report
Blog 2 years ago
Exploring Mixins
A mixin is a class designed to inject specific functionality into other classes through inheritance, allowing developers to add behaviors without relying on deep or rigid inheritance hierarchies. Unlike traditional base classes, mixins are often small, fo
Read more
Report
Blog 2 years ago
Mesh Clipping Operations with OpenMesh Library
In this post, I will discuss the process of clipping operations on meshes using the OpenMesh library. For the purpose of this demonstration, we'll utilize the OpenMesh library to represent our mesh. For those unfamiliar, OpenMesh provides extensive tools
Read more
Report