C# Null Extensions

When working in C#, it is not uncommon to encounter nested object properties (e.g. Student.Grades.Total). Each chained object should be checked for null in order to avoid accessing null elements, throwing a NullReferenceException. This article aims to fix that. In C# 6, the Null-Conditional Operator was introduced, which solves the null-checking in chained objects. Unfortunately, this feature […]

Read More

Converting QT UI Files to Maya Python

Plugins are one of Maya’s strongest points. As plugins become increasingly complex, they usually call for some form of user interface. However, Maya’s native methods of building user interfaces is quite rudimentary and awkward to use at best. What many people are not aware of is that Maya itself is built using QT, and actually […]

Read More

Exporting Bézier Curves From Maya

In Maya, there are many degrees of curves available. Bézier curves are one of the more favored within Maya due to their intuitive usability and flexibility in comparison to other existing curve types. Bézier curves prove to be a useful asset in any toolbox, as is evident by its extensive use in video games, among […]

Read More

Undergraduate Works

Below is a collection of some works I have created during my Bachelors degree. They were made around 2011-2013. Real-Time Translucency As a final-year graphics module at university, I had to work on exploring real-time translucency. The technique I ended up using is based upon Translucent Shadow Maps (TSM). I did, however, cite multiple papers, combining […]

Read More

Maya Viewport 2.0 Renderer Override

This project was a voyage into replacing Maya’s Viewport 2.0 renderer with a custom-built external rendering system. This sort of setup is ideal for games development, as artists can see and edit final-quality art assets directly within the viewport without having to repeatedly export their scene. Technical limitations of the built-in viewport, such as the […]

Read More

Multi-Resolution Cloth Simulation

This project was developed for my BSc Computer Games Programming final project. My aim was to develop something novel in the area of cloth simulation, and I would like to say that I had succeeded. The principle behind the project was to defer complex calculations used in cloth simulation to lower detailed copies of the […]

Read More