Athens, Greece

John Moschos

Graphics Engineer

Real-time rendering, ray tracing & game engine architecture. Lately, AI agents that reason about and act inside 3D worlds.

01 Selected Projects

Engines, renderers and techniques I've built. Every clip below is captured from my own code.

Stochastic Pathtracer

Unbiased Monte Carlo reference renderer inside Raygen

A single-path Monte Carlo pathtracer used as Raygen's ground-truth renderer. Next event estimation and multiple importance sampling drive fast convergence. Layered diffuse and specular BRDFs/BTDFs cover a wide material range, and Russian roulette termination keeps the estimator unbiased while culling insignificant paths.

  • Raygen Engine
  • Path Tracing
  • NEE
  • MIS
  • BSDF

Ray-traced Area Lights

Real-time soft shadows and specular highlights from mesh lights

Area-light shadowing is resolved with ray-traced visibility queries, then denoised with an SVGF-style spatiotemporal filter for temporal stability. Specular response uses the representative point method: the reflection vector is snapped to the closest point on the light mesh, giving a convincing highlight from arbitrary emitter shapes at real-time cost.

  • Raygen Engine
  • Ray Tracing
  • SVGF
  • Representative Point

Irradiance Probe Grid

Diffuse global illumination for Raygen's real-time renderer

A variable-density grid of light probes, each baked by capturing its surroundings with the stochastic pathtracer into a low-resolution cubemap. At runtime, diffuse GI is reconstructed by trilinearly blending nearby probes, much like sampling a 3D texture of incoming radiance, with the surface normal reprojected per probe to correct for the positional offset.

  • Raygen Engine
  • Global Illumination
  • IBL
  • Compute

Atmospheric Scattering

Physically based sky simulation via ray marching

A ray-marched atmosphere model computing Rayleigh and Mie scattering from physical coefficients and astronomical parameters. The shader ships with Earth-like values but is fully parameterized: hazy urban skies, sunsets on alien planets, or any star's spectrum fall out of the same integral.

  • Raygen Engine
  • Ray Marching
  • Rayleigh & Mie

Kaleido Engine

Graphics engine with hot-swappable renderers across APIs

Kaleido lets you register multiple renderers (OpenGL, Vulkan, D3D11, or an offline pathtracer) and swap them at runtime against the same scene, making it ideal for comparing a real-time approximation against ground truth. It provides multithreaded asset loading with automatic caching, an extensible loader system, and an ImGui editor over a scenegraph.

  • C++17
  • Vulkan
  • OpenGL
  • D3D11
  • GLSL
  • HLSL

Lens-matched Sampling MSc thesis

Foveated ray generation for photorealistic VR

VR lens distortion means peripheral pixels contribute far less than central ones, so why trace them at full density? This technique varies the ray-generation rate across the image via an adjustable mask, cutting the ray budget for stereoscopic path tracing while preserving perceived quality. Built on OptiX with the Oculus SDK as part of a from-scratch VR ray tracing engine.

  • C++14
  • OptiX
  • Oculus SDK
  • VR
  • Ray Tracing

Volumetric Lighting BSc thesis

Light-volume-clipped ray marching for god rays

A post-process ray-marching technique simulating in-scattering through participating media. The key optimization clips each ray to the light's influence volume before marching: the bounded segment matched the visual fidelity of an unclipped ray using 10× the sample count, at a fraction of the cost.

  • C++11
  • OpenGL
  • GLSL
  • Ray Marching
  • XEngine

Asteroid Blaster Best Graphics Project 2016

From the graphics course that introduced me to the field

A game a few classmates and I built for a graduate graphics course. I worked on game design, special abilities and their audiovisual feedback, actor movement and physics, spawning systems and boss AI, and on the rendering side added soft shadows, depth of field, bloom and normal mapping. We had a lot of fun packing in more than the assignment asked for.

  • C++11
  • OpenGL
  • GLSL
  • Gameplay

02 Experience

  1. 2024 – Present

    Graphics Software Engineer · Metasteps

    Architecting the core graphics systems behind Metasteps' products across mobile, WebGL and VR. Pioneering rendering techniques and AI tooling to raise interactivity and visual fidelity, mentoring engineers and artists on engine internals, and serving on the leadership team guiding graphics across gameplay, tools and product strategy.

  2. 2021 – 2024

    Graphics Software Engineer · Dataverse

    Extended and optimized Unity to ship high-performance products on mobile, WebGL and VR. Built internal tools that streamlined asset workflows and build management, led the artist team's asset creation and optimization pipeline, and mentored junior engineers.

  3. 2019 – 2021

    Independent R&D · Raygen & Kaleido

    Deep-dive years into photorealistic rendering and engine architecture, designing and building the two open-source engines featured above. In parallel, served in the Hellenic Navy as a Computers & Networks specialist, contributing to a national security project.

  4. 2018 – 2019

    MSc Computer Science · AUEB

    Thesis: Photorealistic Virtual Reality, a from-scratch engine for high-performance photorealistic VR with a stereoscopic ray tracer and lens-matched sampling. Awarded a scholarship from Omilia Conversational AI as one of the top three students of the programme.

03 About

I'm a graphics engineer with an MSc in Computer Science and over 5 years in the industry, specialized in real-time rendering and game engine architecture. I've built game engines from scratch in C++, with Vulkan, OpenGL and Direct3D backends, and shipped production work in Unity across mobile, WebGL and VR, with years spent deep in physically based lighting, ray tracing, path tracing and global illumination. I also really enjoy mentoring, and a good part of my time goes into helping engineers and artists grow.

These days my work increasingly sits at the intersection of AI and 3D: language-model agents that reason about and act inside virtual worlds, multi-agent systems, and intelligent pipelines wired into real-time applications. I enjoy owning the full stack of a 3D system, from the shader math, to the architecture that holds it all together, to the agents acting inside the world.

Rendering & Engines

Real-time rendering · Game engine architecture · Ray & path tracing · Global illumination · VR / AR

Languages & APIs

C++ · C# · Unity · Vulkan · OpenGL · Direct3D · WebGL · GLSL · HLSL

AI & Agents

AI agents · Multi-agent systems · LLM engineering · Embeddings

Familiarity

Python · JavaScript · Unreal Engine · Blender · n8n

04 Contact

Interested in graphics, engines, or AI-driven 3D? Let's talk.

ioansmoschos@gmail.com