-
Notifications
You must be signed in to change notification settings - Fork 440
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Data import/export plugin improvements #146
Comments
Another thing to consider: Pixar's USD: http://graphics.pixar.com/usd/ it might be able to properly describe PBR and all other stuff that's required for (ahem) Pixar-quality scenes |
@alicemargatroid added that to the list, thanks! |
Added https://github.com/google/etc2comp to the list. |
|
Unique images in OpenGEX addressed quite some time ago in mosra/magnum-plugins@b677f90. |
Added http://www.alembic.io/ to the list. |
Added PNG/JPEG loading using WINAPI to the list. |
Added pbrt format importer, image converters/compressors and audio importers to the list. |
For the MP3 loader, I see that there's Since I'll have a need for a MP3 loader plugin in the near future, I'll look into making a |
Nice. I assume the API could be very similar to other |
Published from my internal TODO list in case someone would want to play with these.
Image and texture formats
Sdl2ImageImporter
using SDL2_image. It handles TGA, BMP, PNM, XPM, XCF, PCX, GIF, JPEG, TIFF, LBM and PNG in one package, so it might be a faster alternative toStbImageImporter
, although it does have dependencies onlibjpeg
and such, so not that portable. Don't know about platform support.Jpeg2000Importer
andJpeg2000ImageConverter
using JPEG 2000 -- compared to plain JPEG offers losless compression etc.OpenExrImporter
andOpenExrImageConverter
using the OpenEXR library for first-class HDR support. Currently the only supported input HDR format is (ahem) HDR (which is actually just RGB8 + a 8-bit exponent, so rather lossy) and there isMiniExrImageConverter
, but without any compression. -- mosra/magnum-plugins@22d1ec9TinyExrImporter
in case the above would be too painful to use on some platforms (https://github.com/syoyo/tinyexr)KtxImporter
for importing files in the Khronos Texture Format (there's a draft version 2 now, tooversion 2 only, don't care about v1) -- Trade: KTX importer magnum-plugins#103WebGLImageImporter
that "just" uses the builtin WebGL/browser functionality to directly load JPEGs etc. into textures (on Emscripten that apparently needs to go through files)OpenFile
but notOpenData
), also out-of-heap decodingDevIlImageImporter
using DevIL, supports a lot of formatsWould be a good replacement for both libpng and stb_image once CgBI support lands (Apple CgBI read support randy408/libspng#16)was closed as not planned*.ico
importer that delegates to PngImporter or BmpImporter for the actual data: https://en.wikipedia.org/wiki/ICO_(file_format)#Icon_resource_structure, storing different sizes as different mip levels (Trade: support mip levels in image import #369) -- New plugin: IcoImporter magnum-plugins#79std::regex
std::string
(heh, times changed since the above line got written, the bar is now EVEN HIGHER)Image converters, compressors, editors
DevIlImageConverter
using DevILEtc2ImageConverter
using https://github.com/google/etc2comppngcrush
/optipng
command-line utilities for compressing PNGs (or calls into Rust? https://github.com/shssoichiro/oxipng), finally something where the "file-only" converter APIs can get usedrgbcx
from https://github.com/richgel999/bc7enc, BC7 is better handled bybc7e
below (and what's the difference from https://github.com/richgel999/bc7enc16 ?)jpegtran
as a lossless JPEG image optimizer plugin (there's also https://github.com/cloudflare/jpegtran and https://github.com/tjko/jpegoptim (another frontend?))https://github.com/BinomialLLC/crunch (or the Unity fork of it)https://github.com/BinomialLLC/basis_universal for compressing GPU-compressed textures -- BasisImporter magnum-plugins#62DdsImageConverter
dynamically using the above BC compressorsIcoImageConverter
that uses aPngImporter
to pack data and then put them into an ico container (https://en.wikipedia.org/wiki/ICO_(file_format)#Icon_resource_structure), needs mip-level support (Trade: support mip levels in image import #369)Scene data
ObjImporter
in a way that's actually performant (for example zero-copy like in the OpenDDL parser), material support ([WIP] Rework ObjImporter to support more features #205)OpenGexImporter
-- currently each image file reference is taken as a new unique imageStlImporter
for the STL mesh format used by 3D printers, so we can have a viewer similar to what GitHub has -- mosra/magnum-plugins@da47affAssimpImporter
(notAssImporter
) for importing various things using the Assimp library. Besides others a proper COLLADA support, FBX and Blender import.pbrt
format used by the PBR book / pbrt -- especially the Moana Disney data set.vox
import: https://github.com/ephtracy/voxel-modelScene / mesh converters
Trade::AbstractSceneConverter
is in (Mesh Data rework #371).vox
(https://github.com/ephtracy/voxel-model)std::vector<Vec3>
sigh, no support for arbitrary attributesMeshPrimitive::Polygon
input, producesTriangles
, nothing else to be done thereAudio
minimp3dr_mp3 / PDMP3 loader (or just general MP3 support, we're no longer bound by patents) -- New DrMp3AudioImporter plugin using dr_mp3. magnum-plugins#60Video
Once appropriate IO APIs exist.
Shader converters
Shader validators / profilers / assemblers
Mainly for being able to look at a shader assembly without having access to the HW itself.
System::execute()
, output redirection, temporary file creation etcSystem::execute()
, output redirection etcText rendering
The text was updated successfully, but these errors were encountered: