You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Install 3rd party cmake find modules along with Magnum, to magnum's own dir so they don't conflict (and then add this dir to module path so these are found) postponed,
Math::angle() returns NaN for similar vectors, fix similarly to
There's yet another corner case when mixing textures and buffers because my state tracker doesn't have 100*18 fields for all texture types times all texture binding points FFS GL FFS -- 36f51e3
Look into plugin directory issues when building against brew-installed magnum/plugins (make default PLUGIN_DIRECTORY setting empty and pick it up first) -- mosra/corrade@a119b35, 4090a88
Make libPNG / libJPEG version mismatch checks in plugin code non-fatal (check with homebrew libjpeg and libjpeg-turbo to be sure) nope, keeping them fatal -- in case of libJPEG this is a decoding error which we can't skip, in case of libPNG we'd need to fake the version string, which would work against the API that's there in the first place
Move key/button/... enums to the base Application class to things like keyState(Key) are possible postponed as i don't have a good idea about the naming
Mention sequentity and https://github.com/fgoujeon/ternarii in Community Features a new Community Showcase Powered By Magnum page, along with other projects
Use glfwGetWindowContentScale() for getting virtual DPI scaling on windows when we have GLFW 3.3+ at least (and make the original just physical (and also complain that glfw is too old when trying to use virtual on 3.2 and below)), but keep the original handling for Linux as it's also used in Sdl2App and many Linux distros still have just 3.2 -- 444b925
GlfwApplication seems to be firing viewportEvent() / WM_SIZE event on Windows long before the event loop gets entered (repro case -- move Configuration into the constructor), possible workaround would be to suppress the events before mainLoopIteration gets calledpartially worked around by ignoring the first-ever viewport event (c17f5a0)
needs a better fix (setting up the callback only after constructor ends), otherwise assert(false) in the constructor does the same -- 8af1f6a
fixed border classification in meshoptimizer master could improve simplification artifacts? not really
Texture coordinate support in the cube primitive (one with a single texture for all faces, one with a center strip and two "ears" up and down, one packing six faces) potponed
Make a DDS converter that can contain the BC6H data postponed, rather invest time into KTX2
Zero-copy import for gltf so we can operate on the data in-place (Zero-copy importer plugin APIs #240) -- just a MVP, glb only, as I need it for the dataset fixups postponed
Needs CgltfImporter because tinygltf can't be helped :/ postponed
A non-crappy TextureTools::atlas() (I have some links somewhere, don't remember where) --
with binary search that aims to fit into the smallest rectangle, plus trying a few sorting strategies, picking the one that fits best (don't need an incremental version yet, it's again just for the dataset fixups) postponed, links saved to Text rendering improvements #143
mesh.draw(shader) -> shader.draw(mesh), also the xfb and MeshView version, deprecate the original -- 32d49db
exit(0); in Application constructor should exit immediately after constructor ends, not process events or other stuff (mainLoopIteration() returning false directly, basically), document that it's a clean way to exit (compared to std::exit()) and suggest return exit(0) -- exit from constructor #429, 2149e78
Make "globals shared across SOs" work for flextGL-generated function pointers in progressb580458, postponed, apparently works only with pointers and i'm not sure of the cost of the additional indirection
Make the cone primitive properly smooth (how?!) postponed
Should have been 2019.12, but hey -- I took a (semi-)break and survived until 2020!
There's a ton of little things, so better list them so I don't forget:
version.h/versionPlugins.h/versionExtras.h... everywhere -- mosra/corrade@7e0c03d, 293f092make ImGuiIntegration work with cmake-enabled add_subdirectory'd imgui? rAum/magnum-integration@d5e3dadpostponedlook at imgui in dynamic build (ImGui Integration with vcpkg magnum-integration#67)postponedInstall 3rd party cmake find modules along with Magnum, to magnum's own dir so they don't conflict (and then add this dir to module path so these are found)postponed,magnum/src/Magnum/Math/Quaternion.h
Lines 178 to 202 in a78cdc2
ImageData::pixels()etc. rely on strided array view included before the header -- forward-declare arrayCast to avoid that -- cd7d080<=magnum/src/Magnum/Resource.h
Line 288 in a211873
Make libPNG / libJPEG version mismatch checks in plugin code non-fatal (check with homebrew libjpeg and libjpeg-turbo to be sure)nope, keeping them fatal -- in case of libJPEG this is a decoding error which we can't skip, in case of libPNG we'd need to fake the version string, which would work against the API that's there in the first placeMove key/button/... enums to the base Application class to things likepostponed as i don't have a good idea about the namingkeyState(Key)are possibledisable upgrading (uhhh).brew unlink python@2(uhhh)Community Featuresa newCommunity ShowcasePowered By Magnum page, along with other projectsFinish growable arrays (arbitrary insertion / deletion)postponed, Compilation time, CI time and executable size improvements #293postponed to DPI change events in Sdl2App and GlfwApp #423WM_DPICHANGEDevent on GLFW 3.3 & Windows (Correct out-of-the-box HiDPI support in SDL, GLFW and Android apps #243), check also Mac with multiple differently dense monitorsglfwGetWindowContentScale()for getting virtual DPI scaling on windows when we have GLFW 3.3+ at least (and make the original just physical (and also complain that glfw is too old when trying to use virtual on 3.2 and below)), but keep the original handling for Linux as it's also used in Sdl2App and many Linux distros still have just 3.2 -- 444b925WM_SIZEevent on Windows long before the event loop gets entered (repro case -- move Configuration into the constructor),possible workaround would be to suppress the events before mainLoopIteration gets calledpartially worked around by ignoring the first-ever viewport event (c17f5a0)assert(false)in the constructor does the same -- 8af1f6aAnd Unable to import APK through Android Studio toolchains#11postponedKHR_mesh_quantizationsupport in TinyGltfImporter (so we support all data types) -- mosra/magnum-plugins@80028f6KHR_texture_transformin TinyGltfImporter -- mosra/magnum-plugins@7345d78MeshTools::compile()-- 80c6fefTangent/bitangent generation using http://www.mikktspace.com/postponedMeshTools::compile()-- ea3bcb6object_id) / glTF (_OBJECT_ID)MeshTools::owned(),MeshTools::reference()becauseconcatenate()is not good for that, update all code that used it like that before -- fdb754bstride % 4 != 0in MeshOptimizer -- mosra/magnum-plugins@12c2132fixed border classification in meshoptimizer master could improve simplification artifacts?not reallyTexture coordinate support in the cube primitive (one with a single texture for all faces, one with a center strip and two "ears" up and down, one packing six faces)potponedExtend format support in DDS (Support all formats, cubemaps and arrays in DdsImporter, make it more robust magnum-plugins#67)postponed as it needs the CompressedImage APIs to be aware of data sizesMake a BC6H converter plugin using something from Data import/export plugin improvements #146not really a priority anymore, postponedMake a DDS converter that can contain the BC6H datapostponed, rather invest time into KTX2Zero-copy import for gltf so we can operate on the data in-place (Zero-copy importer plugin APIs #240) -- just a MVP, glb only, as I need it for the dataset fixupspostponedNeedspostponedCgltfImporterbecause tinygltf can't be helped :/A non-crappypostponed, links saved to Text rendering improvements #143TextureTools::atlas()(I have some links somewhere, don't remember where) --with binary search that aims to fit into the smallest rectangle, plus trying a few sorting strategies, picking the one that fits best (don't need an incremental version yet, it's again just for the dataset fixups)
mesh.draw(shader)->shader.draw(mesh), also the xfb and MeshView version, deprecate the original -- 32d49dbexit(0);in Application constructor should exit immediately after constructor ends, not process events or other stuff (mainLoopIteration()returningfalsedirectly, basically), document that it's a clean way to exit (compared tostd::exit()) and suggestreturn exit(0)-- exit from constructor #429, 2149e78Make "globals shared across SOs" work for flextGL-generated function pointers in progress b580458, postponed, apparently works only with pointers and i'm not sure of the cost of the additional indirectionMake the cone primitive properly smooth (how?!)postponedfixpostponed, Mitigate catastrophic cancellation in cross products and other code #435Math::cross()catastrophic cancellation according to https://pharr.org/matt/blog/2019/11/03/difference-of-floats.htmlupdate basis plugins for UASTC support -- Update Basis Universal plugin for UASTC magnum-plugins#86postponed, the new version crashes even on the most trivial tests, meshlets and serializationfrom Scene data serialization #427 -- https://blog.magnum.graphics/announcements/new-geometry-pipeline/Stretch goals:
Minimalinstancing in Phong/Flat -- a1f1f66, 55685eawhich can also take texture coordinates of a 3D mesh and visualize the UV layoutpostponedOutlier removal inpostponedDebugTools::CompareImage(also visualize those somehow .. with a box?)Aligned allocation (postponedUtility/Memory.h, which could be used for stuff like magic ring buffers or non-reallocating arrays in the future also)magnum-imageconverterwithout doing anything else -- 92655c7sceneconverterwith the same -- 1c51b98