kalorona-kernel (2023 - present) Toy kernel targeting RISC-V multi-core platform, with object cache, page allocation and driver interface [code]
City View - a virtual reality demo (2016) Created a detailed virtual cityscape using SketchUp, Unity3D, and the SteamVR SDK running on HTC Vive; significantly elevated rendering performance from 25 FPS to 90 FPS by leveraging normal mapping textures and level-of-detail techniques to reduce DrawCalls; presented in city expo [photo at expo]
Code is not posted to follow academic integrity policy.
Raytracing-based renderer Implemented a mesh renderer with Blinn-Phong illumination model, supported light attenuation, UV mapping, reflection and transparency with C++ [screenshot]
User-thread library Achieved user thread scheduling and management through POSIX uthread context library, implemented Round-Robain and Static Priority scheduling policies
MIPS processor Impletmented data forwarding, hazard control and cache replacement policy for MIPS processors in Verilog
ResNet trained by ImageNet dataset Used NVIDIA DALI to load training data efficiently and PyTorch for training ResNet
2D Minecraft-like game (2015) I used C# GDI APIs to draw frames of 2D Minecraf-like world. [screenshot]
MorningBreeze - an "OS" that lives in userspace (sometime between 2013-2015)
I used System.Reflection
APIs to load dll
files dynamically and pass MorningBreeze APIs to the "app" (it's more like a plugin, actually). I also did a lot of research on the concept of AppDomain
(a process) and data serialization to pass data crossing the boundaries between AppDomain
s in .NET.