BLENDING FUNCTIONALLY DEFINED SURFACES
Authors: Romanyuk Olexandr N. , Vyatkin Sergey I. , Antoshchuk Svitlana G. , Mykhaylov Pavlo I. , Chekhmestruk Roman Y. 
Published: March 2020

Smooth surfaces with perturbation functions for the creation of complex shapes are considered. The method for describing objects in three-dimensional scenes with a base surface and perturbation functions that have a compact description is proposed. One of the positive properties of functionally defined objects in comparison with other methods of specifying models is the simplicity and efficiency of their geometric transformations, in particular, three-dimensional morphing and collision detection of objects. The most common model for visualizing three – dimensional images is the polygonal approximation. Along with many advantages, this model has its drawbacks. By modeling real objects, an approximate polygonal model is constructed. To increase the image quality, itis often necessary to increase the number of polygons. An increasein the number of polygons results in an increase in rendering time and memory usage. Changing the scale of an object introduces additional problems because you cannot change quickly and efficiently the number of polygons for the object model. You can get rid of such shortcomings by applying analytical volume assignment and rasterization using ray-tracing algorithms. Analytical volume assignment does not require a large amount of memory. The problem of synthesis of realistic images is relevant for various simulators, virtual studios and three-dimensional games. Now, there are already works on visualization of functionally defined surfaces, but their application is limited to a rather narrow class of surfaces and slow visualization. The algorithms used are difficult to optimize, which also imposes restrictions on practical application. The paper proposes to use a special class of volumes, which are called "free forms". Each free form represents abase surface and a perturbation on that surface. The base surface and perturbation are given by polynomials of the second degree-quadrics. To achieve smoothness, the perturbation function is raised to the third degree. The aim of the work is to create an application that, according to a given analytical task, calculates the frame depth and surface normal in each pixel with the help of perturbation quadrics. This application should use the computing resources of the graphics processing units as much as possible. There have been attempts to create algorithms to visualize volumes given analytically, but most of them used only the CPU for calculations, and the processing time was too long for practical application. Moreover, these algorithms were not designed for parallel processing.In contrast, the proposed algorithm uses a graphics-processing unit for most of the calculations. In this case, the calculations on the graphics accelerator occur in parallel, and the method effectively uses this feature. Due to parallel processing and the absence of the need to transfer a large amount of data from the shared memory to the memory of the graphics accelerator, the speed of visualization increases compared to the option that uses only the CPU. The clock speed of processors in graphics accelerators is less than the CPU frequency. However, for a certain class of tasks performance using graphics accelerators will be better, due to the large number of processors.