Baked Bits A good bit is a baked bit

What happens when you save a file in Visual Studio?

For a long time I had this idea of writing a toy renderer application that I could use as a sandbox environment for rapid prototyping of things on both SO and shader side of things. One thing that always fascinated me about tools like ShaderToy was their ability to change a shader on the fly while you are typing, which greatly improves development speed. On my quest to try and do something similar I started looking into the Win32 API to watch changes in files under a directory.

Mesh to MetaHuman Gallery

A collection of MetaHumans created using the new Mesh to MetaHuman tool in the new MetaHuman Plugin for Unreal Engine 5 Official Documentation Mesh to MetaHuman Mesh to MetaHuman Quick Start Press Coverage fxGuide: Huge update for MetaHuman : Import your own head! AWN: Unreal Engine Mesh to MetaHuman Plugin Now Available 80.tv: Epic Games’ New Release Brings a Mesh to MetaHuman Feature to UE GameFromScratch: Make Your Own MetaHuman in Unreal Engine 5 CGPress: Epic updated Metahuman with ability to import custom character meshes YouTube Twitter These take a while to load

Modern Sponza UE5

The Modern Sponza rendered in Unreal Engine 5 with Lumen The original Sponza scene is a classic in the field of computer graphics research. Originally created by Crytek for use in CRYENGINE for testing rendering features it was quickly adopted by the community making appearances in several academic papers and CG experiments. The original scene can still be downloading from the CRYENGINE Marketplace and, to this day, it is an amazing piece of graphics to look at.

Easy Memory Management with the Vulkan Memory Allocator

In my post A Simple Vulkan Compute Example in C++ I described the hello world of Vulkan Compute. A very simple application that squares a vector of integers using a HLSL compute shader. It is quite an involved process, requiring many steps to be completed before getting to the actual compute shader execution. You need to: Create a Vulkan Instance, Physical Device, Logical Device Find the flags required to create a compute Queue Create the buffers that the shader will operate on: Query the memory requirements for a particular buffer Find the index of the memory type to create the buffer from Allocate Memory for the buffers Map the memory and fill it with the data you want Bind the buffers to the memory Create a Descriptor Set, Shader Module, Pipeline Create a Command Pool, Command Buffer, Fences Dispatch the shader Wait for completion Map the buffers and read the results back It is a rather complex process just to run some program on your GPU.

Creating Unreal Engine Data Assets using only Blueprints

In Unreal Engine’s terminology, a Data Asset is an asset that stores, guess what, data. It can be used, for example, to decouple the configuration from behaviour. Data Assets in Unreal Engine all inherit from the UDataAsset. You can define a new Data Asset type by inheriting from UDataAsset and then your new data asset will become available in the Pick Data Asset Class Dialog: I’m used to create new data assets using C++, you inherit from UDataAsset, add some members with UPROPERTY and done, however, recently I wanted to create one using only Blueprints.

A Simple Vulkan Compute Example in C++

Vulkan is great. It provides a cross-platform API to write applications that use the GPU to do graphics and general purpose compute. Designed from the ground-up to be a modern API, using Vulkan can be quite difficult so you better know what you’re doing if you plan to use Vulkan for your application. Vulkan provides both a graphics and compute APIs and in this post I will focus on the compute part of it as I’m still not very familiar with the graphics side of it.