zoukankan      html  css  js  c++  java
  • Shadow Mapping With PCF

    其实就基本SM加上一个靠近百分比过滤·

    下面这里是使用对周边取样的片段·

         float t_DepthMap = DepthMap.Sample( DepthMapSampler, t_ProjPos.xy ).r;
    	float4 t_OutColor = t_DepthMap >= t_DepthScene ? s_OutColor : s_ShadowColor;
    
    	t_DepthMap = DepthMap.Sample( DepthMapSampler, t_ProjPos.xy + float2(-viewport_inv_width, 0) ).r;
    	t_OutColor += t_DepthMap >= t_DepthScene ? s_OutColor : s_ShadowColor;
    
    	t_DepthMap = DepthMap.Sample( DepthMapSampler, t_ProjPos.xy + float2( viewport_inv_width , 0) ).r;
    	t_OutColor += t_DepthMap >= t_DepthScene ? s_OutColor : s_ShadowColor;
    
    	t_DepthMap = DepthMap.Sample( DepthMapSampler, t_ProjPos.xy + float2( 0,-viewport_inv_height) ).r;
    	t_OutColor += t_DepthMap >= t_DepthScene ? s_OutColor : s_ShadowColor;
    
    	t_DepthMap = DepthMap.Sample( DepthMapSampler, t_ProjPos.xy + float2( 0, viewport_inv_height) ).r;
    	t_OutColor += t_DepthMap >= t_DepthScene ? s_OutColor : s_ShadowColor;
    
    	t_DepthMap = DepthMap.Sample( DepthMapSampler, t_ProjPos.xy + float2(-viewport_inv_width, -viewport_inv_height) ).r;
    	t_OutColor += t_DepthMap >= t_DepthScene ? s_OutColor : s_ShadowColor;
    
    	t_DepthMap = DepthMap.Sample( DepthMapSampler, t_ProjPos.xy + float2( viewport_inv_width, -viewport_inv_height) ).r;
    	t_OutColor += t_DepthMap >= t_DepthScene ? s_OutColor : s_ShadowColor;
    
    	t_DepthMap = DepthMap.Sample( DepthMapSampler, t_ProjPos.xy + float2(-viewport_inv_width,  viewport_inv_height) ).r;
    	t_OutColor += t_DepthMap >= t_DepthScene ? s_OutColor : s_ShadowColor;
    
    	t_DepthMap = DepthMap.Sample( DepthMapSampler, t_ProjPos.xy + float2( viewport_inv_width,  viewport_inv_height) ).r;
    	t_OutColor += t_DepthMap >= t_DepthScene ? s_OutColor : s_ShadowColor;	
    

     

    大概就这样子·

  • 相关阅读:
    cocos2d-x系列笔记技巧篇(2)---关于CREATE_FUNC宏的用法
    Cocos2d-x开源、跨平台的游戏引擎
    Asp.Net Core 文件上传处理
    Asp.Net Core获取当前上下文对象
    Asp.Net Core 视图整理(一)
    SVG渲染顺序及z轴显示问题(zIndex)
    JavaScript Screen对象
    Javascript 对象(object)合并
    SVG.Js事件示例,简单绑定拖动操作
    SVG 文字居中整理
  • 原文地址:https://www.cnblogs.com/macom/p/3398024.html
Copyright © 2011-2022 走看看