cascade_shadow_mapping 让我们近距离观察一下: 阴影的质量不高,因为这种块效应,将其称为透视锯齿,视图空间中的大量像素被映射到阴影贴图中的同一像素,这意味着所有这些像素要么处于阴影中,要么处于光亮中,从而产生块状感。换句话说,由于阴影贴图的分辨率不够高,因此无法充分覆盖视图空间。解决这个问题的一个明显方法是增加阴影贴图的分辨率,但这会增加我们应用程序的内存占用,因此它可能不是最好的做法。 处理此问题的另一种方法是注意靠 2024-01-16 render #shadow
fullscreen_quad_rendering 渲染全屏四边形(或填充整个屏幕的东西)是 3D 实时图形中的一项常见任务,因为许多效果依赖于在 [0..1] 范围内使用适当的 uv 坐标在整个屏幕上渲染纹理。这适用于后期处理(光照计算、ssao)、延迟着色或程序生成的输出。 渲染此类全屏四边形的最先进方法是设置包含顶点(可选纹理坐标)和索引的缓冲区,用于渲染由两个三角形组成的四边形,绑定这些缓冲区并将它们作为着色器的输入属性。虽然这在 Open 2023-05-16 render #vulkan #skill
multithreaded_shading Vulkan 视角下的多线程渲染首先我们需要从vulkan api的顶层框架上来看一下,它在哪些地方可以让我们并行。 Vulkan API的基本框架Vulkan不同于Gles只有一个(不被API暴露出来的)单一链条的cmdbuffer处理,它最大的特点是允许多个、多种类型的cmdbuffer同时在多个设备和线程上被处理 上图可以看到vk拥有多个physical device(或gpu,当然也可以是 2023-01-26 render #vulkan
clustered_forward_shading 基本概念cluster shading是将相机的Frustum按x y z切块成cluster,记录每个cluster 受哪些实时光源影响,再对有效的cluster进行光照计算。 痛点解决tbdr和观察物体有强关联,在深度不连续的地方,会导致开销增大的问题。file:///home/berg/code/junglemanpro/ 2022-01-15 render #lighting
forward_plus_shading Tiled-based Deferred Shading在进入正题之前,我们先回顾一下Intel在SIGGRAPH Courses 2010里提到的Tiled-based Deferred Shading。它的算法框架是: 生成G-Buffer,这一步和传统deferred shading一样。 把G-Buffer划分成许多16×16的tile,每个tile根据depth得到bounding b 2022-01-15 render #lighting
deferred_shading 基本概念正向渲染下,是否丢弃某片元的操作是在各种测试之后,如果在frag阶段做大量算法(如光照计算),而后进行的测试将该片元舍弃,等于做了无用功。当光照数量可观时,严重消耗了算力。而延迟渲染下,先渲染场景一次,记录有效的 位置向量(Position Vector)、颜色向量(Color Vector)、法向量(Normal Vector)和/或镜面值(Specular Value),这时 2021-05-20 render #lighting
vscode配置cpp调试环境 安装vscode插件1. c/c++ 2. cmake 3. cmake-tool 安装程序1sudo apt install cmake clang gdb 配置vscode c_cpp_properties.json 菜单栏【查看】【命令面板…】 输入关键词”C/C++ edit”,选择匹配到的命令”C/C++: Edit Configurations (json)” 2020-04-12 config #cpp
debian配置手册 配置clash 网络代理配置 设置->网络->网络代理 123http 127.0.0.1 7890https 127.0.0.1 7890socket 127.0.0.1 7891 开机自启 1sudo nano /etc/systemd/system/clash.service 123456789101112[Unit]Description=A rule 2020-04-10 config #debian
debian搭建github博客手册 安装npm node.js 使用nvm管理npm版本 1234567891011# installs nvm (Node Version Manager) curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash# download and install Node.js (you ma 2020-01-17 config #debian #blog