Publications prior to 2010

A framework for GPU-based application-independent 3D interactions

BATAGELO, H. C.; WU, S.-T.
The Visual Computer, 24(12):1003--1012, 2008.

Direct manipulation using pointing devices commonly relies on basic interaction tasks such as selection and precise cursor positioning. Traditionally, such tasks use geometric attributes computed on the basis of application-dependent intersection algorithms on the CPU. However, with the recent ability of using GPUs to perform geometry modeling tasks and even to create new primitives on-the-fly, geometric attributes computed on the CPU are often invalid. We analyze a new paradigm for correctly computing such attributes based on providing, for each pixel of the rendered models, application-defined data and elements of discrete differential geometry computed solely on the GPU. We validate this by showing how many direct manipulation tasks presented in the literature require only these data, and present an interaction framework that exploits such paradigm. Implementation results are presented.

Real-time simulation of wrinkles

REIS, C. D.; DE MARTINO, J. M.; BATAGELO, H. C.
In Proceedings of the International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision (WSCG). 109--115. 2008.

Skin wrinkles add realism and expressiveness to 3D facial animation. Modeling and animation of facial wrinkles have been challenging tasks due to the variety of conformations and details subtleness that wrinkles can exhibit. In this paper, we describe a method for real-time simulation of wrinkles taking advantage of the processing power of current GPUs. Our approach is based on a GPU shader program that uses a simple normal mapping approach to apply wrinkles according to influence areas on the face. For efficiency, all the data required for the simulation is comprised in 3D textures. We developed a reusable and extensible XNA component that implements the shader and tools for generating the necessary 3D textures. Currently, this component uses precomputed facial expressions, which are linear interpolated on the CPU. Nevertheless, it can be easily extended to other deformation approaches, such as key-frames or virtual muscles, without increasing the amount of texture data. We present a description of the developed component, applications and screenshots to illustrate the results.

Application-independent accurate mouse placements on surfaces of arbitrary geometry

BATAGELO, H. C.; WU, S.-T.
In Proceedings of the 20th Brazilian Symposium on Computer Graphics and Image Processing. 19--26. 2007.

Most direct manipulation tasks rely on precise placements of the cursor on the object of interest. Commonly, this requires the knowledge of distinct application-dependent geometry attributes of this object computed on the CPU. In this work, we present a simple yet general GPU-based framework for computing such attributes without depending on application-specific algorithms. In particular, it provides, for each pixel of the rendered model, elements of discrete differential geometry that require only the vertex data and 1-ring connectivity of each vertex stored in video memory. We validate our framework by showing how, only by providing correct mouse placements even when the geometry is modified on GPU, it can support the implementation of many direct manipulation tasks presented on the literature. Implementation results are presented.

Estimating Curvatures and Their Derivatives on Meshes of Arbitrary Topology from Sampling Directions

BATAGELO, H. C.; WU, S.-T.
The Visual Computer. 23:803--812. 2007.

Estimation of local differential geometry properties becomes an important processing step in a variety of applications, ranging from shape analysis and recognition to photorealistic image rendering. This paper presents yet another approach to compute those properties, with comparable numerical and accuracy performances to previous works. The key difference in our approach is simplicity, allowing for direct implementation on the GPU. Experimental results are provided to support our statement.

What You See Is What You Snap: Snapping to Geometry Deformed on the GPU

BATAGELO, H. C.; WU, S.-T.
In proceedings of the 2005 ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games. 81--86. 2005.

We present a simple yet effective snapping technique for constraining the motion of the cursor of an input device to the surface of 3D models whose geometry is arbitrarily deformed by a programmable hardware fragment and vertex processor. The technique works in image space and thus snaps the cursor to the geometry actually rendered instead of the geometry originally submitted to the rendering pipeline. We also present a method to establish a correspondence between snapped geometry in image space and object space, and an efficiency improvement based on the control of frequency of frame buffer accesses. Performance tests are conducted and compared against the standard picking and snapping algorithm used by the D3DX library of the Microsoft Direct3D API. We conclude by emphasizing the feasibility of our algorithm when facing the new advances of the graphics hardware for deforming geometry on the GPU.

Picking and Snapping for 3D Input Devices

WU, S.-T.; ABRANTES, M.; TOST, D.; BATAGELO, H. C.
In proceedings of the 16th Brazilian Symposium on Computer Graphics and Image Processing. 140--147. 2003.

A picking mechanism (pointing and indicating) with the cursor is essential for any direct-manipulation application. The windowing systems, under which control a direct-manipulation application runs, provide facilities that together with special utility routines allow identifying which object within the region the user is pointing at. Such picking algorithms have been widely used for selecting objects under a 2D mouse cursor. In this paper, we present a simple yet effective application-independent 3D picking algorithm for 3D input devices. We also discuss a differential geometry based surface constraint that can be applied to the 3D cursor position for improving points matching. In order to demonstrate the techniques, two sample applications using a 3D input device are shown.

Dynamic Scene Occlusion Culling Using a Regular Grid

BATAGELO, H. C.; WU, S.-T.
In proceedings of the 15th Brazilian Symposium on Computer Graphics and Image Processing. 43--50. 2002.

We present an output-sensitive occlusion culling algorithm for densely occluded dynamic scenes where both the viewpoint and objects move arbitrarily. Our method works on a regular grid that represents a volumetric discretization of the space and uses the opaque regions of the scene as virtual occluders. We introduce new techniques of efficient traversal of voxels, object discretization and occlusion computation that strengthen the benefits of regular grids in dynamic scenes. The method also exploits temporal coherence and realizes occluder fusion in object-space. For each frame, the algorithm computes a conservative set of visible objects that greatly accelerates the visualization of complex dynamic scenes. We discuss the results of a 2D and 3D case implementation.

Real-Time Shadow Generation Using BSP Trees and Stencil Buffers

BATAGELO, H. C.; COSTA JUNIOR, I.
In proceedings of the 12th Brazilian Symposium on Computer Graphics and Image Processing. 93--102. 1999.

This paper describes a real-time shadow generation algorithm for static polygonal environments illuminated by movable point light sources. The algorithm combines a technique of volumetric shadow rendering using stencil buffers with a binary space partitioning (BSP) tree, and includes new easy-to-implement approaches to improvement techniques used in shadow volume algorithms, such as silhouette detection to reduce the number of redundant shadow polygons and the computation of capping polygons to handle cases where the shadow volumes are clipped by the eye-view near clipping plane. Such a hybrid approach solves important limitations on the original shadow rendering algorithm, and also achieves real-time frame rates when using modest size scenes (about 500 shadow polygons), according to measurements performed on personal computers using current graphics hardware. Per-phase timing results from the implementation are provided along the text and compared with those of the standard algorithm.

Back to main page