当前位置: 首页 > news >正文

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;	

 

大概就这样子·

转载于:https://www.cnblogs.com/macom/p/3398024.html

相关文章:

  • 批量查看mysql多从状态和修改多从主库指向
  • 删除异常的MS SQL进程
  • Android的五种数据存储方式
  • 路由器VRRP配置
  • Eclipse user library位置
  • ORACLE 10g 64位下载地址
  • 设置中的一些默认值
  • 浅析Ad Exchange广告交易模式
  • Chrome浏览器调用摄像头拍照
  • Struts2之自定义类型转换器
  • linux系统下调度数据库类型资源库中的kettle job
  • Fragment的学习
  • 标书
  • Bootstrap3.0学习第十八轮(JavaScript插件——下拉菜单)
  • Bash Shell 快捷键的学习使用
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • 2017前端实习生面试总结
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • jdbc就是这么简单
  • MySQL几个简单SQL的优化
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • Redis的resp协议
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • Webpack 4 学习01(基础配置)
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 基于webpack 的 vue 多页架构
  • 基于组件的设计工作流与界面抽象
  • 简单实现一个textarea自适应高度
  • Java数据解析之JSON
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (function(){})()的分步解析
  • (待修改)PyG安装步骤
  • (第二周)效能测试
  • (二)pulsar安装在独立的docker中,python测试
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .NET MVC第三章、三种传值方式
  • .NET 读取 JSON格式的数据
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .NetCore项目nginx发布
  • .NET教程 - 字符串 编码 正则表达式(String Encoding Regular Express)
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .NET中的Exception处理(C#)
  • .ui文件相关
  • /boot 内存空间不够
  • /proc/interrupts 和 /proc/stat 查看中断的情况