博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CGAL Catmull-Clark Subdivide Surface
阅读量:6759 次
发布时间:2019-06-26

本文共 580 字,大约阅读时间需要 1 分钟。

  CGAL中提供了4种细分表面的稳定算法,还可以将模型直接导出为VRML或者OFF格式,不过使用起来有些头大。CGAL的邮件列表上经常有人询问这个库到底如何使用,其实都是不好好看文档,附带的范例,没有掌握C++模版使用的结果,说到底就是编程经验不够。这里直接使用CGAL中提供的CC细分法处理MAYA多边行模型,左边是迭代1次的结果,右边是3次的结果,可以看出已经相当平滑了,可以直接在GPU上进行displacement操作了,避免由于精度的问题导致模型失去细节。

   由于CGAL的设计问题,导致只有花大力气重新写一部分类,修改继承关系,才能实现细分的同时也对UV进行操作。刚开始不是很明白流形映射的关系,导致不敢(是的,是不敢)对UV进行处理,经过和新闻组的人探讨,尤其是Caltech的大牛Peter Schröder教授给了我重要的提示,从流行映射的角度来说可以对UV进行和顶点一样的处理,这样一来就相当于处理两个Polyhedron,而后只要归并再一起就好了。事实上正是如此,对一个5178个面的多边性模型进行PQQ三次迭代处理,生成248544个面,体积约为20M。而后可以进入GPU的Geometry Shader进行Displacement,实现实时高素质模型的渲染。

  以后我会写一篇关于CGAL的完全使用教程贡献给开源社区,敬请期待。

转载地址:http://ckbeo.baihongyu.com/

你可能感兴趣的文章
如何利用框选工具获取多边形范围?
查看>>
Java读取Excel数据
查看>>
input输入框回车事件响应
查看>>
[转]win7 如何升级PowerShell
查看>>
mongodb基本操作
查看>>
工具使用——印象(汇总)
查看>>
020 RDD的理解
查看>>
Flask 2 程序的基本结构1
查看>>
sass的学习笔记
查看>>
uploadify上传带参数及接收参数的方法
查看>>
Linux的中断和系统调用 & esp、eip等寄存器
查看>>
kettle的jndi的使用
查看>>
微信小程序把玩(九)scroll-view组件
查看>>
android BroadCastRecevier笔记
查看>>
HEXO+Github,搭建属于自己的博客
查看>>
使用Java语言开发微信公众平台(三)——被关注回复与关键词回复
查看>>
Memcached、Redis OR Tair
查看>>
springcloud Ribbon自定义负载均衡插件
查看>>
Plupload上传插件中文帮助文档
查看>>
HDU2089 不要62 BZOJ1026: [SCOI2009]windy数 [数位DP]
查看>>