对JSON Model format 3编码理解
2015-03-04 20:41
405 查看
哎,苦于良师益友难寻觅啊。threejs人太少了。
原出处:
https://github.com/mrdoob/three.js/wiki/JSON-Model-format-3
虽然format3即将被淘汰了,format4格式更加规范。因为手头上的工程还是用format3格式。浅谈一下对format3格式的编码理解。
二进制编码方式:
00 00 00 00 =
TRIANGLE
00 00 00 01 =
QUAD
00 00 00 10 = FACE_MATERIAL
00 00 01 00 = FACE_UV
00 00 10 00 = FACE_VERTEX_UV
00 01 00 00 = FACE_NORMAL
00 10 00 00 = FACE_VERTEX_NORMAL
01 00 00 00 = FACE_COLOR
10 00 00 00 = FACE_VERTEX_COLOR
0是三角形;1是四边形;2是面带有法向量,以此类推
数组索引确定编码内容,那么数组下标怎么确定呢?
三角形 : 3个下标;
四边形 : 4个下标;
面-材料 : 1个下标;
面-uvs : 1个下标;
面-点-uvs :3个或4个下标;(我也不清楚怎么判断3还是4)
面-法向量 :1个下标;
面-点-法向量 : 3个或4个下标;
面-颜色 : 1个下标;
面-点-颜色: 3个或者4个下标
比如:
很惊奇发现一个(可能的)bug:
three.js源码第12028和12087行附近,jsonloader对象中,少写了
原出处:
https://github.com/mrdoob/three.js/wiki/JSON-Model-format-3
虽然format3即将被淘汰了,format4格式更加规范。因为手头上的工程还是用format3格式。浅谈一下对format3格式的编码理解。
二进制编码方式:
00 00 00 00 =
TRIANGLE
00 00 00 01 =
QUAD
00 00 00 10 = FACE_MATERIAL
00 00 01 00 = FACE_UV
00 00 10 00 = FACE_VERTEX_UV
00 01 00 00 = FACE_NORMAL
00 10 00 00 = FACE_VERTEX_NORMAL
01 00 00 00 = FACE_COLOR
10 00 00 00 = FACE_VERTEX_COLOR
0是三角形;1是四边形;2是面带有法向量,以此类推
数组索引确定编码内容,那么数组下标怎么确定呢?
三角形 : 3个下标;
四边形 : 4个下标;
面-材料 : 1个下标;
面-uvs : 1个下标;
面-点-uvs :3个或4个下标;(我也不清楚怎么判断3还是4)
面-法向量 :1个下标;
面-点-法向量 : 3个或4个下标;
面-颜色 : 1个下标;
面-点-颜色: 3个或者4个下标
比如:
42, 0,1,2, 0, 0,1,2, 0,1,2,
首位 42 = 00 10 01 10 = 四叉树 + 面带曲面 + vertex_uv + vertex_normal
很惊奇发现一个(可能的)bug:
three.js源码第12028和12087行附近,jsonloader对象中,少写了
hasFaceUv = isBitSet( type, 2 );
相关文章推荐
- Swift学习(JSON转Model)HandyJSON 的学习理解
- 浅谈django model postgres的json字段编码问题
- Swift学习(JSON转Model)HandyJSON 的学习理解
- 关于django model postgres的json字段编码问题
- Swift学习(JSON转Model)HandyJSON 的学习理解
- 我对Entity Data Model的一些理解
- Json Object转Model, Model、DataTable转Json Object (Jayrock技巧)
- webwork的property-driven 和model-driven的理解。
- 学习Model-Glue框架的系列教程-Building your first Model-Glue Application中文理解通俗版(前言)
- 学习Model-Glue框架的系列教程-Building your first Model-Glue Application中文理解通俗版(3)
- 多层架构模型中的BLL 与 Model的理解
- 学习Model-Glue框架的系列教程-Building your first Model-Glue Application中文理解通俗版(1)
- webwork的property-driven 和model-driven的理解。
- EXT核心API详解(七)-Ext.KeyNav/KeyMap/JSON/Format/DelayedTask/TaskRunner/TextMetrics/XTemplate
- 理解学习PHP编码规范之注释和文件结构
- 理解Activity State Model
- EXT核心API详解(七)-Ext.KeyNav/KeyMap/JSON/Format/DelayedTask/TaskRunner/TextMetrics/XTemplate
- EXT核心API详解(六)--Ext.KeyNav/KeyMap/JSON/Format/DelayedTask/TaskRunner/TextMetrics/XTemplate
- 字符编码理解
- JSON编码简介