antvis / g-device-api

A Device API references WebGPU implementations
https://observablehq.com/@antv/g-device-api
8 stars 1 forks source link

支持压缩纹理读取 #199

Open xiaoiver opened 1 month ago

xiaoiver commented 1 month ago

需要支持压缩纹理的载入,期望用法如下:

const texture = device.createTexture({
  format: Format.BC1, // 压缩格式
  width,
  height,
  usage: TextureUsage.RENDER_TARGET,
});
texture.setImageData([data]);

目前 WebGL Device 实现默认已经尝试开启扩展 WEBGL_compressed_texture_s3tcWEBGL_compressed_texture_s3tc_srgb

https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Compressed_texture_formats https://loaders.gl/docs/modules/textures/api-reference/compressed-texture-loader https://toji.github.io/texture-tester/

Issues-translate-bot commented 1 month ago

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


Title: Support compressed texture reading

xiaoiver commented 1 month ago

另外,如果尝试为压缩纹理生成 mipmap 会报警告:

[.WebGL-0x11800c76500] GL_INVALID_OPERATION: Texture format does not support mipmap generation.
Issues-translate-bot commented 1 month ago

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


In addition, if you try to generate a mipmap for a compressed texture, a warning will be reported:

[.WebGL-0x11800c76500] GL_INVALID_OPERATION: Texture format does not support mipmap generation.