p-otto / glkernel

C++ library for pre-computing noise, and random sample-kernels.
MIT License
0 stars 0 forks source link

plan and discuss kernel export capabilities #4

Closed cgcostume closed 6 years ago

cgcostume commented 6 years ago

This issue should be used to gather information on what kernel formats we should export.

cgcostume commented 6 years ago

png and tga allow for custom data areas which could also be used, but i would favor an additional file since it is harder to find or adapt a png/tga reader that supports custom data than parsing an additional custom file.

cgcostume commented 6 years ago

the meta data should comprise:

j-beyer commented 6 years ago

As commented by @p-otto in #1, we will first target the JSON export format. We will most likely use the cppexpose JSON pretty-printing for that purpose.

Afterwards, we will focus on one of the image formats, as this is probably the most beneficial export type. Here we still need to discuss, which format to choose - this also depends on what libraries we can use. We noticed that glraw uses Qt to work with PNG data, however we are not sure if this would be too large of a dependency to use. Another option would be to only allow PNG export if another dependency wrapping the Qt dependency is present to avoid overhead if e.g. only JSON export is needed.

Together with the images we will work on generating the .kernel meta data. For this purpose, we still need to discuss whether we will include some dependency for text file formatting, or if we implement the printing part ourselves.

If we manage to get to milestone 4, we plan to also add .h snippet export.

p-otto commented 6 years ago

We will export .png with libpng. We will not support .raw since it can be generated from PNGs with glraw.