• Aucun résultat trouvé

Prism Parallax Occlusion Mapping with Accurate Silhouette Generation

N/A
N/A
Protected

Academic year: 2021

Partager "Prism Parallax Occlusion Mapping with Accurate Silhouette Generation"

Copied!
2
0
0

Texte intégral

(1)

HAL Id: inria-00606806

https://hal.inria.fr/inria-00606806

Submitted on 18 Jul 2011

HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Prism Parallax Occlusion Mapping with Accurate Silhouette Generation

Carsten Dachsbacher, Natalya Tatarchuk

To cite this version:

Carsten Dachsbacher, Natalya Tatarchuk. Prism Parallax Occlusion Mapping with Accurate Silhou-

ette Generation. 2007. �inria-00606806�

(2)

Prism Parallax Occlusion Mapping with Accurate Silhouette Generation

Carsten Dachsbacher / REVES/INRIA Sophia-Antipolis Natalya Tatarchuk / 3D Application Research Group/AMD

Per-pixel displacement mapping algorithms such as [Policarpo et al. 2005; Tatarchuk 2006] became very popular recently as they can take advantage of the parallel nature of programmable GPU pipelines and render detailed surfaces at highly interactive rates.

These approaches exhibit pleasing visual quality and render motion parallax effects, however, most of them suffer from lack of correct silhouettes. We perform ray-surface intersection in a volume given by prisms extruded from the input mesh triangles in the direction of the normal. The displaced surface is embedded in the volume of these prisms, bounded by a top and a bottom triangle and three bilinear patches (slabs). [Hirche et al. 2004] propose to triangu- late the slabs and split the prisms into three tetrahedra. A consis- tent triangulation of adjacent prisms ensures that no gaps between tetrahedra exist and no tetrahedra overlap. Ray marching through tetrahedra is then straightforward as texture gradients (for marching along the ray) can be computed per tetrahedron.

1 Prism Parallax Occlusion Mapping

In contrast to previous work, we propose to directly operate on the prisms: The key observation on which we base our method is that we achieve visually pleasing results if we compute correct texture coordinates on the prism surface and rely on a constant texture gra- dient thereof for each intersecting view ray. To this end, we com- pute intersections of view rays and prisms and the corresponding texture coordinates in pixel shaders directly. Slabs are rasterized as two triangles; the split diagonal has to be chosen such that the re- sulting triangular surface is pointing outwards and true intersections are computed per-pixel [Ramsey et al. 2004]. To avoid superfluous intersection tests, we use early rejection tests during geometry pro- cessing.

2 Shadows and Ambient Occlusion

We use a fast approximation to the horizon angle on height fields to compute ambient occlusion and shadows for local surface fea- tures at render time: Close elevations have greater impact on the horizon angle, whereas small scale detail at greater distance can be neglected. For the height map, we generate mip-map levels, but in- stead of averaging pixels when going to the next level, we store their maximum value. For our estimation we then usekheight samples along the view direction, with a distance of 2k,k≥0 texels to the point in question to estimate the horizon slope. To omit the small scale detail, we use the mip-map levelkrespectively.

We also compute per-pixel ambient occlusion by estimating the the horizon approximation for several directions (4 to 8 in our tests) splitting the hemisphere above the query point into equal sized sec- tors; per-pixel rotated directions conceal regular structures.

e-mail: Carsten.Dachsbacher@sophia.inria.fr

e-mail:natalya.tatarchuk@amd.com

Figure 1: Left: to approximate the horizon we sample distant eleva- tion features at coarser resolution. Right (top to bottom): ambient occlusion (4 directions), hard and soft shadows and final rendering with our horizon approximation.

3 Results and Discussion

We implemented our ray-casting method for DirectXr9 class hard- ware by preprocessing the input meshes to extrude the triangles, and then rendering them on the GPU achieving frame rates of 79 fps for a 500 triangle sphere model (top figure) and 59 fps for a 7K triangle cylinder model on a ATIrRadeonrX1950 graphics card.

Our shadow by horizon approximation technique runs at compara- ble speed as the POM shadowing technique. Computing per-pixel ambient occlusion causes a 35% drop in performance for 4 static directions, 60% for 8 randomized directions.

References

HIRCHE, J., EHLERT, A., GUTHE, S.,ANDDOGGETT, M. 2004. Hardware ac- celerated per-pixel displacement mapping. InGI ’04: Proceedings of the 2004 conference on Graphics interface.

POLICARPO, F., OLIVEIRA, M. M.,ANDCOMBA, J. L. D. 2005. Real-time relief mapping on arbitrary polygonal surfaces. InSymposium on Interactive 3D Graph- ics and Games 2005, ACM Press, 155–162.

RAMSEY, S. D., POTTER, K.,ANDHANSEN, C. 2004. Ray bilinear patch intersec- tions.Journal of Graphics Tools 9, 3, 41–47.

TATARCHUK, N. 2006. Dynamic parallax occlusion mapping with approximate soft shadows. InSymposium on Interactive 3D Graphics and Games 2006, ACM Press, 63–69.

Références

Documents relatifs

At test time, the approach can thus generate a left-side and a right-side view from one input image, as well as a depth map and a pixelwise confidence measure in the prediction..

Number of SCF iterations required to achieve convergence and Frobenius norm error on the density guess as a function of the interpolation order for the 1D parameter space (left

• the algorithm is almost independent of scene complex- ity, does not require information about the scene and in- tegrates well with various rendering paradigms (vertex shaders,

Accounting for surface normal of receiver In order to compute the percentage of ambient occlusion caused by the moving occluder, we clip the cone of occluded.. α

At each step, we have two occlusion cones: one for the current occluder, A, and one cone representing the combined occlusion for all previously treated occluders, B, each of

Shadow maps have been used in [27] to calculate, in a preprocess, a special deep shadow map for a static light source, encoding occlusion for each point of a static scene..

Figure 16 shows, for the robot scene, the evolution of rendering time depending on the activated features: rendering the scene with only standard Gouraud shading, with simple

Dans toute fonction buccale, la langue s'interpose toujours entre les deux arcades dentaires antagonistes et il n'y a jamais occlusion réflexe des dents mandibulaires sur les