02 / ENGINE · C++ / OPENGL

Postgraduate Projects研究生项目

Newcastle University · Three real-time graphics & game projects 纽卡斯尔大学 · 三个实时图形与游戏项目
WhereNewcastle University
StackC++ · OpenGL · GLSL
Scope2 solo · 1 team
PlatformPC · PS5

Three projects built during my MSc Computer Game Engineering — two solo, one team. Each targets a different layer of a real-time engine: rendering, physics & AI, and a cross-platform graphics pipeline.

计算机游戏工程硕士期间的三个项目 —— 两个独立、一个团队。分别对应实时引擎的不同层面: 渲染、物理与 AI、跨平台图形管线。

01SOLO · RENDERING

Natural Scene Rendering自然场景渲染

CSC8502 · Repo → C++ · OpenGL · GLSL

A personal project rendering a visually immersive natural scene in C++ and OpenGL — a highly detailed skybox, procedural terrain, scattered meshes, and dynamic water.

用 C++ 与 OpenGL 渲染沉浸式自然场景的个人项目 —— 高细节天空盒、程序化地形、 散布网格与动态水体。

Natural scene rendering overview

Terrain, Water & Scattering地形、水体与散布

Procedural terrain程序化地形 Landscape generated from height, texture, and topography parameters.由高度、纹理与地貌参数驱动生成的地形。
Mesh scattering网格散布 Grass and trees distributed across the terrain to enhance realism.在地形上散布草木以增强真实感。
Phong waterPhong 水体 Water shaded with Phong lighting for realistic highlights.用 Phong 光照着色水体,模拟真实高光。
Detailed skybox高细节天空盒 A dynamic, ever-changing sky as a crucial part of the natural environment.动态多变的天空,是自然环境的关键一环。
Procedural terrain, water and scattered meshes
Procedural terrain, Phong water, and scattered grass & trees程序化地形、Phong 水体、散布的草木

Skybox — Zenith, Sun & Stars天空盒 —— 天顶、太阳与星空

Zenith gradient天顶渐变 Sky color grades from bright blue to subtle hues, mimicking natural changes at the zenith.天顶由亮蓝过渡到柔和色调,模拟真实天空的自然渐变。
Sun with lens flare太阳与镜头光晕 A simple yet effective sun simulation with a lens flare effect, adding realism to the scene.简洁而有效的太阳模拟,配合镜头光晕,增强场景真实感。
Star field星空 A starry night backdrop that stays consistent across scenes.跨场景保持一致的夜空星背景。
Skybox with sun and clouds
Skybox — zenith gradient, sun lens flare天空盒 —— 天顶渐变、太阳镜头光晕
02SOLO · PHYSICS & AI

Feline QuestFeline Quest

CSC8503 · Repo → C++ · Physics Engine

A 3D adventure game built on a C++ physics engine, where you control a cat searching for lost kittens — collecting kitties and coins, dodging enemies, and racing the clock.

基于 C++ 物理引擎的 3D 冒险游戏:操控一只寻找走失小猫的猫 —— 收集小猫与金币、 躲避敌人,并与时间赛跑。

Feline Quest gameplay
Gameplay — collect kitties, dodge enemies玩法 —— 收集小猫、躲避敌人
Collision detection code
Collision system — AABB / OBB / capsule / sphere碰撞系统 —— AABB / OBB / 胶囊 / 球体
Collision system碰撞系统 Handles AABB, OBB, capsule, and sphere collisions for precise interaction between the cat and the world.处理 AABB / OBB / 胶囊 / 球体碰撞,实现猫与场景的精确交互。
Rigid-body bridge刚体桥 Each bridge cube is a rigid body reacting to forces, collisions, and constraints under the player's movement.桥上每个方块都是刚体,在玩家移动下响应力、碰撞与约束。
Adaptive AI enemies自适应 AI 敌人 Navigation + ray detection to chase the cat; they jump to reach higher ground.用导航加射线检测追击玩家,会跳跃以适应更高地形。
Following kitties跟随的小猫 Collected kitties turn to face the cat and trail it smoothly.被收集的小猫会转向主角并平滑跟随。
Third-person camera第三人称相机 Follows and orbits the cat by mouse position, with angle and zoom control.跟随并环绕主角,可由鼠标控制角度与缩放。
State-machine character状态机角色 Character behavior driven by a state machine; collectibles and timed challenges.角色行为由状态机驱动;含收集物与限时挑战。
03TEAM · GRAPHICS

Crazy DashCrazy Dash

CSC8507 · Repo → C++ · OpenGL · PS5

A cross-platform, multiplayer party royale game in C++ and OpenGL, running on PC and PS5, with single-player and multiplayer modes across colorful, vast levels.

用 C++ 与 OpenGL 开发的跨平台多人派对吃鸡游戏,运行于 PC 与 PS5,支持单人与多人模式, 关卡色彩缤纷、规模宏大。

Crazy Dash gameplay
My part我负责的部分

Graphics enhancement — GLSL shaders and the render pipeline.

图形增强 —— GLSL 着色器与渲染管线。

Stylized Skybox System风格化天空盒

A cartoon-style skybox with procedural clouds and sun — a sun halo (bloom) and volumetric sun shafts (god rays).

卡通风格天空盒,含程序化云层与太阳 —— 太阳光晕(bloom)与体积光束(god rays)。

Stylized cartoon skybox with sun halo
Cartoon skybox — sun halo & volumetric god rays卡通天空盒 —— 太阳光晕与体积光束

Post-Processing Effects (PC)后处理效果(PC)

Post-processing effects in Crazy Dash
Post-processing stack running on the PC buildPC 版本上运行的后处理链

Shading & Triplanar Mapping着色与三平面贴图

Shading features — reflective spheres
Shading features着色特性
Triplanar texture mapping
Triplanar mapping — seamless texture blending三平面贴图 —— 纹理无缝混合

Pipeline管线

Data-driven scenes数据驱动场景 Used Unity as a scene-authoring tool, exported scene data as JSON, and parsed it into the C++ runtime for real-time use — working around the native engine's limited scene editing.用 Unity 作为场景编辑工具,将场景数据导出为 JSON,再解析进 C++ 运行时实时使用 —— 以此绕开原生引擎场景编辑能力的不足。
PS5 shader portPS5 着色器移植 Manually converted GLSL shaders to PSSL for the PS5 build.为 PS5 版本手动将 GLSL 着色器转换为 PSSL。
Unity scene-authoring tool
Unity as scene editor → JSON → C++ runtimeUnity 作场景编辑器 → JSON → C++ 运行时