Skip to content

A repository of build tools used to cook assets for use in PKRenderer.

License

Notifications You must be signed in to change notification settings

konstatoivanen/PKAssetTools

Repository files navigation

PKAssetTools

A repository of build tools used to cook assets for use in PKRenderer.

Features

  • GLSL To spriv compilation.
  • .obj to custom binary mesh format conversion.
  • Lossless file compression (Huffman encoding).

Shader Format

  • Converts glsl shader files to .pkshader files.
  • Supports multiple compilation (in source glsl: #pragma pk_multi_compile VARIANT0 VARIANT1).
  • The following attributes are parsed & stored from the source glsl:
    • Vertex attributes.
    • Descriptor sets.
    • Material property layout.
    • Rasterization parameters (blend mode, cull face, depth test mode, etc.).
    • multi compile keyword map.

Mesh Format

  • Converts .obj files to binary files (.pkmesh) containing interleaved vertex data, index buffer & vertex buffer attributes.
  • Optimizes output vertex & index buffers using zeux meshoptimizer.
  • Generates meshlets and a directed acyclic graph lod structure.

Planned Features

  • Add support for gltf conversion.
  • Implement some form of asset packaging.

Dependencies

About

A repository of build tools used to cook assets for use in PKRenderer.

Resources

License

Stars

Watchers

Forks

Packages

No packages published