This thesis report documents the terrain generation, the research on different methods and techniques possible to generate a terrain as well as the implementation of it in this project.
Fluid simulation is a well studied and important aspect of computer graphics, and with increasing hardware power they are becoming more common in interactive applications. This thesis focusses on exploring the idea of how these fluid simulations can be used in the context of player interaction, and the novel gameplay that can arise from the increasing usage of these simulated elements.
This project combines Material Point Method with J-integral to calculate crack tip parameters which are used to determine the crack propagation. This is implemented as a custom solver in Houdini and the solver is used to create a Houdini Digital Asset. The developed asset provides a user to simulate a reasonable crack propagation with some user controls.
This project creates shadow effects with Houdini Digital Assets (HDA). The aim is to generate shadow geometries on given models and eventually consume it entirely. Shadow geometries are created by the first HDA, users could select different patterns and manipulate the parameters to create a variety of looks. The second HDA generates particles that create the consuming effect on the given model and swirl decomposing effects after consumption.
A realtime procedural creature generation system built in Unity. The aim was to create a more open ended generation system than had existed previously. A base body is created using free form deformation, it is rigged and skinned automatically. Limbs are then attached to create one of three creature types swimming, flying or walking. Animations are all driven procedurally and adapt to the creature generated.
This work demonstrates the usage of voronoi fracture extrusions for creating a procedural city blocks. The user is able to control 4 stages of the creation the flora such as trees, bushes, waters like rivers), buildings (city centre, residential area, administrative buildings) and roads with pathways.
This project presents a modular rigging pipeline that enables user to create rigs using either Python API directly or via node-based interface. The system aims to be extensible, allowing rigger to add new custom rig components or extend already existing ones. In order to be tool-oriented this pipeline utilizes metadata concept and component to Python class bindings which leads to consistent functionality for any additional tools.
SDF raymarching algorithms have been typically slow for real-time use until today. And no matter how optimized and efficient they are, real-time and interactive usage of these algorithms, once the CPU-GPU communication occurs, can be quite resource-intensive and expensive, which may lead to low performance and stalling the application. This thesis describes a Vulkan-based implementation for SDF Raymarching in real-time aiming to provide a proof-of-concept, as a mean for creating efficient solutions that simplify runtime evaluation of complex data through the GPU with a low-overhead CPU to GPU abstraction.
The nature of this project was to design and implement an interactive shader editor that is equally accessible to both programmers and artists. The tool provides users with the choice between a code or node editor, to develop fragment shaders. The former requires previous GLSL experience, with users expect to code their shaders from scratch. However, the latter requires no previous programming experiences and takes advantage of a node-based editor, using a pre-implemented Ray Marching algorithm.
This project documents the procedural simulation of rotting and decay, which is a natural phenomime many have seen. It can be simulated to add realism to a scene. Several papers relating to this topic have been discussed, highlighting some of the commonly used techniques. A custom-made solver was developed in Houdini18.5 using the Pyro Sop Solver and predominantly the VEX Wrangles and VOP networks to simulate this process. This report outlines the framework to create a rotting simulation of several fruits; apple, banana and orange. This digital asset will allow the user to input their modelled fruit and set various parameters to create the desired rotting effect they wish. Further development is required to add further realism into the simulation
Based on the SIGGRAPH paper "Synthetic Silviculture - Multi-scale Modeling of Plant Ecosystems" I created a plant-growth visualiser in Unreal Engine 4 (UE4) using C++ and Blueprints. This could then be extended in the future to implement a fully interactive forest generation tool that can be used in any UE4 project.