Nicolas Wejdell

Shader Hot Reloading

Reloading shaders while the engine is running vastly increases your iteration speed and simplifies the debugging of old and new graphics features.

Asset Hot Reloading

The gif above shows the first iteration of hot reloading assets, where for any asset that was originally authored in an external program such as Blender or Photoshop, the registry can dynamically reimport it as soon as the source file (fbx, dds) changes on disk. As an example, a mesh...

Visual Scripting

In the example we see a physics trigger getting a ScriptComponent referencing the test script asset we authored in the separate script editor. When the block suspended in the air above overlaps with the trigger volume, we change the mesh from a block to the clock mesh, and the green...

Skeletal Animation

We purposefully serialize our skeletal mesh animations down to our own data formats and run the math using those. Other solutions insteadmake a thin wrapper (or no wrapping at all) around imported assimp scenes, provided they are also working with assimp. I prefer our solutionas it gives us more control...

Render Based Picking

Havtorn uses information stored in a separate render target to resolve its picking in the editor. By rendering the identifier of each entity onto the screen, our picking becomes pixel perfect and completely decoupled from the physics system.

Game Project 8 - Besoket

You respond to a cry of help from your friend, locked in a strange Swedish cottage. Find a way to free your friend, solve the puzzles all while evading the unknown horrors of the house. You better be careful, or this act of kindness might be your last..

Specialization: Volumetric Lighting in DirectX11

For my specialization I chose to try to implement volumetric lighting in our custom game engine. My main goal was to implement a volumetric directional light, and to optimize it best I could. Would there be time left, my secondary goal was to extend this implementation to point lights, spot...

Game Project 7 - I Am

You took something you shouldn't have! Use the gravity glove you stole to overcome obstacles and dangerous robots as you seek your freedom.

VFX Editor using ImGui

For our seventh game project at The Game Assembly, I made a VFX editor using ImGui based on the VFX and particle systems I designed for the project prior. With ImGui it was easy and fast to get a graphical user interface running and rendering in our custom engine,...

Deferred Decals

I implemented deferred decals for our seventh game project at The Game Assembly.The decals were exported from Unity and rendered to the G-Buffer in three separate passes depending on which textures to use; albedo, normal or “material” (containing metalness, roughness, emissive and detail normal strength).

Game Project 6 - Spite Bloodloss

A kingdom nearing ruin! Fight your way to the castle to confront your father, King Ulberic, and find answers to this tragedy.

Game Project 5 - Ellah

Puzzle your way through the ruins of a long gone society and learn their history.