会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
viX0026
博客园
首页
新随笔
联系
订阅
管理
2017年3月17日
Effective Modern C++ Item 37:确保std::thread在销毁时是unjoinable的
摘要: 下面这段代码,如果调用func,按照C++的标准,程序会被终止(std::terminate) 原因在于C++标准规定,std::thread的析构被调用时,std::thread必须是unjoinable的,否则std::terminate就会被调用。 std::thread有两种状态,joina
阅读全文
posted @ 2017-03-17 11:55 viX0026
阅读(1737)
评论(0)
推荐(0)
2017年3月16日
Effective Modern C++ Item 27:重载universal references
摘要: 假设有一个接收universal references的模板函数foo,定义如下: 如果想对某些类型做特殊处理,写一个重载版本的foo,比如想对float类型做特殊处理,就写一个接收float类型的foo: 这样,如果我们写下 foo(1.0) 时,理论上应该输出"foo(float n)",而实际
阅读全文
posted @ 2017-03-16 16:50 viX0026
阅读(851)
评论(0)
推荐(0)
2017年3月11日
测试不同格式下depth buffer的精度
摘要: 这篇文章主要是参考MJP的“Attack of The Depth Buffer”,测试不同格式下depth buffer的精度。 测试的depth buffer包含两类: 一是非线性的depth buffer,存储着perspective z(也就是最常用的,透视投影后归一化的z/w的buffer
阅读全文
posted @ 2017-03-11 16:59 viX0026
阅读(1046)
评论(0)
推荐(0)
从depth buffer中构建view-space position
摘要: 观察透视投影矩阵: 对于x和y,矩阵变换只是一个缩放系数,那么逆变换就是缩放系数的倒数,所以 设Xndc Yndc为NDC空间中的XY坐标,Xview Yview Zview为view space中的坐标,则 所以 所以已知XY的NDC坐标和view space z,就能求出view space p
阅读全文
posted @ 2017-03-11 00:15 viX0026
阅读(571)
评论(0)
推荐(0)
2017年3月8日
使用Compute Shader加速Irradiance Environment Map的计算
摘要: <!--[if !supportLists]-->Irradiance Environment Map基本原理 Irradiance Environment Map(也叫Irradiance Map或Diffuse Environment Map),属于Image Based Lighting技术中
阅读全文
posted @ 2017-03-08 23:15 viX0026
阅读(2552)
评论(2)
推荐(0)
公告