-
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
2020.06 release #411
Comments
Regarding TextureTools::atlas() there are two suggestions: And I wanted to bring you attention to additional stuff that might give you ideas later on the road: //Edit Best regards |
@ytain thank you! Yes, that thing from TeamHypersomnia is what I wanted to implement, as it's pretty small at its core. Serialization (or its beginnings at least) will be done as part of #371. I really wanted to try something totally different here (with deserialization taking exactly 0 instructions), will see how it goes. |
This might be or not be a stretch, but it could be interesting: through MoltenVK you might be able to add Metal as a render target, making the iOS/Mac support better since Apple is now so heavily pushing Metal (even deprecating OpenGL). Just an idea - it would be really interesting since mobiles are our primary target and Magnum seems really great :) |
@Velocity- That's the plan, in fact :) Though probably won't fit into this release, the list above is quite long already. |
You should have a logo printed up of that, happy to put that in the README of the project. ^__^ |
With regard to framegraph stuff that I mentioned in an earlier post of mine in this thread, you can see the benefits of using a framegraph approach to make a performant 3d engine. Case in point, there's a graph showing which GPU states are expensive when changing: https://computergraphics.stackexchange.com/questions/37/what-is-the-cost-of-changing-state/46#46 Best regards |
🎉 All done, finally. Release notes here: https://blog.magnum.graphics/announcements/2020.06/ |
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_DPICHANGED
event 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_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)assert(false)
in the constructor does the same -- 8af1f6aAnd Unable to import APK through Android Studio toolchains#11postponedKHR_mesh_quantization
support in TinyGltfImporter (so we support all data types) -- mosra/magnum-plugins@80028f6KHR_texture_transform
in 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 != 0
in 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 fixupspostponedNeedspostponedCgltfImporter
because 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()
returningfalse
directly, 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-imageconverter
without doing anything else -- 92655c7sceneconverter
with the same -- 1c51b98The text was updated successfully, but these errors were encountered: