Projects Overview

Hi, there. Welcome to my website. My name is Jun Zhang, I am currently a graduate student studying Computer Graphics at Purdue University. For the past few years, I have been working hard towards 3D modeling, texturing, scripting(Python) and graphics rendering. I am also familiar with C++ programing and OpenGL related techniques. Now, I am learning more advanced programming skills related to OpenGL/Vulkan, and  preparing myself for a graphics programmer or technical artist in the future.

Here is brief overview videos about the most recent projects I have done…


A research project aims at creating effective training simulator to help students from structural biology background learn how to use Cryo-EM technology. This is developed using Unreal Engine 4.

  • Manage and maintain all the project progress. Status reports, change logs and technical articles are well documented.
  • Design the systematic structure of the training simulator. Currently, the demo consists of three different levels: one tutorial level aims at providing detailed guidance for novice users; one free trial level provides the trainees with the opportunity to practice without any suggestions; one test level provides detailed feedback about the trainees’ performance.
  • Design the whole training procedure in Unreal Engine 4. Convert the actual requirement to the visual or coding implementation, for example, when trainees need to pick up something in our virtual environment, we specifically design different hand gestures for grabbing different objects in order to provide the natural visual feedback about the grabbing behavior.
  • Refine all the 3D models and textures in order to better replicated the physical CP3 device using Maya.
  • Optimize the shaders, lighting and rendering effects in Unreal Engine 4 in order to create beautiful and vivid graphics.

Planetary Landscape Generation

An individual project aims at creating a procedural generated planet. This demo is implemented with C++/OpenGL/GLSL.

Implemented the adaptive level of detail to base planet geometry. The adaptive level of detail algorithm consists two important components: one is the high-level geometry division, which is driven by subdividing or merging triangles based on the distance between planet and camera. This process is implemented with recursively in our virtual environment function call; the low-level is implemented with openGL tessellation feature, which can divide the base planet sphere into extremely small sub-triangles in order to provide the high resolution of the terrain.


Underwater Rendering

Oct. 2017 – Dec. 2017

Introduction: “Underwater rendering” is a technical demo which depicted a vivid beautiful shallow sea scenery. I want to apply lighting and shader techniques I have already learnt, and combine these with my previous art background to simulate a vivid underwater world.

I wrote my codes using C++ and applied several OpenGL features: multisampling, texture mapping, tangent space normal mapping, lighting and depth map shadows. I also created several different shaders (GLSL) to distinguish different objects in this scene. I animated all the fish in the shader program and generated an interesing particle container to control behaviors of the fish.

More details:

Code can be found:

Naboo Training Base

Oct. 2017 – Dec. 2017

Introduction: “Naboo Training Base” is a virtual reality game which aims at creating a fast paced first-person action game (Unreal Engine 4). In this group project, I was responsible for setting up all the game-play features and designing our own AI system by utilizing the powerful blueprint and the behavior tree system of unreal engine.

More details, please see this link:

Here is a brief overview video about the projects I have done before…

If you want to learn more about what I have done before, please visit:

Some indivisual artworks can be seen:

1 thought on “Projects Overview”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s