文档章节

三角形、平面法线、顶点法线

rise-worlds
 rise-worlds
发布于 2016/06/20 13:41
字数 371
阅读 537
收藏 0

在Direct3D中,三角形是构成实体的基本单位,因为一个三角形正好是一个平面,以三角形面为单位进行渲染效率最高。

一个三角形由三个点构成,习惯上把这些点称为顶点(Vertex)。三角形平面有正反面之分,由顶点的排序决定:顶点按顺时针排列的表面是正面,如图。

clip_image001

屏幕剪辑的捕获时间: 2007/6/22, 14:59

其中与三角形平面垂直、且指向正面的矢量称为该平面的法线(Normal)。

在Direct3D中,为提高渲染效率,缺省条件下只有正面可见,不过可以通过IDirect3DDevice9::SetRenderState来改变设置,其对应的渲染状态常数为D3DRS_CULLMODE,具体用法请参阅SDK文档。

顶点法线(Vertex Normal)是过顶点的一个矢量,用于在高洛德着色(Gouraud Shading)中的计算光照和纹理效果。在生成曲面时,通常令顶点法线和相邻平面的法线保持等角,如图1,这样进行渲染时,会在平面接缝处产生一种平滑过渡的效果。如果是多边形,则令顶点法线等于该点所属平面(三角形)的法线,如图2,以便在接缝处产生突出的边缘。

clip_image002

屏幕剪辑的捕获时间: 2007/6/22, 15:17

clip_image003

屏幕剪辑的捕获时间: 2007/6/22, 15:16

本文转载自:http://www.cnblogs.com/flying_bat/archive/2007/10/13/923286.html

rise-worlds

rise-worlds

粉丝 2
博文 1755
码字总数 0
作品 0
深圳
程序员
私信 提问
iOS-OpenGL ES入门教程(四)光照

前言 前面的基础文章列表 iOS-零基础学习OpenGL ES入门教程(一) iOS-OpenGL ES入门教程(二)最简单的纹理Demo iOS-OpenGL ES入门教程(三)纹理取样,混合,多重纹理 下面来讲一下光照 光...

安东_Ace
2018/06/14
0
0
OpenGL超级宝典笔记——性能比较

本文通过包含许多顶点数据的复杂模型来比较使用glBegin()/glEnd立即模式,显示列表,以及顶点索引数组的性能与内存。 F-16 Thunderbird的飞机模型有3704个独立的三角形,通过Deep Exporation...

Mario_Q
2013/12/22
588
0
DirectX11 With Windows SDK--25 法线贴图

前言 在很早之前的纹理映射中,纹理存放的元素是像素的颜色,通过纹理坐标映射到目标像素以获取其颜色。但是我们的法向量依然只是定义在顶点上,对于三角形面内一点的法向量,也只是通过比较...

X_Jun
01/06
0
0
OpenGL超级宝典笔记——镜面光与法线平均

光照效果 仅仅使用环境光和漫反射光的光照效果,喷气式飞机表面的颜色看起来比较平淡。在渲染木材,泥土,布料,纸箱上等这些表面粗糙的物体上,使用环境光和漫反射光的光照效果就基本足够了...

Mario_Q
2013/10/13
2K
1
从0开始的OpenGL学习(三十二)

本文主要解决一个问题: 如何使用法线贴图给物体添加更多的细节? 引言 学了这么多技巧,也能显示非常酷炫的画面,是不是觉得自己已经非常强,有点飘飘然了?哈哈,还差的远呢。不信?来看下...

闪电的蓝熊猫
2018/01/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

PyTorch入门笔记一

张量 引入pytorch,生成一个随机的5x3张量 >>> from __future__ import print_function>>> import torch>>> x = torch.rand(5, 3)>>> print(x)tensor([[0.5555, 0.7301, 0.5655],......

仪山湖
36分钟前
5
0
OSChina 周二乱弹 —— 开发语言和语言开发的能一样么

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @花间小酌:#今日歌曲推荐# 分享The Score的单曲《Revolution》 《Revolution》- The Score 手机党少年们想听歌,请使劲儿戳(这里) @批判派...

小小编辑
今天
2.2K
17
oracle ORA-39700: database must be opened with UPGRADE option

ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00704: bootstrap process failure ORA-39700: database must be opened with UPGRADE option 进程 ID: 3650 会话 ID: 29......

Tank_shu
今天
3
0
分布式协调服务zookeeper

ps.本文为《从Paxos到Zookeeper 分布式一致性原理与实践》笔记之一 ZooKeeper ZooKeeper曾是Apache Hadoop的一个子项目,是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它...

ls_cherish
今天
4
0
聊聊DubboDefaultPropertiesEnvironmentPostProcessor

序 本文主要研究一下DubboDefaultPropertiesEnvironmentPostProcessor DubboDefaultPropertiesEnvironmentPostProcessor dubbo-spring-boot-project-2.7.3/dubbo-spring-boot-compatible/au......

go4it
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部