摘要: 本博客已经停止使用,有问题可以在知乎@我 我的专栏 https://zhuanlan.zhihu.com/c_1109051026405064704 也可以访问我的新blog http://www.blueroses.top/ 阅读全文
posted @ 2020-03-02 21:00 湛蓝玫瑰 阅读(408) 评论(0) 推荐(0) 编辑
摘要: PS:本文写于2017.2.1日,使用版本为4.13。第二次更新时间为2017.3.15增加了四、一些材质编辑器中的奇怪的技巧: 一、前言在Unreal中材质编辑器提供了Custom节点,作为HLSL代码编写接口。以此可以实现更多的效果。虽然使用Custom节点会有若干限制,但是相对的比较方便,适合 阅读全文
posted @ 2017-02-02 19:44 湛蓝玫瑰 阅读(3064) 评论(0) 推荐(0) 编辑
摘要: 一些好的教程分享 Ue4大神的博客 http://www.tomlooman.com 关于CustomDepth的文章的翻译 http://gad.qq.com/program/translateview/7173279?sessionUserType=BFT.PARAMS.202650.TASKI 阅读全文
posted @ 2016-02-14 22:11 湛蓝玫瑰 阅读(1092) 评论(0) 推荐(0) 编辑
摘要: 我由易到难推荐,不过在此之前还是先看看官方对于VS设置的推荐: https://docs.unrealengine.com/latest/INT/Programming/Development/VisualStudioSetup/index.html 不推荐看中文版的,因为有错 1、官方的入门教程 阅读全文
posted @ 2016-02-14 22:10 湛蓝玫瑰 阅读(1508) 评论(0) 推荐(0) 编辑
摘要: 传输公式 传输方程是控制光线在吸收、发射和散射辐射的介质中的行为的基本方程。它解释了第11章中描述的所有体积散射过程——吸收、发射和内、外散射。并给出了一个描述环境中辐射分布的方程。光传输方程实际上是传输方程的一个特例,由于忽略参与介质而进行简化,并专门用于从表面散射。 在方程的基本形式中,传输方程 阅读全文
posted @ 2019-03-20 10:43 湛蓝玫瑰 阅读(1074) 评论(0) 推荐(0) 编辑
摘要: 采样反射函数 BxDF::Sample_f()方法根据与相应的散射函数相似的分布来选择方向。在8.2节中,该方法用于寻找来自完美镜面的反射和透射光线;在这里讲介绍实现其他类型的采样技术。 BxDF::Sample_f()在[0,1)范围内取得两个使用反演法取得的样本,其中这些样本是使用分层采样或者低 阅读全文
posted @ 2019-03-20 10:31 湛蓝玫瑰 阅读(931) 评论(0) 推荐(0) 编辑
摘要: 这里还涉及到pdf、方差等概念,推荐去看《全局光照技术:从离线到实时渲染》 积累分布函数 cumulative distribution function (CDF) 蒙特卡洛估算 为了计算式蒙特卡罗估算量,就有必要从选择的概率分布中抽取随机样本。 逆推法 逆推法使用一个或多个均匀的随机变量映射到随 阅读全文
posted @ 2019-03-20 10:28 湛蓝玫瑰 阅读(2073) 评论(2) 推荐(1) 编辑
摘要: 自发光灯光 至今为止,人们发明了很多光源,现在被广泛使用的有: 1. 白炽灯的钨丝很小。电流通过灯丝时,使得灯丝升温,从而使灯丝发出电磁波,其波长的分布取决于灯丝的温度。但大部分能量都被转化为热能而不是光能。 2. 卤素灯,在灯中充入惰性气体,使得灯的寿命增加,与白炽灯一样使用钨丝。 3. LED灯 阅读全文
posted @ 2019-03-20 10:25 湛蓝玫瑰 阅读(1140) 评论(0) 推荐(0) 编辑
摘要: 体散射处理过程 3个影响参与介质在环境中的辐射度分布的主要因素: 1. 吸收:减少光能,并将其转化为别的能量,例如热量。 2. 发光:由光子发射光能至环境中。 3. 散射:由于粒子碰撞,使得一个方向的辐射度散射至其他方向。 吸收 吸收被描述为一段介质截面区域。每单位距离媒介密度与吸收光能的比被定义为 阅读全文
posted @ 2019-03-20 10:24 湛蓝玫瑰 阅读(939) 评论(0) 推荐(0) 编辑
摘要: 采样与抗锯齿 当高分辨率贴图被缩小时,贴图会出现严重的混淆现象。虽然第7章中的非均匀采样技术可以减少这种混叠的视觉影响,但是更好的解决方案是实现基于分辨率进行采样的纹理函数。 可以在使用贴图时先对贴图的分辨率进行判断,避免采样高分辨率贴图。 为了解决贴图采样函数造成的混淆问题,我们必须解决以下两个问 阅读全文
posted @ 2019-03-20 10:15 湛蓝玫瑰 阅读(802) 评论(0) 推荐(0) 编辑
摘要: BSDF类 表面着色器会绑定场景中每一个图元(被赋予了这个着色器),而表面着色器则由Material类的实例来表示。它会拥有一个BSDF类对象(可能是BSSDF),用于计算表面上每一点的辐射度(颜色)。 BSDF代表了BRDFs与BTDFs的集合。BSDF构造函数接受一个SurfaceInterac 阅读全文
posted @ 2019-03-20 10:14 湛蓝玫瑰 阅读(550) 评论(0) 推荐(0) 编辑
摘要: 基础术语 表面反射可以分为4大类: 1. diffuse 漫反射 2. glossy specular 镜面反射高光 3. perfect specular 完美反射高光 4. retro reflective distributions 后反射分布 几何坐标系以及工具函数 pbrt中的反射是在反射 阅读全文
posted @ 2018-12-21 22:08 湛蓝玫瑰 阅读(1288) 评论(0) 推荐(0) 编辑
摘要: 在pro文件中加入以下语句: 之后以管理员身份重新运行Qt Creator,执行QMake,再 重新构建项目 即可。 之后生成出来的程序的图标上就会出现一个小盾牌图标,在运行时就可以获取UAC权限。 阅读全文
posted @ 2018-12-14 09:09 湛蓝玫瑰 阅读(1103) 评论(0) 推荐(0) 编辑
摘要: 前言 本文仅作为个人笔记分享,又因为本章涉及多个专业领域而本人皆未接触过,所以难免出错,请各位读者注意。 1. 对于数字图像需要区分image pixels(特定采样处的函数值)和display pixels(显示器显示值)。 2. 收集采样值,并将其转化为连续函数的过程被称为重构。 3. 为了计算 阅读全文
posted @ 2018-12-06 17:48 湛蓝玫瑰 阅读(1625) 评论(0) 推荐(0) 编辑
摘要: Camera GenerateRay生成当前相机采样的一条光线,并且返回生成的光线对于最终图像的贡献值,一般都为1,除了有什么特殊计算 ProjectiveCamera ProjectiveCamera继承自Camera类,实现了投影相机的相关功能。 这里需要需要注意一下,屏幕空间坐标与光栅化坐标的 阅读全文
posted @ 2018-12-06 17:45 湛蓝玫瑰 阅读(756) 评论(0) 推荐(0) 编辑
摘要: SPD 光谱功率分布 CoefficientSpectrum 根据给定采样数表示光谱,为RGBSpectrum、SampledSpectrum的父类。 重载大量的基础代码,比较简单不做赘述。其中为了方便访问对应区域的SPD,而重载了[]操作符。(TabulatedBSSRDF等会用到) 该类只要以各 阅读全文
posted @ 2018-11-14 23:03 湛蓝玫瑰 阅读(863) 评论(1) 推荐(0) 编辑
摘要: 茎节点与叶子节点 茎节点与叶子节点皆适用KdAccelNode来表示 注意:这里使用了匿名union union有个特性:内部类型共用一段内存,且大小为内部最大类型的大小。 使用8字节存储叶子节点(2个union各4byte),其中flags中的低二位2bit用于区分分割方向以及叶子节点,nPrim 阅读全文
posted @ 2018-11-07 22:50 湛蓝玫瑰 阅读(731) 评论(0) 推荐(0) 编辑
摘要: BVH 构建BVH树分三步: 1. 计算每个图元的边界信息并且存储在数组中 2. 使用指定的方法构建树 3. 优化树,使得树更加紧凑 分割 使用,子图元中质心距离最大的轴向作为分割方向。(另一种方法是尝试所有轴,之后再选择效果最好的那个轴作为分割方向。但是在实践中发现当前方案也有着不错的效果) ca 阅读全文
posted @ 2018-10-31 08:57 湛蓝玫瑰 阅读(3398) 评论(0) 推荐(0) 编辑
摘要: PBRT2与3之间的改动 1. 增加了一个功能完备的BRDF模型,支持体积光照与重要性多重路径采样。 2. 次表面散射,基于光线追踪技术,无需预处理。 3. 解决浮点数四折五入的问题 4. 光子映射 5. 样本生成 6. 第一章多了讲并行的东西 看到第2页 渲染分块问题 对这个渲染任务过多的分块会影 阅读全文
posted @ 2018-10-31 08:52 湛蓝玫瑰 阅读(776) 评论(0) 推荐(0) 编辑
摘要: 《Ray Tracing in One Weekend》 优点: 1. 相对简单易懂 2. 渲染效果相当好 3. 代码简短,只看书上的代码就可以写出完整的程序,而且Github上的代码是将基类与之类写在一起的,方便阅读 缺点: 1. 看完书你依然不知道,渲染效果好是因为用了路径追踪 2. 书中部分代 阅读全文
posted @ 2018-10-10 16:58 湛蓝玫瑰 阅读(1183) 评论(0) 推荐(0) 编辑
摘要: 类似的文章还是比较多的,但或多或少有一些问题没有解决,在此我将其整合并分享给大家: 测试环境: Node.js 9.9.0 VisualStudio 2015 "ffi": "gavignus/node ffi torycl/forceset fix", "ref": "1.3.5" "ref ar 阅读全文
posted @ 2018-10-10 14:47 湛蓝玫瑰 阅读(4877) 评论(0) 推荐(0) 编辑
摘要: 测试环境 vs:vs2017 node.js:9.9.6 相关地址 官方文档对应地址:https://www.nodejs.org/api/addons.html 官方案例对应地址:https://www.github.com/nodejs/node addon examples 安装所需版本的No 阅读全文
posted @ 2018-08-07 16:53 湛蓝玫瑰 阅读(1719) 评论(0) 推荐(0) 编辑
摘要: 最近本人在写离线光线追踪渲染器,但是Qt::QtConcurrent的功能有限,所以就尝试使用了一下,顺便分享一些经验。 TBB里面的parallel_for非常适合光线追踪渲染器,而QtConcurrent没有这个函数。 平台 1. Qt:Qt 5.9.4 MSVC x64 2. TBB:Thre 阅读全文
posted @ 2018-07-31 10:18 湛蓝玫瑰 阅读(835) 评论(0) 推荐(0) 编辑
摘要: 在上一文中本人尝试将Ue4嵌入到Qt中,但依然有一些问题没有去尝试解决。今天因为帮助知乎专栏作者@大钊的关系,顺便进行补完。 2018.7.18更新: 正好在参加杭州UnrealCircle的时候见到了EPIC上海的工程师李锋,之后我通过邮件询问了他这个问题,以下是他给我的回复: 问题所在原因是当你 阅读全文
posted @ 2018-06-07 15:58 湛蓝玫瑰 阅读(4508) 评论(2) 推荐(0) 编辑
摘要: 前言 最近在为单位做一个简单的手机App,基于Qt技术栈的选择了QtQuick来开发。不得不说QtQucik开发的确舒服,很多东西都不用写就可以只用,UI定义起来也比较自由。但是本人想通过cookie来作为登陆验证时就发现,QtQuick实现起来相当麻烦。(主要是没有文档,资料只找到一篇qyvlik 阅读全文
posted @ 2018-04-26 15:37 湛蓝玫瑰 阅读(2571) 评论(0) 推荐(0) 编辑
摘要: 自定义控件样式 请在Qt帮助索引中输入Customizing a Control进行查看 不过实际用下来感觉除非你想自己实现一套效果复杂的UI或是创造一个全新控件,比如:给UI添加模糊、虚化等ShaderEffect效果。不然不推荐用这个。比如本人就是想把CheckBox的大小改小,同时不改变显示样 阅读全文
posted @ 2018-04-23 14:41 湛蓝玫瑰 阅读(1781) 评论(0) 推荐(0) 编辑
摘要: 如何安装 因为现阶段v ray for unrealengine还处于beta测试阶段所以你必须去https://www.chaosgroup.com/vray/unreal 申请测试资格申请完之后就可以下载了 安装过程 一路next就可以了,不过注意必须关闭360,不然360会拦截v ray的验证 阅读全文
posted @ 2018-04-11 10:55 湛蓝玫瑰 阅读(1293) 评论(0) 推荐(0) 编辑
摘要: Q:如果让页面中的元素按照浏览器可视区域保持自适应 A:在全局css文件中(默认main.css)输入 之后在页面中根元素中将height设置为100%就可以了 Q:nuxt.js的两个部署方式有什么区别?有哪些开发方式 A:过几天再写答案 Nuxt.js我认为是一个相当不错的框架,与vue cli 阅读全文
posted @ 2018-03-28 14:39 湛蓝玫瑰 阅读(1013) 评论(0) 推荐(0) 编辑
摘要: 查了一下nuxt的github才知道是node.js版本太低造成的,据说升级到8.6以上就可以了(本人直接升了9.9) 阅读全文
posted @ 2018-03-26 16:22 湛蓝玫瑰 阅读(3332) 评论(2) 推荐(1) 编辑
摘要: 在github上咨询了,直接给了代码: https://jsfiddle.net/tk37c5cb/14/ 阅读全文
posted @ 2018-03-07 14:12 湛蓝玫瑰 阅读(5743) 评论(0) 推荐(0) 编辑
摘要: 参考了此文,并且强烈建议去看http://blog.csdn.net/crper/article/details/76091755 一般网上的方法都是 这么做,在多个组件的情况下,只有最后一个组件会进行缩放。 其实只需要这么做就可以了: 添加了延迟函数是为了增强一下性能 阅读全文
posted @ 2018-03-02 09:17 湛蓝玫瑰 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 最近在做一个文件升级的功能,需要从下载服务器中指定目录下的文件。在学习了zlib后发现这个模块达不到这个功能 在查找资料后发现后发现 archiver 模块很好用,不过我也发现大部分中文资料没有如果查询压缩进度,所以在此分享一下: archiver的github地址: https://github. 阅读全文
posted @ 2018-02-08 17:24 湛蓝玫瑰 阅读(783) 评论(0) 推荐(0) 编辑
摘要: https://cnodejs.org/topic/58ad76db7872ea0864fedfcc 阅读全文
posted @ 2018-02-06 10:05 湛蓝玫瑰 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 升级了新版的Qt5.9.3后,本人的电脑也出了这个问题。 最后通过删除了path中的一些错误、多余的环境变量解决了。(删除了一些mysql的环境变量) 阅读全文
posted @ 2018-01-18 15:05 湛蓝玫瑰 阅读(9419) 评论(0) 推荐(0) 编辑
摘要: 遇到一个需求,需要根据不同需要编译所需程序,本人采用了在QtCreator中建立不同的构建设置,配合宏的方式来实现: 1、在项目-构建设置中,添加构建配置2、在构建步骤里的qmake中的额外参数一栏填入:"DEFINES += XXXX",也就是对应的宏变量3、按照上述方法再次添加别的构建配置与宏变 阅读全文
posted @ 2018-01-15 15:16 湛蓝玫瑰 阅读(7618) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/maobush/article/details/67636734 阅读全文
posted @ 2018-01-15 09:29 湛蓝玫瑰 阅读(456) 评论(0) 推荐(0) 编辑
摘要: 2018.5.10 更新内存对齐说明 感谢知乎网友@孤独子狮 指出QImage处需要考虑内存对齐的问题。因为本人缺乏跨平台、图形库开发经验,所以在调试成功后就没有深入探究。 感谢知乎网友@孤独子狮 指出QImage处需要考虑内存对齐的问题。因为本人缺乏跨平台、图形库开发经验,所以在调试成功后就没有深 阅读全文
posted @ 2018-01-11 14:25 湛蓝玫瑰 阅读(12245) 评论(1) 推荐(0) 编辑
摘要: 一个不错的gitlab开发流程 http://blog.51cto.com/sgk2011/1925922 不错的git开发流程 https://www.cnblogs.com/coderzl/p/7491143.html 阅读全文
posted @ 2018-01-09 15:30 湛蓝玫瑰 阅读(986) 评论(0) 推荐(0) 编辑
摘要: this.webSocket.onerror =(env)=>{ this.onError(env) }; https://jsfiddle.net/dko6g9a4/1/ 阅读全文
posted @ 2017-12-26 15:13 湛蓝玫瑰 阅读(2341) 评论(0) 推荐(0) 编辑
摘要: 本人使用版本是1.4.7 在这个版本中对应全是String的column进行排序并不是按照拼音的方式排列的。 这里我贴一下源代码就可以看出是为什么了: 关键就在: 本人之前直接用 导致排序出问题,因为源代码中只接受true与false,而且localeCompare会返回1、0、-1,-1会被转化为 阅读全文
posted @ 2017-12-13 16:31 湛蓝玫瑰 阅读(4584) 评论(0) 推荐(0) 编辑
摘要: 在开发单位自己的系统时,领导提了这个需求,在看了ElementUI发现并没有实现这个功能。 遂向官方求解,得回复:自己在filter-method 中实现。于是便有了思路。 这里本人使用了一个比较暴力的方法,仅供参考: 1、给所有column的filter-method事件绑定一个对应方法: 意思就 阅读全文
posted @ 2017-12-13 15:05 湛蓝玫瑰 阅读(7670) 评论(0) 推荐(0) 编辑
摘要: 之前在AndroidStudio上就用了别人用写的库成功地打开了USB摄像头。 于是我之后又在PC上尝试了一下,首先去淘宝买了个MICRO母转USB公的转接口,然后在Qt上配置了一下OPENCV后开始尝试。 然后就坑到了,遂写此文。 本人使用了2种openCV提供的方法: 以上两种方法在填入-1时, 阅读全文
posted @ 2017-11-30 17:29 湛蓝玫瑰 阅读(17895) 评论(2) 推荐(0) 编辑
摘要: http://www.jianshu.com/p/92f97939e33a 亲测成功 阅读全文
posted @ 2017-11-30 10:46 湛蓝玫瑰 阅读(364) 评论(0) 推荐(0) 编辑