记一次向WebAssembly的移植:gl-matrix
世界Skill
由于某些工作上的原因,以及个人兴趣,配合之前用Rust+WASM写软件渲染器的踩坑,端午花了三天将gl-matrix移植到了WASM(但因为各种奇奇怪怪的事情一直没时间发文)。此移植包含gl-matrix的所有功能,同时具备完整的单元测试。库本身以Rust + wasm-bindgen + wasm-pack + webpack4的形式开发,使用TS + Karma + Mocha来写单元测试(当然前两年还能扯一扯“优雅”啥的,现在这些都常识了也没啥说的)。在使用方面,我提供了两种使用模式,来应对不同的场合。同时还使用了很多Trick来在不破坏工程性的同时优化性能,某种意义上可以当做Rust来写WASM的工程的模板。
前端视觉交互——全屏泛光
世界Skill
本次实现的效果是轮廓边缘内发光。顾名思义,其指的是在模型轮廓边缘内部的发光效果,核心是“边缘”和“内部”这两个词,也适合“外发光”(辉光、泛光)最大的区别。由于是在模型内部的发光,所以我们完全可以针对模型自身的材质去实现,不必使用后处理,这一点在性能上有所优势。当然,最重要的还是它本身能达到的效果的适用范围。
前端视觉交互——轮廓边缘照明-菲涅尔反射
世界Skill
本次实现的效果是轮廓边缘内发光。顾名思义,其指的是在模型轮廓边缘内部的发光效果,核心是“边缘”和“内部”这两个词,也适合“外发光”(辉光、泛光)最大的区别。由于是在模型内部的发光,所以我们完全可以针对模型自身的材质去实现,不必使用后处理,这一点在性能上有所优势。当然,最重要的还是它本身能达到的效果的适用范围。
《青年弱者H,丧失了写作的能力》
世界Art
前端视觉交互——顶点动画实现图片过度
世界Skill
这是一个非典型的Vertex Shader(顶点着色器)实现的顶点动画的例子。它构造了一个可被打碎的平面,使得我可以在碎片化的过程中对两张图片做平滑过渡。
GIGA GJ2018作品-摩的大飚客
世界Create
一个胡逼游戏。
前端视觉交互——Shader实现扩散水纹涟漪效果
世界Skill
Code,Demo。涟漪,是指现实世界中水面上落入物体时、以物体为圆心向四周不断生成扩散圆形式的涟漪并逐渐衰减的现象。真实世界的涟漪十分复杂,在图形学中,我们只能模拟它来按达到一个近似效果。而为了模拟涟漪,图形学也提供了各种各样的方法,像是各种map(flow map)等,但在这里,为了最简化资源和达到最好的动态效果、并阐明原理,本例由纯Shader绘制。
Web方向传感器的正确使用姿势
世界Skill
现在移动设备普遍提供了重力传感器和方向传感器来测量设备方向,HTML5标准也提供了标准的API来进行方向信息的获取,获取方式是通过两个事件,他们分别是“orientationchange”和“deviceorientation”。
前端视觉交互——Particle3DByThree
世界Skill
Code ,Demo。这个效果是3D Particle Explorations其中之一的实现。觉得蛮有意思满酷炫就研究实现了一下。
My world
世界Create
少年H在世界上留下的一些痕迹。