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