【PBR】THREE 物理shader宏观作用分析

export default /* glsl */`
#define PHYSICAL                 //定义物理材质的宏
varying vec3 vViewPosition;      //相机空间顶点位置
#ifndef FLAT_SHADED              //flat着色
	varying vec3 vNormal;
	#ifdef USE_TANGENT
		varying vec3 vTangent;
		varying vec3 vBitangent;
	#endif
#endif
#include <common>               //着色器公用常量和函数(例如常量π,函数pow2)
#include <uv_pars_vertex>       //UV顶点处理的变量声明(处理漫反射纹理、凹凸纹理、法线纹理等)
#include <uv2_pars_vertex>      //UV2顶点处理的变量声明(AO贴图、光照贴图处理)
#include <displacementmap_pars_vertex> //位移贴图处理的变量声明
#include <color_pars_vertex>        //颜色处理的变量声明(自定义颜色)
#include <fog_pars_vertex>          //雾化处理的变量声明
#include <morphtarget_pars_vertex>  //变形动画的变量声明
#include <skinning_pars_vertex>     //蒙皮动画的变量声明 
#include <shadowmap_pars_vertex>    //阴影纹理生成的变量声明 
#include <logdepthbuf_pars_vertex>  //深度纹理的变量声明 
#include <clipping_planes_pars_vertex> //剪裁平面处理的声明
void main() {                    //主函数 
	#include <uv_vertex>         //uv(漫反射纹理、凹凸纹理、法线纹理等)处理
	#include <uv2_vertex>        //uv2(AO纹理、光照贴图)
	#include <color_vertex>      //顶点颜色处理(所有顶点漫反射颜色都会乘上这个自定义颜色)
	#include <beginnormal_vertex>//开始法线处理
	#include <morphnormal_vertex>//变形动画法线处理
	#include <skinbase_vertex>   //骨骼蒙皮基本运算
	#include <skinnormal_vertex> //骨骼蒙皮法线计算 
	#include <defaultnormal_vertex>//默认的法线处理
#ifndef FLAT_SHADED // Normal computed with derivatives when FLAT_SHADED
	vNormal = normalize( transformedNormal );
	#ifdef USE_TANGENT
		vTangent = normalize( transformedTangent );
		vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );
	#endif
#endif
	#include <begin_vertex>       //开始顶点位置处理
	#include <morphtarget_vertex> //变形动画位置处理 
	#include <skinning_vertex>    //蒙皮顶点处理
	#include <displacementmap_vertex>//位移贴图顶点处理
	#include <project_vertex>     //投影处理
	#include <logdepthbuf_vertex> //对数深度处理
	#include <clipping_planes_vertex> //剪裁平面顶点处理
	vViewPosition = - mvPosition.xyz;
	#include <worldpos_vertex>    //世界坐标系顶点计算  
	#include <shadowmap_vertex>   //阴影贴图计算 
	#include <fog_vertex>         //雾化计算
}
`;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值