Displaying curves, surfaces, and solid objects in unity 3D systems

ShapeExplorer is a unity-based application designed for rendering shapes using parametric and implicit functions. This report identifies four key areas for improvement within the application. Firstly, the current implementation lacks support for smooth shading based on crease angle thresholds, as Un...

Full description

Saved in:
Bibliographic Details
Main Author: Tan, Merzen Hong Fan
Other Authors: Alexei Sourin
Format: Final Year Project
Language:English
Published: Nanyang Technological University 2024
Subjects:
Online Access:https://hdl.handle.net/10356/175129
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary:ShapeExplorer is a unity-based application designed for rendering shapes using parametric and implicit functions. This report identifies four key areas for improvement within the application. Firstly, the current implementation lacks support for smooth shading based on crease angle thresholds, as Unity does not provide native functionality for this feature. Consequently, the edges of rendered shapes exhibit undesired sharpness or smoothness where it is not intended. Furthermore, the proprietary nature of existing algorithms for achieving smooth shading exacerbates this limitation, hindering the accessibility of solutions. Secondly, the application’s handling of degenerate normals is inadequate, resulting in the occasional occurrence of black spots on rendered shapes. Thirdly, artifacts are observed when transparency is enabled as shapes are rendered as multiple objects. Lastly, the proposed solutions must effectively balance accuracy and speed to ensure optimal performance. To tackle the first issue, an efficient smooth shading algorithm within ShapeExplorer is proposed. For the second issue, a check condition to replace degenerate normals will be utilized. To address the third issue, rendering the shape as a single mesh is proposed. Finally, to ensure the effectiveness of the solution in terms of accuracy and speed, the runtime performance and output quality will be benchmarked against a function-based extension of Virtual Reality Modelling Language (FVRML), another application serving the same purpose. The proposed algorithm demonstrates comparable runtime performance to FVRML while simultaneously enhancing visual appearance through artifact reduction and threshold-based smoothing.