- 博客(10)
- 资源 (1)
- 收藏
- 关注
原创 Cesium 加载 GLTF/GLB模型保存原始
但是这份数据中没有gltf/glb的原始文档数据,如果想要像babylon那样反显模型的数据结构,Cesium是做不到的。找到源码 \engine\Source\Scene\Model\Model.js 中 destroy 这个方法。在loader销毁的地方,可以找到模型文件的原始数据。Cesium加载GLTF/GLB模型使用的接口是。entity模型的数据参考文档。可以按照自己需求自己修改。
2024-01-24 16:35:32
1310
1
原创 WebGL中缓冲区对象的使用方法
使用缓冲区对象向顶点着色器传入多个顶点数据,需要遵循以下五个步骤。1. 创建缓冲区对象 gl.createBuffer() -- 删除缓冲区对象 gl.deleteBuffer()gl.createBuffer() 创建缓冲区对象,返回创建成功的对象或者 nullgl.deleteBuffer(buffer) 传入缓冲区对象buffer,意为删除缓冲区对象2. 绑定缓冲区对象 gl.bindBuffer()gl.bindBuffer(target, buffer);target 参数...
2021-08-05 12:07:54
731
原创 Javascript 中的类型化数组
Javascript中的Array对象大家都非常熟悉了,也应该知道Javascript中的Array可以同时存在不同类型的元素,比如像下面的代码是成立的:var arr = ["你好", 1024, "abc", {"key":"key-1", "value":"value1"}];console.log(arr);这样的多种类元素数组用起来很方便但是某些情况下,比如网络传输,或者调用WebGL绘制3D对象时,则会降低效率,于是类型化数组,应声出现所谓类型化数组就是规定数组中的元
2021-08-05 10:30:05
234
原创 base64转换成图片
对于web来说,base64是很好用的,可以直接用在Image.src=base64str 而且性能也要比图片快一些(毕竟是字符串传输)但是有时候确实是需要看到图片本身,所以这里介绍一下如何将base64字符串转成真实的Image首先要把base64str格式化,图片来的base64str字符串可能会带有标头,如下图如果是png 或者别的类型,会有差别将标头去掉,只留下base64的内容后,传给window.atob() 转换成 arraybuffer然后将arraybuffer
2021-07-14 12:03:27
7812
原创 ThreeJs ObjLoader 编码问题
3DMax 导出的 OBJ文件默认是 GB2312的编码(为了支持中文)但是 ThreeJs 中的 ObjLoader 的 加载不支持 UTF-8 外的其他格式,导致加载进来后Object3d中的中文全是乱码;解决方案:最笨的方案当然是批量修改obj文件的编码格式;还可以直接修改ObjLoader.js 的源文件,若看到这里了,会发现ObjLoader底层是用FileLoader加载的,也不支持修改加载编码格式,需要再往上深扒,最终找到javascript 的原生加载api,然后换之即可;
2021-07-14 10:39:35
747
2
原创 表达式解析
/** * 计算单个算式的结果,远算符可以是 +、-、*、/、% 中的任意一种。 * @param p1 参数1 * @param op 运算符 * @param p2 参数2 * @return 结果 */public calculateSingleOperate(p1: any, op: string, p2: any): any{ if (p1 == null || p2 == null) { return NaN; } switch (op) { case "+".
2021-02-25 13:49:00
490
原创 Flash内存优化
Flash内存优化关于Flash内存的清理GC运行方式GC运行原理使用方法内存清理建议查找内存泄漏后记关于Flash内存的清理GC运行方式Flash Player的garbage collection(GC)分两种运行方式,一种是**“引用计数法”(Reference Counting),一种是“标记-清除法”(Mark Sweeping)**。1 引用计数法是通过计算指向某个对象的引用的数量来确定是否清除该对象。如果一个对象的引用数量为0,表示程序无法再访问到该对象,则清除该对象;如果引用计数不
2020-06-29 12:49:58
267
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人