- 博客(313)
- 资源 (1)
- 收藏
- 关注
原创 Alpha To Coverage
在启用了 MSAA(Multisample Anti-Aliasing) 的情况下,每个像素不再是单一的颜色,而是由多个 子像素(subsamples) 组成,例如 4×MSAA 代表 1 个像素有 4 个采样点。当进行 MSAA 解析(Resolve) 时,最终像素的颜色是所有被填充的子像素颜色的均值,从而实现平滑透明边缘的效果。alpha = 1.0(完全不透明):所有子像素都会被填充(完整覆盖)。默认情况下:如果片元覆盖了这个像素,所有的子像素都会被填充。示例:以 4×MSAA 采样为例。
2025-03-18 10:36:04
863
原创 Google Filament 渲染引擎(2)-Backend 核心类介绍
本文基于 filament 版本: v1.58.0文本更加阐述 Backend 内部核心类的关系, 示例代码作了非常多的删减和简化文本将以创建纹理为例, 阐述 Backend 内部的流程。后端图形接口以 OpenGL 为例。Dispatcher: 本质上只是一个函数指针的集合,用于将命令与驱动接口的方法绑定。在初始化阶段,这些函数指针就被填充好。Driver: 负责管理底层驱动的状态,以及与硬件交互的具体实现。CommandStream: 负责接收命令,并将其发送到驱动。
2025-03-12 17:21:26
952
原创 mac 操作文件夹
打开 “访达”,找到想要复制路径的文件或文件夹。右键单击该文件或文件夹,同时按住 “Option” 键,此时菜单中的 “拷贝” 选项会变成 “拷贝为路径名称”,点击即可复制路径。按下 “Command+Shift+G” 组合键,此时会出现一个 “前往” 输入框,将之前复制好的访达路径粘贴到该输入框中。
2025-03-10 09:39:31
143
原创 C++实现js的异步操作
print 123;a(()=>发送网络请求,等待结果并打印);print 456.打印结果应该是123,456,网络请求结果。网络请求的结果不可以像js一样设置回调函数自动运行么。
2025-02-19 00:22:47
123
原创 C++共享指针实战
有三个类,分别是A,B, R。在B类里new 了一个R的智能指针, 这个R的生命周期和B相同。同时A类也存了一个B中存放关于R的智能指针。B销毁同时A指向R的指针也失效,并调用R的析构函数,如何实现。// 输出: R has been destroyed。// 输出: Using R through A。} // B对象在这里被销毁,R的引用计数减为0,R的析构函数被调用。
2025-02-18 18:52:08
247
原创 简单光照模型的区域光(Area Light)
参考:https://dybiszb.github.io/AreaLight/https://github.com/dybiszb/AreaLight/blob/master/README.mdhttps://codepen.io/wagerfield/pen/kPmoQVhttps://stackoverflow.com/questions/17021264/improved-area-lighting-in-webgl-threejshttps://github.com/turanszkij/
2025-02-08 14:04:56
391
原创 主流webgl 引擎 glsl 如何升级webgpu为 wgsl?
glsl 转 SPIR-V 转 wgsl。自己抽象了 tsl。可以为任意版本的语言。看着是完全实现了两套。
2024-12-14 16:54:11
451
原创 js 与 C++引用和指针的关系
=============== 结束==================这里相当于C++ 中的引用, b是a的引用, 修改b ,a也改变。js 中既有引用的影子, 也有指针的影子。这里 a,b应该按照指针理解。
2024-09-20 15:36:33
505
原创 Cesium Shader 广告牌纹理动画
图片资源: https://www.codeandweb.com/free-sprite-sheet-packer。Cesium 在广告牌, 自定义shader实现播放spritesheet.Cesium Shader 广告牌纹理动画。
2024-09-19 23:12:19
278
原创 Cesium billboard 自定义shader实现描边效果
if!discard;discard;discard;discard;discard;discard;# endif!defined。
2024-09-19 11:41:21
427
原创 C++ 使用 glm 实现 Cartesian3.fromDegrees
【代码】C++ 使用 glm 实现 Cartesian3.fromDegrees。
2024-09-13 14:05:36
235
原创 WebAssembly js 调用c++ 高性能传参
通过 Emscripten,你可以直接使用 JavaScript 的 TypedArray 与 C++ 共享内存,从而避免频繁的数据拷贝操作。TypedArray 是一种高效的二进制数据表示形式,非常适合处理大规模数值数据。
2024-09-10 17:00:00
434
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人