6 research outputs found
Fast and Accurate Visibility Preprocessing
Visibility culling is a means of accelerating the graphical rendering of geometric models. Invisible objects are efficiently culled to prevent their submission to the standard graphics pipeline. It is advantageous to preprocess scenes in order to determine invisible objects from all possible camera views. This information is typically saved to disk and may then be reused until the model geometry changes. Such preprocessing algorithms are therefore used for scenes that are primarily static.
Currently, the standard approach to visibility preprocessing algorithms is to use a form of approximate solution, known as conservative culling. Such algorithms over-estimate the set of visible polygons. This compromise has been considered necessary in order to perform visibility preprocessing quickly. These algorithms attempt to satisfy the goals of both rapid preprocessing and rapid run-time rendering.
We observe, however, that there is a need for algorithms with superior performance in preprocessing, as well as for algorithms that are more accurate. For most applications these features are not required simultaneously. In this thesis we present two novel visibility preprocessing algorithms, each of which is strongly biased toward one of these requirements.
The first algorithm has the advantage of performance. It executes quickly by exploiting graphics hardware. The algorithm also has the features of output sensitivity (to what is visible), and a logarithmic dependency in the size of the camera space partition. These advantages come at the cost of image error. We present a heuristic guided adaptive sampling methodology that minimises this error. We further show how this algorithm may be parallelised and also present a natural extension of the algorithm to five dimensions for accelerating generalised ray shooting.
The second algorithm has the advantage of accuracy. No over-estimation is performed, nor are any sacrifices made in terms of image quality. The cost is primarily that of time. Despite the relatively long computation, the algorithm is still tractable and on average scales slightly superlinearly with the input size. This algorithm also has the advantage of output sensitivity. This is the first known tractable exact solution to the general 3D from-region visibility problem.
In order to solve the exact from-region visibility problem, we had to first solve a more general form of the standard stabbing problem. An efficient solution to this problem is presented independently
Hardware Accelerated Visibility Preprocessing using Adaptive Sampling
We present a novel aggressive visibility preprocessing technique for general 3D scenes. Our technique exploits commodity graphics hardware and is faster than most conservative solutions, while simultaneously not overestimating the set of visible polygons. The cost of this benefit is that of potential image error.
In order to reduce image error, we have developed an effective error minimization heuristic. We present results showing the application of our technique to highly complex scenes, consisting of many small polygons. We give performance results, an in depth error analysis using various metrics, and an empirical analysis showing a high degree of scalability. We show that our technique can rapidly compute from-region visibility (1hr 19min for a 5 million polygon forest), with minimal error (0.3% of image). On average 91.3% of the scene is culled
A Low Dimensional Framework for Exact Polygon-to-Polygon Occlusion Queries
Despite the importance of from-region visibility computation in computer graphics, efficient analytic methods are still lacking in the general 3D case. Recently, different algorithms have appeared that maintain occlusion as a complex of polytopes in Plücker space. However, they suffer from high implementation complexity, as well as high computational and memory costs, limiting their usefulness in practice. In this paper, we present a new algorithm that simplifies implementation and computation by operating only on the skeletons of the polyhedra instead of the multi-dimensional face lattice usually used for exact occlusion queries in 3D. This algorithm is sensitive to complexity of the silhouette of each occluding object, rather than the entire polygonal mesh of each object. An intelligent feedback mechanism is presented that greatly enhances early termination by searching for apertures between query polygons. We demonstrate that our technique is several times faster than the state of the art
Exact From-region Visibility Culling
To pre-process a scene for the purpose of visibility culling during walkthroughs it is necessary to solve visibility from all the elements of a finite partition of viewpoint space. Many conservative and approximate solutions have been developed that solve for visibility rapidly. The idealised exact solution for general 3D scenes has often been regarded as computationally intractable. Our exact algorithm for finding the visible polygons in a scene from a region is a computationally tractable pre-process that can handle scenes of the order of millions of polygons.
The essence of our idea is to represent 3-D polygons and the stabbing lines connecting them in a 5-D Euclidean space derived from Plücker space and then to perform geometric subtractions of occluded lines from the set of potential stabbing lines.We have built a query architecture around this query algorithm that allows for its practical application to large scenes.
We have tested the algorithm on two different types of scene: despite a large constant computational overhead, it is highly scalable, with a time dependency close to linear in the output produced
Hierarchical Level of Detail Optimisation for Constant Framerate Rendering of Radiosity Scenes
The predictive hierarchical level of detail optimization algorithm of Mason and Blake is experimentally evaluated in the form of a practical application to hierarchical radiosity. In a novel approach the recursively subdivided patch hierarchy generated by a perceptually refined hierarchical radiosity algorithm is treated as a hierarchical level of detail scene description. In this way we use the Mason-Blake algorithm to successfully maintain constant frame rates during the interactive rendering of the radiosity-generated scene. We establish that the algorithm is capable of maintaining uniform frame rendering times, but that the execution time of the optimization algorithm itself is significant and is strongly dependent on frame-to-frame coherence and the granularity of the level of detail description. To compensate we develop techniques which effectively reduce and limit the algorithm execution time: We restrict the execution times of the algorithm to guard against pathological situations and propose simplification transforms that increase the granularity of the scene description, at minimal cost to visual quality. We demonstrate that using these techniques the algorithm is capable of maintaining interactive frame rates for scenes of arbitrary complexity. Furthermore we provide guidelines for the appropriate use of predictive level of detail optimization algorithms derived from our practical experience
Accelerating Ray Shooting Through Aggressive 5D Visibility Pre-processing
We present a new approach to accelerating general ray shooting. Our technique uses a five-dimensional ray space partition and is based on the classic ray-classication algorithm. Where the original algorithmevaluates intersection candidates at run-time, our solution evaluates them as a preprocess.
The offline nature of our solution allows for an adaptive subdivision of ray space. The advantage being, that it allows for the placement of a user set upper bound on the number of primitives intersected.
The candidate sets produced account for occlusion, thereby reducing memory requirements and accelerating the ray shooting process. A novel algorithm which exploits graphics hardware is used to evaluate the candidate sets. It is the treatment of occlusion that allows for the practical precomputation of the ray space partition. This algorithm is called aggressive since it is optimal (no invisible primitives are included), but may result in false exclusion of visible primitives. Error is minimised through the adaptive sampling