<< Prev Next >>


The Shadow Framework

Curved Poly is built upon an Open Source Project called Shadow Framework 4.0 , which is the result of years of research in the field of surface modeling, and it allows you to render 3D geometries based on the novel Curved Polygons Net model, an extension to the traditional and standard Mesh model.

Warning/Disclaimer During the last year (from Spring 2020 to Spring 2021), the whole SF/CP project was significantly slowed down, and we choosed to give priority to the release of Curved Poly 1.3 on Unity, which has been A LOT of work. The information you will find in this page are more a plan than something real, since the whole ShadowFramework 4.0 is still a work in progress. That said, we are working on it and we still wish to release a final version of the Shadow Framework 4.0, aligned with Curved Poly, towards the end of 2021.

How does it work?

Fig. 1 The Relationship between Curved Poly and the Shadow Framework

Curved Poly is based on our Open Source Project, the Shadow Framework, which is the result of an 8 years research in the field of surface modelling, and it allows you to render 3D geometries based on the novel Curved Polygons Net model, an extension to the traditional and standard Mesh model.

Curved Poly was made to allow you create wonderful model which can be rendered with the Shadow Framework. Since the framework as been designed to target many platforms, any model generated with Curved Poly can then be exported and rendered on a nice amount of different platforms.

Curved Polygons Nets Basic Concepts

Here is a brief introduction to my approach to modeling. If you wish to have a complete walkthrough about the software structures and mathematical models behind Curved Poly, you should move to our Shadow Framework Documentation

The idea to use curved models to shape geometries is definitely not new. If you come from industrial design, you probably know about NURBS or similar solutions. If you instead come from the cinema industry, you probably have some good experience of modeling with Subdivision Surfaces. These solutions are usually good to shape objects, but they may lack the requirements to be used in real time applications. This is the reason why we all still use (mainly) polygons in games.

In the last twenty years there has been a lot of work around the idea that a polygonal mesh can be improved at execution time with some tessellation process, in order to make it more smooth. Many of these techniques are based on GPU hardware tessellation. Unity itself has its own integrated solutions.

With Curved Poly, I am trying to face the problem from an alternative perspective. Instead of looking for a way to improve a polygonal mesh with curves, I have looked for a way to integrate curves inside the polygonal model itself. A Curved Poly is indeed an extension of a Polygonal Mesh. Common Polygonal Meshes are defined by a set of vertices connected by lines; when a set of lines form a closed loop (usually of 3 or 4 lines), they become a polygon (usually triangles or quads). With Curved Poly I replaced the linear edges between polygons with curved ones. Such curves are weighted Beziér Curves, one of the most standard solutions for curves modeling.

Fig. 1 A Curved Polygons Net (or Curved Poly for simplicity) replace linear edges between polygons with Curved ones.

As in the linear case, a closed loop of edges will generate a polygon which in this case will be curved. I developed a complex interpolation schema which generates a curved surface following the edges contour smoothly, with an evaluation time which can even make sense for real time applications.

Such interpolation schema follows two main steps:

  • Tessellation of the Edges: each curved edge is converted into a polyline, with more or less lines according to custom parameters which can be assigned at execution time.
  • Reconstruction of the Curved Polygons: each polygon is built independently based on the shape and on the level of detail of its surrounding edges. Increasing the resolution of one of the edges will automatically increase the resolution of its attached polygons.

With Curved Polygons Nets you get:

  • A smooth and flexible modeling system which exploit weighted beziér curves on 3D models to improve your modeling experiences.
  • Smart geometry files which will lower your memory usage using curves to represent complexity in order to avoid the redundancy coming from storing pre-tessellated objects.
  • A highly flexible and customizable LoDs system, where you store only one version of your models and you can generate an high number of representation with different Levels of Detail at execution time.

Curved Poly is a modeling tool. Models made with Curved Poly can be visualized with my Open Source software, the Shadow Framework; you don't need to know everything about Curved Polygons Nets to use Curved Poly, and you don't need to install the Shadow Framework since it's already part of Curved Poly - Shape Editor. That said, if you wish to know more, you will find a much more detailed explanation of what a Curved Polygons Net is and how it works on the Shadow Framework site.




<< Prev Next >>