图形噪声

大自然蕴含着各式各样的纹理,小到细胞菌落分布,大到宇宙星球表面。运用图形噪声,我们可以在3d场景中模拟它们,本文就带大家一起走进万能的图形噪声。 图形噪声,是计算机图形学中一类随机算法,经常用来模拟自然界中的各种纹理材质,如下图的云、山脉等,都是通过噪声算法模拟出来的​。 通过不同的噪声算法,作用在物体纹理和材质细节,我们可以模拟不同类型的材质。 基础噪声算法 一个基础...

ShaderToy

如果你还没听过ShaderToy,那你就真的错过了一个很好的shader学习网站。我是在群里有一次听到小伙伴们提到这个网站的。点进去就会发现里面有很多很绚丽的shader展示。 说简单点,这个网站是专门让人们分享和编写GLSL的pixel shaders的。 换句话说,里面那些绚丽的效果仅仅依靠pixel shaders就可以完成了(当然还有纹理的配合),是不是很强大?里面的强人很多,就像...

C++ 中struct/class的内存布局

struct 的内存布局: struct 的内存对齐和填充概念学过C 的都应该知道一点。其实只要记住一个概念和三个原则就可以了: 一个概念: 自然对齐:如果一个变量的内存地址正好位于它长度的整数倍,就被称做自然对齐。 如果不自然对齐,会带来CPU存取数据时的性能损失。(PS:具体应该与CPU通过总线读写内存数据的细节相关,具体没有细究) 三个原则: struct 的起始地址需要能...

TDBR & Xcode Profile

为了体现显式的、高性能的、贴近硬件的设计哲学,现代图形 API 都提供了相对传统 API 更加强大的内存管理接口。传统 API 的内存管理基本是通过 Runtime/Driver 代为托管,开发者一般不需要过多关心内存分配实现和细节。现代 API 提供了明确的内存控制接口,因此 Runtime/Driver 几乎不再帮助开发者管理内存,需要开发者显式控制内存分配。显式内存管理的好处在于...