Displaying curves, surfaces, and solid objects in unity 3D systems - Tan, Merzen Hong Fan (Nanyang Technological University, 2024)
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.