看Threejs好玩示例,学习创新与技术(ogl)
本文标题可能看的你莫名奇妙,什么是ogl?ogl是一个新的三维引擎库,可以简单任务是非常简化的ThreeJS。下面图是它的一个示例,可见虽然它是一个麻雀,但五脏还是比较全的。
1、先说OGL
OGL的代码非常简单,主要由Core、extras、math三个文件夹组成,文件数量在50个左右。 参考地址为OGL WebGL Library。但好说歹说,OGL能够满足基本的WebGL三维模型展示。如果仔细研究OGL,可以清晰的看到采用最基础的webGL编程的逻辑。
2 、Ascll码的渲染
好吧,今天本来打算说的示例是ASCII Shader with OGL | Codrops。在这个示例就是采用上述OGL作为底层的三维引擎。
现在回到本话题,Ascll码网上有很多资料了。但同时Ascll也可以用一个矩阵点来表示,比如用5X5的点阵表示。如163153可以表示 *。极端的2^25-1=33554431就是表示一个全幅的方块。
3、Perlin noise(柏林噪声)
噪声的算法写了几次了,包括看Threejs好玩示例,学习创新与技术(Noise)_three.js noise-CSDN博客 和 看Threejs好玩示例,学习创新与技术(ProjectTexture合集)-CSDN博客。前面的噪声采用的是Poisson Disk Sampling(泊松圆盘采样)和SimplexNoise。Perlin noise可以在屏幕内得到如下的效果,呈现出油污荡漾的效果。而前面讨论的SimplexNoise适合水波等效果