yebis error ---depth of field
前几天在墙外无法登陆cnblogs。。。导致很多blogs就没写了
有几篇比较值得记下来的,但是我已经不记得了,应该和sao有关scalable ambient obscurance
我似乎回忆起一点来
http://graphics.cs.williams.edu/papers/SAOHPG12/
sao的实现我抄得这里,效率还行,这个跑不起来,因为要基于他自己的G3D的库 大概是这名字。。真不知道这些人怎么想的
我在不能调试的基础上,照着其他ao的流程 把这做出来了,主要遇到两个问题
1。depth 像论文所说要经过对depth的非线性处理
2。normal数据,这问题坑了我很久。当时我不想用sao算法就是因为他没用normal数据我觉得这样多渣啊,我就自己用了normal数据,结果。。。。就很不对。。。就是这样
就要ddyddx重建才可以
好了进入正题,dof遇到了这样很诡异的问题
我用yebis在ui前后画了两遍
第一遍开了dof第二遍没开,这样
如果我在一 frame的第二次 yebis render set dof false 就会在release version 打开某个菜单时 出现 unmap gpu page excetion
加断点后没有异常,debug么有异常,razor抓不到什么异常信息
在我各种排除之后,。。。。科学的手段完全无法帮助我,我就去刷知乎了,玩了很久,我觉得 靠直觉来讲也许是msaa
真的就猜对了。。。定位成功,因为这个error在我多次测试后发现,和某个没有。。。处理的page有关
问题具体来说是这样的,在有msaa的情况下, 当初yebis需要一张depth target作为 source 需要没有resolve的msaa depth target
但phyre会把msaa target 都resolve掉,这其实就是说 换了一块 target
第二次渲染yebis之后 ui又需要resolve之后的target 这就是需要解决的地方
========================================================
以上测试可以确认这个问题和msaa那两块 resolve前后的 depth targets相关
最让我感到奇怪的地方是和debug version , release version相关
debug 没问题 release 有问题,各种测试和核对 代码上来讲 两个版本没有潜在可以导致两者不同的差异
所以怀疑是 时间, 加了延时 确实管用
这东西折腾我到半夜一点
后来联系了silicon他们首先说 什么??!!你们一frame调用两次yebis applyeffects()??!
表示他们不支持 ,后来他们修了下。。。。解释说
有个buffer在指令还没结束时就写入导致的 双缓冲
改成4个可以解决 one frame applyEffect twice的问题
yebis error ---depth of field的更多相关文章
- [mysql]ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value 解决方法
在MySQL数据库中的mysql.user表中使用insert语句添加新用户时,可能会出现以下错误: ERROR 1364 (HY000): Field 'ssl_cipher' doesn't ha ...
- [mysql]ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value
From: http://m.blog.csdn.net/blog/langkeziju/13511411 我的MySQL版本为5.6.14版本,是二进制包安装的(虽然是二进制包安装的,但是以下问题同 ...
- 景深(Depth of Field)
http://www.cnblogs.com/cxrs/archive/2013/03/22/DepthOfFeild.html 景深(Depth of Field) 什么是景深? 所谓景深,就是当焦 ...
- Unity3D图像后处理特效——Depth of Field 3.4
Depth of Field 3.4 is a common postprocessing effect that simulates the properties of a camera lens. ...
- mysql 5.7 创建用户报错ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value
如: INSERT INTO user (host, user, authentication_string, select_priv, insert_priv, update_priv) VALUE ...
- 基于光线追踪的渲染中景深(Depth of field)效果的实现
图形学离线渲染中常用的透视摄像机模型时根据小孔成像的原理建立的,其实现通常是从向成像平面上发射ray,并把trace这条ray的结果作为成像平面上对应交点的采样结果.即: 图片来自<Fundam ...
- [mysql]ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value
转载自:http://www.cnblogs.com/joeblackzqq/p/4526589.html From: http://m.blog.csdn.net/blog/langkeziju/1 ...
- [ZZ] 景深效果(Depth of Field) , Pass1 将场景渲染到一个RenderTarget,做为清晰版, Pass2: BluredRT , Pass3: WDepth = Depth / Far_Z_Clip
http://blog.csdn.net/xoyojank/article/details/1883520 什么是景深效果? 景深效果,简称DOF,在人眼跟光学摄像设备上很常见.如下图: 简单地来 ...
- MySQL添加用户错误:ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value解决方法
MySQL添加新用户时出现如下报错,如下图: 经过查资料了解到: mysql用户表的中某些字段不能为空,没有默认值,其实是操作错误,mysql添加用户是不能这样直接insert user表的. 改为以 ...
随机推荐
- 学习jQuery在表单信息修改之中的常用方法;
submitHandler: function (form) { var parm = $("#myform").serialize(); var url = $("#m ...
- [.ashx檔?泛型处理例程?]基础入门#2....FileUpload上传前,预览图片(两种作法--ashx与JavaScript)
原文出處 http://www.dotblogs.com.tw/mis2000lab/archive/2013/08/20/ashx_beginner_02_fileupload_picture_p ...
- [习题]日历(Calendar)控件的障眼法(.Visible属性),使用时才出现?不用就消失?
原文出處 http://www.dotblogs.com.tw/mis2000lab/archive/2013/09/02/calendar_icon_visible.aspx [习题]日历(Cal ...
- Unicode字符以16进制表示
int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) 将x转换到一个 ...
- L2-015. 互评成绩
学生互评作业的简单规则是这样定的:每个人的作业会被k个同学评审,得到k个成绩.系统需要去掉一个最高分和一个最低分,将剩下的分数取平均,就得到这个学生的最后成绩.本题就要求你编写这个互评系统的算分模块. ...
- 算法系列7《CVN》
计算CVN时使用二个64位的验证密钥,KeyA和KeyB. 1) 计算CVN 的数据源包括: 主账号(PAN).卡失效期和服务代码,从左至右顺序编排. 4123456789012345+8701+11 ...
- ED/EP系列2《文件结构》
电子存折/电子钱包应用是为持卡人进行金融交易而设计的一种应用.对于一张金融 IC 卡来说,它可以同时支持电子存折和电子钱包两种应用,也可以只支持其中的一种.卡片上两种应用的存在情况可以由应用类型标识( ...
- myeclipse激活+Aptana安装配置
一.Myeclipse安装激活. 安装过程一路向下. 1.破解公钥,确保MyEclipse没有开启,否则失败! 用WinRAR或7-zip打开安装目录下Common\plugins\com.genui ...
- C++ STL vector 内存分配
vector为了支持快速的随机访问,vector容器的元素以连续方式存放,每一个元素都紧挨着前一个元素存储. 当vector添加一个元素时,为了满足连续存放这个特性,都需要重新分配空间.拷贝元素.撤销 ...
- Run ionic web app in nodejs
首先需要express插件:sudo npm install express 将ionic project的www拷贝至wwwroot,新建server.js: var express = requi ...