智慧水务管理系统 - 精河县供水工程综合管理平台

util.d.ts 1.8KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import type { vec3 } from './constants-internal.js';
  2. import { type VKFormat } from './constants.js';
  3. import type { KTX2Container } from './container.js';
  4. /** Encodes text to an ArrayBuffer. */
  5. export declare function encodeText(text: string): Uint8Array;
  6. /** Decodes an ArrayBuffer to text. */
  7. export declare function decodeText(buffer: Uint8Array): string;
  8. /** Concatenates N ArrayBuffers. */
  9. export declare function concat(buffers: (ArrayBuffer | Uint8Array)[]): Uint8Array;
  10. /** Returns the least common multiple (LCM) for two positive integers. */
  11. export declare function leastCommonMultiple(a: number, b: number): number;
  12. /**
  13. * Returns amount of padding, in bytes, required to pad a value V to N-byte
  14. * boundaries. Both V and N must be positive integers.
  15. */
  16. export declare function getPadding(v: number, n?: number): number;
  17. /** Returns byte length per texel block. */
  18. export declare function getBlockByteLength(container: KTX2Container): number;
  19. /**
  20. * Returns total number of blocks for given level. For VK_FORMAT_UNDEFINED, DFD is required.
  21. *
  22. * References:
  23. * - https://github.khronos.org/KTX-Specification/ktxspec.v2.html#levelImages
  24. */
  25. export declare function getBlockCount(container: KTX2Container, levelIndex: number): number;
  26. /**
  27. * Given a KTX2 container, returns block dimensions as [width, height, depth]. Requires valid DFD.
  28. */
  29. export declare function getBlockDimensions(container: KTX2Container): vec3;
  30. /**
  31. * Given `vkFormat`, returns block dimensions as [width, height, depth]. Does not support
  32. * VK_FORMAT_UNDEFINED.
  33. *
  34. * References:
  35. * - https://github.khronos.org/KTX-Specification/ktxspec.v2.html#_mippadding
  36. * - https://registry.khronos.org/vulkan/specs/1.2-extensions/html/vkspec.html#formats-compatibility
  37. */
  38. export declare function getBlockDimensionsByVKFormat(vkFormat: VKFormat): vec3;