码迷,mamicode.com
首页 >  
搜索关键字:法线向量    ( 14个结果
Shader——边缘光照
要计算边缘光照,先想象一下我们在看一个物体边缘时是怎样的。 通常来说我们看到一个物体,这个物体越边缘的点的表面法线与我们的实现越接近垂直,所以可以通过这个特征来知道哪些点接近边缘,并且知道这些点接近边缘的程度。 这个可以通过求顶点的单位表面法线向量和单位视线向量的点积来求得,点积的结果越接近0,法线 ...
分类:其他好文   时间:2020-06-06 21:21:52    阅读次数:58
WebGL学习之法线贴图
实际效果请看demo: "纹理贴图" 为了增加额外细节,提升真实感,我们使用了漫反射贴图和高光贴图,它们都是向三角形进行附加纹理。但是从光的视角来看是表面法线向量使表面被视为平坦光滑的表面。以光照算法的视角考虑的话,只有一件事决定物体的形状,那就是垂直于它的法线向量。砖块表面只有一个法向量,表面完全 ...
分类:Web程序   时间:2019-05-01 13:28:07    阅读次数:359
射线、平面的表示方式
射线: 空间中的射线可以用一个点P0和一个方向向量D表示,表达公式为: T(t) = P0+Dt,其中,Dt为射线的长度。 几何意义如下图: 平面: 平面可以用平面的法线向量N与平面的一个点P1来表示。 N点乘(p-p1) =0,其中p点为平面上任意一点除却P1点)。 平面与射线的关系: t = ( ...
分类:其他好文   时间:2018-01-28 23:24:36    阅读次数:342
深入理解法线贴图原理
本文算是对此文(写给笨人的法线贴图原理)的提炼,主要是原文较长,且由大量文字构成,未必大家都有耐心认真读完,如果有耐心,建议先去读原文,然后再来这里验证。 1.为什么用法线贴图?法线贴图是为了存法线信息,让低模拥有类似高模的光照交互效果:凹凸不平,表面精致。 2.怎么存法线向量?纹理每个点都有rgb ...
分类:其他好文   时间:2017-10-17 18:59:15    阅读次数:395
cocos2dx中用shader实现折射效果
目的:给定任意法线贴图,实现折射效果 主要技术:RenderTarget,glsl 提取出一个可供使用的Sprite派生类 计算模型如下: 黑色部分为玻璃切线,红色部分为场景。绿色线为垂直于场景的视线及其延长线,红色为法线。我们求折射光,等于在给定的OB,法线向量下,求取视线经过折射后与场景的交点和 ...
分类:其他好文   时间:2017-05-05 21:00:51    阅读次数:537
如何理解三维曲面的法线向量公式
在三维中有曲面,求其上任意一点的法向量。公式很简单,就是。但是我怎么也想不通为什么公式是这样的。其实我有些隐隐感觉到这和求极值的拉格朗日乘数法有些关联。因为其中也是等一列条件被满足时,解可能是最大值或最小值。看机器学习公开课时,其中提到可以把multiplier看成是一个超平面,对各参数偏导全为零时 ...
分类:其他好文   时间:2016-07-19 22:08:13    阅读次数:153
HLSL实现反射天空盒
cube-mapping-skybox 效果: 我们基于观察方向向量I和物体的法线向量N计算出反射向量R。我们可以使用GLSL的内建函数reflect来计算这个反射向量。最后向量R作为一个方向向量对cubemap进行索引/采样,返回一个环境的颜色值。最后的效果看起来就像物体反射了天空盒。 反射(re ...
分类:其他好文   时间:2016-05-04 22:31:40    阅读次数:257
Cg入门16:Fragment shader - 片段级光照
将顶点程序实现漫反射放至片段程序后处理效果如下:看到和左边内建实现的漫反射一样了片段程序特点:1.采用三角面的形式渲染,而顶点程序是按顶点形式渲染注意事项:直接将计算好的顶点法线向量和光向量 直接传给片段程序使用效果如下:为啥不一样呢?顶点程序:1.按顶点计算,一个顶点一个顶点处理程序片段程序:1.先进行光栅化,把面片分割成三角形,2.一个片段程序,可以看成一个一个像素处理原因:1.由于面片程序,...
分类:其他好文   时间:2016-03-23 18:32:19    阅读次数:139
顶点数组以及解引用单个数组
法线向量 物体的法线向量定义了他的表面在空间中的方向。具体地说定义了他相对于光源的方向。OpenGL使用法线向量确定了这个物体各个顶点所接受的光照。在定义物体的几何形状时,同时也定义了他的法线向量。可以使用glNormal*()函数,把当前法线向量设置为这个函数所标示的值,以后调用glVertex*()时,就会把当前法线向量分配给所指定的顶点。每个顶点尝尝具有不同的法线,所以需要交替调用这个函数。...
分类:编程语言   时间:2015-08-27 15:31:45    阅读次数:179
OpenGL二十面体及多次细分成球体
绘制一个规则的二十面体,通过多边形近似模拟法来构建表面。 在绘制前,我们需要初始化一些数据: #define X .525731112119133606 //使原点到每个顶点的距离均为1.0 #define Z .850650808352039932 //顶点坐标 static GLfloat vdata[12][3] = { { -X, 0.0, Z }, { X, 0.0, Z },...
分类:其他好文   时间:2015-05-30 14:58:29    阅读次数:207
14条   1 2 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!