摘要: 本想用RenderDoc来调试shader,结果写完管线后,renderdoc能够正常抓帧,但是当你点击左侧的drawcall窗口中任何一个命令时,renderdoc直接崩溃。 省去一系列寻找问题的过程,结果是——在你创建vkpipeline后,该pipeline中每一个descriptorsetl 阅读全文
posted @ 2023-03-23 15:07 ᴮᴱˢᵀ 阅读(605) 评论(0) 推荐(0)
摘要: Camera In Game Engine The Camera 3D空间中的任何几何体都需要通过数学方法投影到2D平面上,这个过程就叫做投影。 而实现这个过程的系统,则全权由游戏引擎内的*摄像机(camera)*组件控制。以下内容包括摄像机的可视平截头体(view frustum), 投影矩阵(projectiob matrix), 透视矫 阅读全文
posted @ 2022-12-21 14:15 ᴮᴱˢᵀ 阅读(71) 评论(0) 推荐(0)
摘要: Microfacet Theory Microfacet Theory 许多BRDF模型都是基与微平面理论。 每个微平面都看作是平整的微小平面,含有单独的法向量$\bold m$。这些微平面会根据微小的BRDF$f_u(\bold l,\bold v,\bold m)$单独的反射入射光,所有的微平面反射结果组合起来就是宏观表面的BRD 阅读全文
posted @ 2022-10-13 18:08 ᴮᴱˢᵀ 阅读(61) 评论(0) 推荐(0)
摘要: Fresnel Reflectance Fresnel Reflectance 现在,我们要深入一个特殊的视觉现象,然后量化它们将其利用进着色模型中。首先,我们从一个平面的反射开始。 一个物体的平面可以看作是将物体内部和外部介质(比如空气)分隔开的一个中间表面。光与该中间表面的交互遵循菲涅尔方程(Fresnel equations),由奥 阅读全文
posted @ 2022-10-13 17:59 ᴮᴱˢᵀ 阅读(324) 评论(0) 推荐(0)
摘要: Shaders and Pipelines Shaders and Pipelines Shaders是设备中的基本的执行模块。vulkan shaders都由SPIR-V来表示——一种二进制表示的中间代码。SPIR-V可以通过离线编译,或嵌入到你的程序当中,又或者运行时以高级语言的形式传递给库。原始的shade是由GLSL语言编写的,这是与 阅读全文
posted @ 2022-08-20 16:30 ᴮᴱˢᵀ 阅读(402) 评论(0) 推荐(0)
摘要: CPPCON2016 - A &lt;chrono&gt; Tutorial CPPCON2016: A <chrono> Tutorial 此演讲对<chrono>头文件有很好的解释,而且入门很轻松。 chrono是c++关于时间的头文件,是C++11引入的。之所以引入这样一个头文件有诸多原因,一是C++尚缺少对时间类型的诠释,使用API时可读性很低。比如 sleep(10 阅读全文
posted @ 2022-07-23 13:27 ᴮᴱˢᵀ 阅读(56) 评论(0) 推荐(0)
摘要: CPPCON2021 - Debugging Techniques CPPCON2021 - Debugging Techniques 一开始讲了些bug的危害,比如每年花费多少人物力去debug,历史上的重大bug云云。 演讲有如下主题 what are bugs? what is debugging? challenges when debugging a si 阅读全文
posted @ 2022-06-21 13:53 ᴮᴱˢᵀ 阅读(105) 评论(0) 推荐(0)
摘要: cppcon2021 - C++20Templates:The next level:Concepts and more C++20 Templates: The next level - Concepts and more 该演讲内容涵盖了concepts的基础,拖着进度条也不会落下什么东西,基本是面向初学者了。 那我们先看看concepts能干什么。 Concepts concepts可以将一个类型的需求“公式化” 阅读全文
posted @ 2022-06-14 21:37 ᴮᴱˢᵀ 阅读(83) 评论(0) 推荐(1)
摘要: CPPCON2014:Essential of Modern C++ Style CPPCON2014:Essential of Modern C++ Style 这是一个back to basic系列,CPPCON中这个系列是比较值得一看的。 这个演讲讲了一些modern c++中你应该做的,或是了解的一些行为。演讲者将这个行为称为“Default”行为,即除非你有什么更好的理 阅读全文
posted @ 2022-06-02 18:08 ᴮᴱˢᵀ 阅读(72) 评论(0) 推荐(0)
摘要: CPPCON2020:C++20 Ranges in Practice CPPCON2020:C++20 Ranges in Practice 本次演讲提供了三个问题讲解 least element of an array sum of squares string trimming least element of an array 该问题是找到container中的 阅读全文
posted @ 2022-05-27 16:27 ᴮᴱˢᵀ 阅读(132) 评论(0) 推荐(0)