游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2514|回复: 1

[分享]Tessellation: Enhance your geometry!

[复制链接]

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2009-6-20 09:47:00 | 显示全部楼层 |阅读模式
Posted  by  Nick  Haemel  on  June  18,  2009

As  GPUs  become  more  powerful,  we  see  many  new  applications  of  how  they  can  be  used  as  general  compute  devices  often  rivaling  and  surpassing  the  CPU.  But  at  the  same  time,  modern  GPUs  are  augmented  with  tools  and  features  that  assist  general  computation.  These  new  features  add  high  performance  paths  that  enhance  graphics  rendering  capabilities.  One  such  addition  is  GPU  tessellation.

Tessellation  in  its  most  pure  definition  is  the  tiling  of  a  plane  or  surface  by  smaller  sub  surfaces.  On  the  GPU  this  translates  into  breaking  geometry  into  smaller,  more  detailed  pieces.    ATI  has  previously  done  this  through  TrueForm®  with  mixed  success.  A  tessellation  mechanism  can  also  be  implemented  using  the  geometry  shader.  But  the  new  tessellation  engine  in  ATI  Radeon  HD  Series  and  FirePro/FireGL  V  Series  graphics  hardware  automates  this  process  (currently  not  available  for  OpenGL  on  any  nVidia  hardware).  Very  little  work  is  needed  to  get  this  running  in  any  OpenGL  app,  just  enable  tessellation  state  in  OpenGL  and  pick  your  tessellation  factor  based  on  how  detailed  you  would  like  the  geometry  to  be.  The  application  vertex  shaders  can  also  be  updated  to  correct  texture  coordinates  based  on  the  generated  geometry.

image

This  powerful  rendering  mechanism  can  both  enhance  geometry  and  increase  performance.  By  using  tessellation,  the  same  level  of  detail  can  be  rendered  at  6-times  the  speed  and  save  more  than  50%  of  video  memory,  not  to  mention  the  bandwidth  saved  from  uploading  significantly  less  geometry.  (840  original  triangle  model,  rendered  at  LOD  of  1,008038  triangles  with  and  without  the  tessellation  engine)  Such  a  performance  boost  in  addition  to  the  visual  enhancement  can  provide  a  significant  advantage  for  any  application  that  adopts  tessellation.

The  result  of  tessellation  is  deterministic,  and  therefore  well  adapted  to  many  CAD  situations.  But  the  biggest  gains  can  be  seen  in  digital  content  creation.  Digital  content  models  are  often  large  and  can  be  difficult  to  render  in  real-time.  With  tessellation,  significantly  smaller  model  sizes  can  be  used  for  similar  levels  of  detail.  Pre-visualization  paths  can  also  make  use  of  tessellation  to  provide  better  looking  images  faster  than  was  previously  possible.  The  example  below  is  a  fly-by  done  with  tessellation  enabled,  showing  how  tessellation  can  enhance  a  landscape  in  real-time.

This  feature  can  be  enabled  with  the  AMD_vertex_shader_tessellator  extension  located  in  the  OpenGL  extension  registry.

12

主题

78

帖子

92

积分

注册会员

Rank: 2

积分
92
发表于 2009-12-8 11:24:00 | 显示全部楼层

Re: [分享]Tessellation: Enhance your geometry!

看起来像是好文, 顶...

难道是传说中的曲面细分. [em20] [em20] [em20]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-17 18:06

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表