Hands-On Capstone Labs · Build Real Systems

Lab Challenges

Each day builds one real-world defense system piece by piece — applying every concept from that day's demos. Labs progress from setup → core feature → dynamic enhancement. You write the code, you see it run.

5Days
25Labs
5Real Systems Built
VMReady to Use
📖
Before You Start
Read the Module Notes
Open index.html and read the relevant module. Build the theory first.
Then Do
Repeat the Demo
Run through the matching demo in demos.html. Write the code yourself line by line.
🔬
Then Build
Solve the Lab
Apply what you learned to build part of a real naval system. Code section by section.
Verify
Check Your Output
Each lab has a clear expected result. Show it to your instructor before moving on.
🖥️ Your VM is Pre-Configured
All tools installed. All environment variables set. Just create your project folder and start coding.
C:\libs\glfw\ C:\libs\glew\ C:\libs\glm\ Vulkan SDK VS 2022 CMake 3.28 RenderDoc
Start Day 1 Labs →
Day 1 · Modules 1, 2, 3
Tactical Contact Display — OpenGL Foundations
Build a 2D naval radar-style contact display from scratch using VBO, VAO, EBO, shaders, and uniforms.
● Live
🛡️

Scenario: Naval Tactical Contact Display

You are building a 2D tactical display for a naval operations centre. The display shows contact markers (ships, aircraft) on a dark screen. Each lab builds one layer of the system — by Lab 5, you have a complete, animated real-time display with coloured threat indicators.

Real-time rendering Defence systems VBO / VAO / EBO GLSL Shaders Uniforms
L1Display Window Setup
L2Contact Marker Geometry
L3Threat Classification Colours
L4Boundary & Grid with EBO
L5Live Threat Pulsing Animation
🔬 Open Day 1 Labs ⚡ Day 1 Demos First
Day 2 · Modules 4, 5, 6
3D Vessel Tracker — Lighting, Textures & Camera
Extend into a full 3D scene. A ship hull with MVP matrix, fly camera, Phong lighting, textured hull, and animated ocean surface.
● Live
🚢

Scenario: 3D Naval Vessel Tracker

You are building a 3D tracking system that renders a naval vessel in a real-time 3D environment. Each lab adds one layer — from a rotating hull to a fully lit, textured ship on an animated ocean. By Lab 5, all Day 2 concepts are active simultaneously.

MVP Matrix Phong Lighting Textures Fly Camera Two Light Sources
L13D Vessel with Model Matrix
L2Full MVP + Fly Camera
L3Phong Lighting on Hull
L4Textured Hull Surface
L5Full Scene: Ocean + Two Lights
🔬 Open Day 2 Labs ⚡ Day 2 Demos First
Day 3 · Modules 7, 8, 9
Maritime Surveillance Scene — Advanced Rendering
Procedural GLSL sonar display, 2,000 instanced buoy markers, FBO sonar post-processing, stencil selection outline, transparent radar sweep — all combined in one scene.
● Live
🚢
Capstone Scenario
One project folder (C:\Labs\SurveillanceScene\), one CMakeLists.txt, five main.cpp replacements — each lab builds on the last.
L1Procedural Sonar Display
L22,000 Instanced Buoys
L3FBO Sonar Post-Processing
L4Stencil Outline + Blend
L5Full Scene Capstone
🔬 Open Lab Challenges ⚡ Day 3 Demos
Day 4 · Modules 10, 11, 12
NavalBridgeRenderer — Vulkan from Scratch
Instance, device, swapchain, graphics pipeline, vertex buffer, vkCmdDraw, production frame sync. 5 labs building one renderer.
● Live

Scenario: Naval Bridge Renderer

You are a graphics programmer replacing the ship's legacy OpenGL tactical display with a new Vulkan renderer for lower latency and better CPU utilisation across the CIC multicore system. One project folder, one CMakeLists.txt, five main.cpp replacements — each lab builds one layer of the stack, from a bare VkInstance to a fully synchronised, animated tactical display.

Vulkan 1.0+ Explicit GPU control SPIR-V shaders Frame synchronisation Vertex buffers
L1VkInstance, GPU Scoring, Logical Device
L2Surface + Swapchain + Clear Loop
L3SPIR-V + Full Graphics Pipeline
L4Vertex Buffer + vkCmdDraw
L5MAX_FRAMES_IN_FLIGHT Capstone
🔬 Open Day 4 Labs ⚡ Day 4 Demos First
Day 5 · Modules 13, 14, 15
Maritime Tactical System — Full Capstone
Descriptor sets, Vulkan compute sonar processor, C# P/Invoke bridge, and 10-minute live capstone demo covering all 15 modules.
● Live
🏥

Scenario: Maritime Tactical System

You are delivering the final integrated system for the USS Monterey's combat information centre. Lab 1 animates the Vulkan renderer via UBO and descriptor sets. Lab 2 processes sonar returns with GPU compute. Lab 3 binds multiple resource types in one descriptor set. Lab 4 bridges C# command console to the Vulkan renderer via P/Invoke. Lab 5 is a 10-minute live capstone demo covering all 15 modules.

Descriptor sets Vulkan compute C# P/Invoke Pipeline barriers Capstone demo
L1UBO — Animated Vulkan Scene
L2Compute Sonar Signal Processor
L3Multi-Resource Descriptor Sets
L4C# P/Invoke Command Bridge
L5Capstone Presentation
🔬 Open Day 5 Labs ⚡ Day 5 Demos First