QtCS2017 Textures in QQ2

From Qt Wiki
Revision as of 12:19, 9 October 2017 by Peppe (talk | contribs) (Created page with "== Tooling == * IP situation: unclear * Do we design our tools, or do we just "consume" the output of such tools? ** Extreme variability in those tools, they were not built f...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Tooling

  • IP situation: unclear
  • Do we design our tools, or do we just "consume" the output of such tools?
    • Extreme variability in those tools, they were not built for being used by a master tool
    • What do game companies do?
    • Decision -> consume. Launch 3rd party tools

Hardware support

  • Should we build a knowledge DB of which formats are _really_ supported by hardware?
    • With APIs?
    • For embedded and desktop: build a small tool to detect the best format for a given platform
    • For desktop: less of a "huge" issue, we can settle for a format which is good enough, but how to ship better formats if the target supports them? Download from network? Same kind of "tool" but with an API

Texture consumption

  • QQ2 and Qt3D have already some support, but it's different
    • Move common code to QtGUI
  • Should we create another element than Image (CompressedImage)?
  • Should we use a custom scheme + custom image provider?

Atlassing

  • Build our own tool that does it
  • Output: texture pages + metadata
  • Should it be the same tool that does compression? Probably not (simpler)
  • Perform extra optimizations on top of atlassing: removing transparency, splitting, etc.

Build systems

  • How to identify which files need to be atlassed+compressed? And how to be atlassed?
    • Its own file format
  • How to identify the compressed format?
    • Get a good guess from the mkspecs
    • COMPRESSED_FORMAT = iphone-6 etc2
  • How to ship the products of the compressor/atlassing?
    • QRC
    • Binary format but not bundled in the executable (and deploy)
    • Build by-product for lated deployment (download, etc.)