Skip to content

s3mb压缩纹理长度不够 #31

@xiaoch11

Description

@xiaoch11
  1. 执行S3ModelParser.parseBuffer时,执行到parseTexturePackage这一步,得到的texutrePackage里纹理长度宽度分别为1024,格式为RBG_DXT1(33776),compressType为31,数据长度dataSize为158813
  2. 执行S3MContentParser.parse时,创建压缩纹理并上传,在DDSTexture.init中会调用Cesium.PixelFormat.compressedTextureSizeInBytes来计算纹理数据的字节长度,计算结果为524288,与瓦片数据中的数组长度158813差距巨大,导致下一行代码创建新的Uint8Array时长度不够,引发报错RangeError: Invalid typed array length: 524288
  3. 数据version为3
    此数据使用超图的SuperMap3D jssdk是可以正常解析加载的,但使用cesium+S3MLayerPlugin会出现上述问题

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions