(Shadow Mapping) w88优德娱乐映射原理与实现

Android的演示 下载

转载请申报水源51458489

w88优德娱乐小海图Shadow
mapping

是在三维数纸机图形中同意w88优德娱乐的处理。w88优德娱乐小海图的观念事先指导是由 Lance
Williams 于 1978年在“在曲面上晒w88优德娱乐”这篇论文中现时的。从那时开端,该方式已用于现场预出现、实时甚至很多游玩安装和高端电脑游玩。在Pixar 的RenderMan 中就敷用了w88优德娱乐小海图技术,同一,在 玩意儿总动员此技术也用于此游玩中。。

中保持健康的光或吃水图像的像素和吃水的构成,这是计算像素条件在光的范围内的方式。,原来如此体格w88优德娱乐。(出生于维基百科)

 

规律:

w88优德娱乐小海图是一种敷用吃水质地来为爱情小说w88优德娱乐装修receive 收执的多走廊计算。它的调是,是否视察终极的视口敷用尾随光源。经过将视口让步到光源的驻扎军队,可以看出,这样地驻扎军队上的每一件东西都是光亮地的。,因从光的角度看待是不注意w88优德娱乐的。

事件的吃水从角度到吃水缓冲液。,人们可以在事件中赢得一张w88优德娱乐或许无w88优德娱乐的小海图,一张w88优德娱乐小海图。


上图是对w88优德娱乐的健康的的解说。 晒规律

一 率先,将相机设置到光源的驻扎军队(检查事件)。,在这点上,相机研究矩阵称为研究矩阵,同时使被安排好了有理的尾随矩阵(该矩阵为c)。

二 那时对与景停止第二的次绘制.此次绘制将每个可以查看的片元(可以视察到指的是片元到光源间无扣留)到光源的间隔记载到一幅质地图中间的对应像素中,以下搬家。

三 那时相机回复驻扎军队的相机的实践任务,绘制事件。当绘制的这段工夫,前一步体格的质地的敷用,用于尾随的尾随矩阵,尾随矩阵、研究矩阵为研究矩阵1。

四 画每大量时,基本原则尾随小海图质地采样的产物换算出光源与此片元连线中距光源最近的的片元间隔(ZA),从光源单元计算实践间隔(ZB)。条件ZB >期刊,则需求绘制的片元发生w88优德娱乐中,采取w88优德娱乐的色上色,别的方式此片兀公开w88优德娱乐中,手段电视机的照明上色。

间隔质地体格

这是关于搬家经过。 第二的步的了解,质地的满足的是经过将相机名列前茅在

看一眼面积元素上色器的法典。 见frag_shadow.sh

precision mediump float;
varying vec4 vPosition; 从顶峰上色器收执参量
uniform highp vec3 ulightlocation;/ /光源的驻扎军队
void main()                         
{   
   float (DIS =间隔);/ /间隔计算
   float zsbf =舱口(DIS);/ /概数
   float xsbf =分(DIS);/ /十进位的
  xsbf =舱口(xsbf *);//将阿拉伯数字系统概数膨胀1024倍
   
   float hzsbf=floor(zsbf/);
   float lzsbf=mod(zsbf,);
   float hxsbf=floor(xsbf/);
   float lxsbf=mod(xsbf,);   
   
   float r=hzsbf/;
   float g=lzsbf/;
   float b=hxsbf/;
   float a=lxsbf/;
   
   gl_FragColor=vec4(r,g,b,一)
}  

上面的上色器预示,片和光源经过的间隔计算和崩溃 4色走廊。

因相通间隔的十进位的面积将被反复。,因而,有独身同心圆条纹环绕光源

w88优德娱乐事件的绘制:

现时将照相机复原到实践的原始驻扎军队。,将前一步体格的质地晒敷用到事件中。

人们可以交换驻扎军队来赢得事件。

同时,看一眼上面的元上色器frag.sh

precision mediump 浮点法数;/预先确定默许浮点法严守标准的
uniform sampler2D stexture;/ /质地资料
uniform highp vec3 ulightlocation;/ /光源的驻扎军队
uniform highp mat4 uMVPMatrixGY; 总代替的矩阵(祖古)
varying vec4 细节;/从顶峰上色器收执到细节光专心
varying vec4 diffuse; 从顶峰上色器收执散乱光的终极专心
varying vec4 specular; 从顶峰上色器收执镜像光的终极专心
varying vec4 vPosition;  从顶峰替换后收执顶峰的驻扎军队。
void main(){   
   将元素的驻扎军队尾随到假定的的近立体上。
   vec4 gytyPosition=uMVPMatrixGY * vec4();
   gytyPosition=gytyPosition/gytyPosition.w;  		//停止透镜除法
   float s=()/2.0; 将尾随协调替换为质地协调
   float t=()/2.0; 
   vec4 depth4=texture2D(sTexture, vec2(s,t)); 采样尾随质地(间隔质地)
   将采样的色值替换为最小间隔值
   float minDis=**+depth4.g*+depth4.b+depth4.a/;   
   float currDis=distance();	//计算光源到此片元的间隔ZB
   vec4 finalColor=vec4(); 内容的色
   if(s>=) { 条件质地协调在合法范围内,则尾随图是对的。
   		if(minDis<=) {				//若实践间隔大于最小间隔则在w88优德娱乐中
   			gl_FragColor= finalColor*ambient*1.2;	//仅用细节光上色
   		} else{//公开w88优德娱乐中用三个走廊光照上色
   			gl_FragColor = finalColor*ambient+finalColor*specular+finalColor*diffuse;
   		}
   } else{ 	//公开w88优德娱乐中用三个走廊光照上色
         gl_FragColor = finalColor*ambient+finalColor*specular+finalColor*diffuse;
   }
}       

 · 上面上色器最大的变奏是鉴于质地采样。,那时,采样色的值被回复到间隔值(ZA)。,这么实践间隔值(ZB)计算。,最末基本原则ZA与ZB的相干确定片元条件在w88优德娱乐中。
· 修正后的值被添加到ZA和ZB大小时,A股需求基本原则具体情况修剪值、条件不添加更积极价值,事件绘制出版可能性致使发生很庄重地的“亲手w88优德娱乐”成绩.

商议书:

OpenGL 游玩冲洗2

发表评论

电子邮件地址不会被公开。 必填项已用*标注