vs

float4 ep = TBMultiply(ModelViewMatrix, FinalPosition);
DistFromEye.x = TBSaturate( 10.0 + ep.z / 10.0 );
DistFromEye.y = -ep.z;
ScaledElapsedTime.x = ElapsedTime * 0.1;
ScaledElapsedTime.y = ElapsedTime * 0.1;
float3x3 myTangentBasis = float3x3(FinalTangent, FinalBinormal, FinalNormal);
Incident = TBMultiply(TBCast(float3x3, ModelViewMatrixInverse), ep.xyz);// scaled position proj back to model space
Incident = TBMultiplyInvs(myTangentBasis, Incident);// to tangent space

ps

float3 incidentVec = -normalize(Incident);
float3 cube = TextureLookupCube(CubeMap, CubeMap_ULL, reflect(incidentVec, bumpedNormal)).xyz * ReflectionStrength;
half R0 = 0.0203;
half edotn = abs(dot(-incidentVec, bumpedNormal));
half fresnel = R0 + (1.0-R0) * pow(1.0-edotn, 5.0);//compute in tangent space

FPOutput.rgb = TBLerp(col, cube, fresnel);

////////////////

complex solution:

half currentDepth = DepthTextureLookup( RenderDepthBufferAsColour, RenderDepthBufferAsColour_ULL, screenTexCoord ).x;
currentDepth = FarPlane * NearPlane / ( currentDepth * ( NearPlane - FarPlane ) + FarPlane );
/* float2 DistFromEye; DistFromEye.x = saturate( 10.0 + ep.z / 10.0 );
DistFromEye.y = -ep.z;*/ float invClarityLength = 1.0 / ClarityLength;
float depth = TBSaturate((currentDepth - DistFromEye.y) * invClarityLength);
float kClarity = 1.0 - depth; DistFromEye.x = TBSaturate(DistFromEye.x);
float2 offsetCoord = renderBufferCopyCoords + bumpedNormal.xy * DistFromEye.x * 0.1f * depth;

泳池水面fresnel 的近似替代的更多相关文章

  1. 由浅入深学习PBR的原理和实现

    目录 一. 前言 1.1 本文动机 1.2 PBR知识体系 1.3 本文内容及特点 二. 初阶:PBR基本认知和应用 2.1 PBR的基本介绍 2.1.1 PBR概念 2.1.2 与物理渲染的差别 2 ...

  2. IRLS(迭代加权最小二乘)

    IRLS用于解决这种目标函数的优化问题(实际上是用2范数来近似替代p范数,特殊的如1范数). 可将其等价变形为加权的线性最小二乘问题: 其中W(t)可看成对角矩阵,每步的w可用下面的序列代替 如果 p ...

  3. 深入剖析iLBC的丢包补偿技术(PLC)

    转自:http://blog.csdn.net/wanggp_2007/article/details/5136609 丢包补偿技术(Packet Loss Concealment——PLC)是iLB ...

  4. 理解SIFT

    理解SIFT.tab{font-size:12px; margin-bottom: 10px;}.tab a{cursor:pointer;cursor:pointer;display:inline- ...

  5. 介绍一个全局最优化的方法:随机游走算法(Random Walk)

    1. 关于全局最优化求解   全局最优化是一个非常复杂的问题,目前还没有一个通用的办法可以对任意复杂函数求解全局最优值.上一篇文章讲解了一个求解局部极小值的方法--梯度下降法.这种方法对于求解精度不高 ...

  6. Ceph: A Scalable, High-Performance Distributed File System译文

    原文地址:陈晓csdn博客 http://blog.csdn.net/juvxiao/article/details/39495037 论文概况 论文名称:Ceph: A Scalable, High ...

  7. Boosting(提升方法)之GBDT

    一.GBDT的通俗理解 提升方法采用的是加法模型和前向分步算法来解决分类和回归问题,而以决策树作为基函数的提升方法称为提升树(boosting tree).GBDT(Gradient Boosting ...

  8. 游戏AI之路径规划(3)

    目录 使用路径点(Way Point)作为节点 洪水填充算法创建路径点 使用导航网(Navigation Mesh)作为节点 区域分割 预计算 路径查询表 路径成本查询表 寻路的改进 平均帧运算 路径 ...

  9. Windows7 64位环境6sv2.1大气传输模型修改源码添加国产高分卫星GF-1 GF-2光谱响应支持

    下面开始添加国产卫星光谱响应的支持: 以下主要参考文章“6S大气传输模型修改源码添加.自定义卫星光谱响应(以HJ-1B CCD为例)”网址:http://blog.csdn.net/sam92/art ...

随机推荐

  1. REST Web 服务(一)----REST 介绍

    1. 什么是REST? REST 定义了一组体系架构原则,您可以根据这些原则设计以系统资源为中心的 Web 服务,包括使用不同语言编写的客户端如何通过 HTTP 处理和传输资源状态. 2. REST的 ...

  2. POJ 3243 Clever Y | BSGS算法完全版

    题目: 给你A,B,K 求最小的x满足Ax=B (mod K) 题解: 如果A,C互质请参考上一篇博客 将 Ax≡B(mod C) 看作是Ax+Cy=B方便叙述与处理. 我们将方程一直除去A,C的最大 ...

  3. altera ip 核小究

    用quartus的MegaWizard工具生成一个乘法器multiplier,会在工程目录下产生 multiplier.qip    (可选) multiplier_bb.v  (可选) multip ...

  4. 3.3 Lucene检索原理

    Lucene是一个高效的,基于Java的全文检索库[1].所以在介绍Lucene的检索功能之前,我们要先了解一下全文检索以及Lucene的索引结构. 一.全文检索的基本原理 1. 数据的分类 什么是全 ...

  5. [ CodeVS冲杯之路 ] P1294

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/1294/ 随手一打就是这么漂亮的全排列,想当年我初一还是初二的时候,调了1个多小时才写出来(蒟蒻一枚) 直接DFS每次枚 ...

  6. 转: wireshark过滤规则

    转: http://blog.sina.com.cn/s/blog_48a0f2740100ka71.html WireShark过滤语法 1.过 滤IP,如来源IP或者目标IP等于某个IP 例子: ...

  7. C# split字符串

    string strSourse = "ab|||cdef"; string[] arr = strSource.Split(new string[]{"|||" ...

  8. linq连接sqlite数据库(linq to sqlite) .net3.5

    http://www.cnblogs.com/xianyin05/archive/2012/12/23/2829905.html using Models; using System; using S ...

  9. (2).net web api 请求方式与参数

    一.GET 二.POST 如果方法名前缀不带GET 默认为POST请求方法 1.无参数 2.带一个参数 客户端请求时,名称必须为空,不能是dictCategory.不是空的话,会返回空数据 [ ] 3 ...

  10. UVA10305 Ordering Tasks (拓扑序列)

    本文链接:http://www.cnblogs.com/Ash-ly/p/5398586.html 题意: 假设有N个变量,还有M个二元组(u, v),分别表示变量u 小于 v.那么.所有变量从小到大 ...