Triangulation is the process of decomposing a simple polygon into a set of triangles. Recently, a customer uncovered a bug with our triangulation algorithm. The customer defined the boundary of a polygon that would be rendered on the earth. Our code failed to triangulate the polygon due to a precision issue. Additionally, the customer was creating multiple polygons to work around the fact that our code does not allow for holes inside a polygon.
We knew that we were going to rework our triangulation code for Point Break and a customer had an immediate need, so we bumped up the work's priority. While our current code generally works, it has significant speed and precision issues. So, we decided to start anew.
More...
Picking makes 3D applications interactive. It allows users to select and interact with objects in the 3D scene. In applications built with Point Break, common uses of picking include double clicking on an object to zoom to it and right clicking on an object to bring up a context menu with operations that act on the object.
In this blog, I will describe the algorithm Point Break uses to implement picking. The depth buffer, in combination with multipass rendering, is used to identify picked objects. The algorithm works in many cases when others do not, is almost trivial to implement, and provides good performance for scenes with moderate object depth complexity given its use of culling and scissoring.
More...