青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

麒麟子

~~

導航

<2013年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

統計

常用鏈接

留言簿(12)

隨筆分類

隨筆檔案

Friends

WebSites

積分與排名

最新隨筆

最新評論

閱讀排行榜

評論排行榜

10 Fun Things to do with Tessellation

原文地址:http://castano.ludicon.com/blog/2009/01/10/10-fun-things-to-do-with-tessellation/

Hardware tessellation is probably the most notable feature of Direct3D11.

Direct3D11 was announced at the last Gamefest and a technical preview was released in theNovember 2008 DirectX SDK. Hardware implementations are expected to be available this year.

Direct3D11 Pipeline

Direct3D11 extends the Direct3D10 pipeline with three new stages: Two programmable shader stages (the Hull and Domain Shaders), and a fixed function stage (the Tessellator). More details can be foundhere and here.

Rendering of Catmull-Clark subdivision surfaces is often mentioned as the primary application for the tessellation pipeline, but there are many other interesting uses that have not received that much attention.

I thought it would be interesting to take a closer look at those other applications, and submitted a proposal to do that at GDC’09. However, it seems that the organizers do not think tessellation is as interesting as I do, or they didn’t like my proposal, or maybe it’s just that they know I’m a lousy speaker. I will never know, because the gracious feedback of the GDC review committee can be represented by a single boolean.

In any case, here’s a brief overview of the 10 fun things that I was planning to talk about. I don’t get very deep into the technical details, but in future posts I may describe some of these applications more thoroughly. Please, leave your comments if there’s something you would like to learn more about.

PN-TRIANGLES

Curved PN Triangles is a triangle interpolation scheme that operates directly on triangle meshes whose vertices are composed of positions and normals (PN stands for Point-Normal).

PN Triangles

It’s an interesting way of improving visual quality that offers a simple migration path, since assets do not need to be heavily modified.

The PN Triangle evaluation consists of two steps: First, for every triangle of the input mesh a triangular cubic patch is derived solely from the vertex positions and normals; no adjacency information is required. Then, the resulting patch is subdivided or tessellated for rendering.p>

The resulting surface is smoother than the polygonal surface, but does not have tangent continuity in general, and that results in shading discontinuities. To hide these discontinuities normals are interpolated independently using either linear or quadratic interpolation. These normals are not the true surface normals, but they provide a smooth appearance to the surface.

This two-step evaluation maps very well to the Direct3D11 tessellation pipeline. The evaluation of the control points can be performed in the Hull Shader, the fixed function tessellator can produce a tessellation pattern in the triangle domain, and the actual surface can be evaluated for each of the tessellated vertices in the Domain Shader.

Scalar Tagged PN-Triangles

In order to support sharp edges a rim of small triangles is added along the edges. That increases the number of patches, and it’s not entirely clear how to properly texture map them.Scalar Tagged PN-Triangles solves that problem in a more elegant way by tagging each crease vertex with three scalar that act as shape controllers and modify the construction of the surface control points. However, this representation does not support crease corners.

SILHOUETTE REFINEMENT

When tessellation is enabled the only supported primitive type is the patch primitive. In Direct3D11 a patch is an abstract primitive with an arbitrary number of vertices. You can use patches to represent traditional primitives (ie. a triangle is just a patch with 3 vertices), but this also enables you to represent other input primitives with arbitrary topology and additional connectivity information.

Silhouette Refinement

An interesting extension of of PN-Triangle tessellation is to augment the input triangles with the neighbor vertices in order to perform silhouetterefinement.

With this additional information it’s possible to compute tessellation factors in he Hull Shader based on whether an edge is on the silhouette or the interior of the mesh. Then the fixed function tessellator uses these edge tessellation factors to produce a semi-regular tessellation pattern and the Domain Shader transforms it to interpolate the surface.

PHONG TESSELLATION

Phong Tessellation

Phong Tessellation is a geometric version of Phong interpolation, but applied to vertex positions instead of normals.

First, points are interpolated linearly over each triangle using its barycentric coordinates, then the points are projected onto the planes defined by the corner position and normal, and finally the result of the three projections is interpolated again.

This procedure produces a smooth surface comparable to PN Triangles, but its evaluation is much cheaper, since no additional control points need to be computed.

BEZIER SURFACES

Curved surfaces are not only useful for characters, but also for level geometry and objects.

Quake 3 Arena

id Software introduced the use of quadratic Bezier patches for architectural geometry in Quake 3 Arena and has been using them ever since.

Climax Brighton’s Moto GP used cubic Bezier patches to model the motorcycles.

Bezier patches can be evaluated very efficiently, because they don’t need any information about the surrounding mesh. As these games show, tessellation hardware is not required to render these surfaces. However, hardware tessellation will allow doing it much more efficiently, and will facilitate the use of these and more complex surfaces.

APPROXIMATION TO SUBDIVISION SURFACES

Rendering of approximated Catmull-Clark subdivision surfaces is probably the most anticipated application of hardware accelerated tessellation. Several approximation methods exist.

Approximation to Catmull Clark Subdivision Surface

Approximating Catmull-Clark Subdivision Surfaces with Bicubic Patches is the most popular one. This approximation constructs a geometry patch and a pair of tangent patches for each quadrilateral face of the control mesh. The geometry patch approximates the shape and silhouette, but does not provide tangent continuity. A smooth normal field is constructed using two additional tangent patches. The approximation supports boundaries and has also been extended to support creases in Real-Time Creased Approximate Subdivision Surfaces.

GPU Smoothing of Quad Meshes proposes an alternative approximation using piecewise quartic triangular patches that have tangent continuity and do not require additional tangent patches to provide a smooth appearance. In Fast Parallel Construction of Smooth Surfaces from Meshes with Tri/Quad/Pent Facets the same approach is extended to approximate triangular and pentagonal faces.

(c) Kenneth Scott, id Software

Kenneth Scott, id Software

Gregory patches are a more compact representation that also provides a very similar approximation, but only support quad and triangle control faces.

The availability of sculpting tools like ZBrush and Mudbox makes it possible to create highly detailed meshes. Displaced subdivision surfaces provide a compact and efficient representation for these meshes.

RENDERING GEOMETRY IMAGES

Another approach to render highly detailed surfaces is to use geometry images. While geometry images can be rendered very efficiently, their video memory requirements are generally higher than displacement maps due to the lack of high precision texture compression formats. Traditional animation algorithms are not possible with this representation, and view dependent tessellation level evaluation is complicated, because geometry information is not directly available at the Hull Shader stage. However, geometry images may be the fastest approach to render small static objects at fixed tessellation levels.

TERRAIN RENDERING

Terrain rendering is one of the most obvious applications for tessellation. The flexibility of the tessellation pipeline enables the use of sophisticated algorithms to evaluate the level of refinement of the terrain patches, and frees you from having to worry about many of the implementation details.

Saga of Ryzom

It’s also possible to extend traditional terrain engines with arbitrary topologies. Some MMORPGs are already doing that to create more rich environments.

For example Saga of Ryzom, a game that is based on the Nevrax engine, uses cubic patches to model the terrain, which enables them to create impressive cliffs and overhangs.

Saga of Ryzom

Tessellation should make it possible to combine regular heightfields, with caves, cliffs, arches, and other interesting rock formations.

I think that ZBrush or Mudbox would be excellent tools to create natural looking rugged terrain.

HAIR RENDERING

Efficient hair rendering is one of the most interesting applications of the Direct3D11 tessellation pipeline. In addition to triangular and quad patches the fixed function tessellator can also generate lines, which are very useful for applications like hair and fur rendering.

Nalu

The algorithm described in Hair Animation and Rendering in the Nalu Demo maps very well to the tessellation pipeline.

As shown in Real-Time Rendering of Realistic Hair, the use of the hardware tessellation pipeline makes it very easy to simulate and render realistic hair with high geometric complexity in real-time.

That’s possible, because the simulation is performed only on a few hundred guide hairs, that are expanded by the tessellator into thousands of hair strands.

RENDERING PANORAMAS

Another application for tessellation is to perform arbitrary non linear projections, that is useful, for example, to create real-time panoramas.

Since graphics hardware relies on homogeneous linear interpolation for rasterization, arbitrary projections and deformations at the vertex level result in errors unless the surface is sufficiently refined.

PanQuake

The traditional image based approach is to render the scene to a cube map and then perform an arbitrary projection of the cubemap to screenspace relying on texture hardware to do the sampling and interpolation. This was the approach taken in Fisheye Quake and Pan quake.

While that works well, it requires rendering the scene to the 6 cube faces, and sometimes results in oversampling or undersampling of some areas of the scene.

panorama

Dynamic Mesh Refinement on GPU using Geometry Shaders proposes the use of the geometry shader to dynamically refine the surfaces to prevent linear interpolation artifacts. However, the Geometry Shader operates sequentially and is not well suited for this task. On the other side, the dynamic mesh refinement algorithm maps well to the Direct3D11 tessellation pipeline.

RENDERING OF 2D CURVED SHAPES

While GPUs can render simple polygons, they are not able to automatically handle complex concave and curved polygons with overlaps and self intersections, without prior triangulation and tessellation.

SVG Tiger

The Direct3D11 tessellation pipeline is not designed to perform triangulation. However, there’s a well known method to render arbitrary polygons using the stencil buffer that can be used in this case. This method was first described in theOpenGL Red Book, but was recently popularized by its implementation in the Qt graphic library.

It’s possible to combine this technique with hardware tessellation to render curved tessellated shapes without the need of expensive CPU tessellation and triangulation algorithms.

posted on 2013-04-01 00:18 麒麟子 閱讀(398) 評論(0)  編輯 收藏 引用

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲福利视频在线| 久久国产精品一区二区三区| 亚洲香蕉成视频在线观看| 在线成人h网| 亚洲高清视频在线| 亚洲国产日韩一区| 日韩视频不卡| 亚洲午夜av| 欧美一进一出视频| 久热精品视频在线观看| 亚洲高清久久网| 最新高清无码专区| 亚洲系列中文字幕| 久久久久九九视频| 欧美日韩国产在线看| 国产精品系列在线| 亚洲高清二区| 亚洲欧美制服另类日韩| 久久久www免费人成黑人精品 | 欧美制服第一页| 亚洲片在线观看| 一区二区三区|亚洲午夜| 亚洲欧美美女| 欧美激情一区| 一区在线播放视频| 在线亚洲免费| 欧美暴力喷水在线| 亚洲在线视频网站| 欧美精品黄色| 亚洲高清在线精品| 久久超碰97人人做人人爱| 亚洲国产精品激情在线观看| 性久久久久久久久| 欧美日韩国产大片| 亚洲福利视频网站| 久久精品亚洲一区二区| 制服诱惑一区二区| 欧美www在线| 亚洲电影免费| 狂野欧美激情性xxxx| 午夜精品久久| 国产精品久久午夜夜伦鲁鲁| 一区二区三区导航| 亚洲黄一区二区| 另类图片国产| 在线看无码的免费网站| 欧美一区二区三区日韩视频| 99re6热在线精品视频播放速度| 久久亚洲国产精品日日av夜夜| 国产伦精品一区二区三区视频黑人| 9色精品在线| 亚洲国产精品激情在线观看| 久热综合在线亚洲精品| 一区在线观看| 欧美国产亚洲精品久久久8v| 久久一区二区视频| 在线观看久久av| 欧美xxxx在线观看| 蜜桃久久av| 亚洲精品一区二区三区四区高清 | 欧美在线视频一区| 国产区二精品视| 久久精品91久久久久久再现| 欧美一区2区三区4区公司二百| 国产精品日本一区二区| 性久久久久久久久| 欧美一区二区在线免费播放| 国语自产精品视频在线看抢先版结局| 久久嫩草精品久久久久| 麻豆91精品91久久久的内涵| 亚洲国产高清自拍| 亚洲国产成人91精品| 欧美激情片在线观看| 在线视频中文亚洲| 亚洲欧美春色| 亚洲福利视频在线| 亚洲综合不卡| 欧美一区二区三区啪啪| 久久狠狠一本精品综合网| 狠狠色综合一区二区| 欧美激情一区在线| 欧美午夜三级| 久久综合久久综合久久| 欧美精品一区二区三| 欧美一区1区三区3区公司| 久久天堂精品| 亚洲女人天堂成人av在线| 欧美在线一区二区三区| 亚洲精品欧美激情| 欧美一区二区日韩| 亚洲精品午夜| 久久成人国产| 亚洲午夜视频| 麻豆成人在线观看| 午夜欧美精品| 欧美成人一区二区三区| 午夜精品视频| 免费在线观看精品| 欧美一区综合| 欧美人交a欧美精品| 久久精品二区三区| 欧美日韩精品欧美日韩精品| 久久亚洲电影| 国产精品一区亚洲| 亚洲美女少妇无套啪啪呻吟| 伊人成综合网伊人222| 一区二区欧美亚洲| 91久久精品国产| 久久精品日产第一区二区三区| 亚洲综合日韩在线| 欧美精品自拍| 欧美丰满高潮xxxx喷水动漫| 国产欧美一区二区三区沐欲 | 国内精品久久久久久久影视麻豆| 亚洲伦理久久| 亚洲国产合集| 久久久精品视频成人| 欧美一区二区三区四区在线观看地址 | 午夜一区在线| 一区二区三区av| 欧美国产亚洲另类动漫| 欧美mv日韩mv国产网站| 国内激情久久| 久久九九电影| 久热精品视频在线观看一区| 国产在线日韩| 久久成人免费视频| 久久久久久久性| 国产综合第一页| 久久精品理论片| 麻豆精品在线视频| 在线成人中文字幕| 久久精品成人一区二区三区蜜臀 | 欧美大片在线看免费观看| 国产一区二区三区久久久| 香港成人在线视频| 久久精品水蜜桃av综合天堂| 欧美国产一区二区| 亚洲人成网站在线播| 亚洲一二三区精品| 亚洲美洲欧洲综合国产一区| 午夜精品久久久久久久蜜桃app | 欧美 日韩 国产一区二区在线视频| 午夜久久久久久久久久一区二区| 欧美成人一区在线| 欧美成人精品一区二区| 在线免费日韩片| 久久国产一区二区| 美女日韩在线中文字幕| 亚洲精品乱码久久久久久蜜桃麻豆| 久久躁日日躁aaaaxxxx| 欧美黑人国产人伦爽爽爽| 亚洲人成网站色ww在线| 欧美高清在线| 日韩一区二区高清| 欧美亚洲一区三区| 国产一区二区三区不卡在线观看| 久久成人综合网| 欧美成人午夜激情| 亚洲美女淫视频| 国产精品美女久久久浪潮软件| 亚洲一二三区精品| 美国十次成人| 一区二区欧美在线| 国产日韩欧美综合| 欧美成人午夜剧场免费观看| 亚洲视频在线二区| 免费成人高清视频| 亚洲免费一在线| 亚洲大胆av| 欧美性色aⅴ视频一区日韩精品| 欧美一区二区在线| 亚洲国产三级| 久久精品国产一区二区三| 91久久久久久久久| 国产精品夫妻自拍| 蜜臀久久久99精品久久久久久 | 亚洲欧美另类中文字幕| 国外视频精品毛片| 欧美日本韩国在线| 久久精品日产第一区二区| 亚洲国产成人91精品| 午夜精品久久久久久久蜜桃app| 亚洲第一狼人社区| 国产拍揄自揄精品视频麻豆| 欧美日韩一区自拍| 中日韩在线视频| 蜜桃av综合| 性欧美长视频| 一区二区三区欧美亚洲| 国产亚洲精品久久久久婷婷瑜伽 | 欧美一区日韩一区| 亚洲六月丁香色婷婷综合久久| 国产日本欧美一区二区三区在线 | 亚洲免费观看视频| 国产亚洲精品成人av久久ww| 国产精品户外野外| 欧美日本精品| 欧美激情1区| 美女爽到呻吟久久久久|