生成点法线(Generating Vertex Normal)-应用版
来源:互联网 发布:服务器部署java项目 编辑:程序博客网 时间:2024/05/16 17:13
上一篇博文《生成点法线 》首先从理论的角度描述了点法线的含义,接着给出了一个生成点法线的标准算法,最后基于标准算法进行了一些改进。
如果你不喜欢读长篇的理论来了解知识;如果你比较喜欢通过一个Demo来了解知识;如果你对点法线的生成比较感兴趣。那么本文就是为你而写的。
本文组织如下:首先给出生成点法线的步骤;接着给出一个三角网格模型格式;最后基于该网格模型格式,给出一个生成点法线的函数。
点法线生成步骤:
- 1 生成面法线
- 2 对顶点数据进行预处理,使得通过给定的顶点就可以索引到其所在的所有三角形
- 3 对于任意一个顶点,得到其所在的所有三角形。选定其中一个三角形作为该顶点技术上所属的三角形,然后缓存其对应的面法线。然后对于其他的三角形,计算其面法线与缓存的面法线的点积,如果点积大于某一个阈值,则该面法线将应用于求点法线。否则该面法线将作为在该三角形中,该点的点法线。
- 4 将求得的点法线标准化。然后将它与参与计算点法线的面线所在三角形的该点联系起来。
三角网格模型格式:
- 1 该三角网格模型存储在一个二进制文件中
- 2 该三角网格模型由多个三角形组成
- 3 每个三角形由12个浮点数组成。前三个浮点数表示该三角形的面法线。后九个浮点数分别表示该三角形的三个顶点。
- 4 各个三角形之间没有分隔符
那么该文件看起来像是这样:GLfloat GLfloat GLfloat …
点法线生成函数剖析:
面法线效果图 vs 点法线效果图:
其中左图是面法线效果图,右图是点法线效果图。看起来差距还是很明显的。
- 生成点法线(Generating Vertex Normal)-应用版
- 生成点法线(Generating Vertex Normals)
- vertex normal
- 法线变换详解(Normal Transform)
- 法线变换详解(Normal Transform)
- Normal Map(法线贴图)Ⅱ(转)
- Bent Normal (环境法线?)
- Normal Transformation(法线变换)
- Bent Normal (环境法线?)
- Normal Transformation(法线变换)
- Normal Mapping 法线贴图
- Normal Transformation(法线变换)
- 法线贴图(Normal Mapping)
- 切线空间(Tangent Space)法线映射(Normal Mapping)
- 对于法线贴图(Normal Map) 的深入研究
- 对于法线贴图(Normal Map) 的深入研究
- 对于法线映射(Normal Map) 的深入研究
- 对于法线贴图(Normal Map) 的深入研究
- 注册成功
- HTTP Cache
- 2010年12月18日
- android 扫雷游戏及源代码
- 怎样制造时间机器
- 生成点法线(Generating Vertex Normal)-应用版
- multithreaded access to errno
- WPF4.0中使文本清晰显示
- QT程序实例——电子台签上位机软件
- 与一线Linux嵌入式开发工程师的对话
- 单片机+DS18B20+12864液晶显示温度及温度变化的波形
- 利用SQL Server的DTS操作EXCEL、Access等数据表的导入导出- -
- Erbix:兼容于 CommonJS 的服务端 JavaScript 主机平台
- 2010中国十大管理实践之——80、90后劳务工管理