-
Notifications
You must be signed in to change notification settings - Fork 439
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
2024.0a release #453
Comments
More examples please 😋 |
@ttnghia yeah I know, sorry that I didn't merge your latest one yet 🙈 |
No problem 😄 Once I'm done with my job search (in another month or so), I may have more examples for you 😏 |
Were there plans to make a release in 2021 still? I'm not in any particular need of one, I just prefer to use official release when possible instead of some random commit (e.g. the sdl2 fix you helped me with earlier this year) |
I'd like to make one, yes. The reason why there wasn't any release since last year is that I'm unfortunately still busy on really huge features and I'd like to get them into a somewhat presentable state first, to have something to talk about in the release announcement. Those are:
Since a release is mainly a marketing booster for the project, announcing a new version with "look, there's a fancy new <thing> but please ignore it, it's not worth talking about yet" would be wasted effort :) I get your point tho, and sorry that it drags on for so long, fortunately Git master is always stable so relying on some random commit isn't a dangerous thing to do. |
Understood! Thanks for the explanation. I'm not in a rush, so no big deal to me. |
How much closer are you to a release? |
Of the three main tasks I mentioned in a comment above, it's the Vulkan stuff remaining. Plus the thousand tickboxes in the issue tasklist. |
Happy new year!!! Time to change title, lmao |
Opening early mainly to avoid forgetting the tiny but important things to do (in addition to all issues/PRs that are in this milestone). Goddamit this is growing fast.
EmscriptenApplication
,Sdl2Application
andAndroidApplication
-- a76b764, 755a551, 005d4c2:ref:
, backticks somehow don't work anymore -- mosra/magnum-bindings@be5ffddMeshTools::compile()
-- if a mesh has two texcoord sets, both get bound, which basically means the first get overwritten by the second one and that's not correct -- c357a44dart
in magnum-integration vcpkg package (uncomment, changedart
todartsim
and enable/permissive-
on msvc -- https://gitter.im/mosra/magnum/archives/2020/09/30)mesh = GL::Mesh{NoCreate}
,GL::Context::current()
is still accessed onmesh
destruction (needs to drop/rework the vector-based internals and turn them into a type-erased Array with a growable deleter of a concrete type, which will avoid the need to ask state tracker which code path to use) -- f7a6d79EXT
/OES_draw_elements_base_vertex
is broken (no-op?) on ANGLEmultidraw doesn't work on ANGLE due toEXT_multi_draw_elements
not implemented, use the ANGLE ext there instead - 5f184bbCORRADE_
/MAGNUM_
to make things less shitty for subprojects, provide some backwards compatibility to avoid breaking everything -- mosra/corrade@878624a, b983781 and similar commits in other reposINTEGRATION
, it's confusing otherwise_BINDINGS
I guess?src == dst
in Directory::copy() (needs to compare inodes to be robust) @Squareys--importer
every time I need to set some plugin options -- e6d673c-I
/-C
shortcut options for--importer
/--converter
to all tools -- 6be0248Importer
/SceneConverter
/ImageConverter
suffixesResourceManager, Resource (what is T and U, what is "resource state"... basically throw away everything existing and start from scratch)no, maintenance mode now"Light drawing" example in Drawable docs (based on what I have inno, maintenance mode nowmagnum-player
) -- or maybe do that directly in the viewer example once SceneData is in?AbstractImageConverter
/AbstractSceneConverter
classes -- 4a06f4dGL::Texture
documentation, show a basic single-mip case and then either uploading all mips (mention file formats that know it) or generating them; reference the exampleupdate docs about LIB_SUFFIXautodetect LIB_SUFFIX on new NDK versions, mention CMake 3.20 and an explicit FIND_ROOT_PATH on older versions -- bc0bb07Mac + ANGLE build, use a binary from Mac Angle magnum-ci#3actually running against SwiftShader would be better (and using it for Vulkan as well) -- 031d1ceTell travis to fuck offPort to travis-ci.com so we have usable PR reports againactually, yes, tell Travis to fuck offclang-cl
builds (done in magnum-extras already, needs to be done elsewhere as well)\r\n
fix is made, and if it actually fixes the strange misreported lines; if not then drop it altogetherand try re-enabling tests once STL usage is further trimmed down, especially in tests-- d81ea6bSwitch all SceneGraph examples to usenope, this lib is in maintenance mode nowaddChild()
/addFeature()
instead of nakednew
-- the original reason for this "being based off Qt" makes no sense nowadays (not that many people use or know Qt anyway) and feels strange, especially in cases when the expression result isn't used anywhereadd an option tono, deprecate that and turn it into standalone tools insteadcompile()
magnum-sceneconverter
String[View]
APIs returning a view should not be a noun because that sounds like the original object is modified (so nostripWhatever()
but ratherexceptWhatever()
) -- mosra/corrade@b310615what aboutthis is fine, as it kinda implies returning a resultjoin()
,split()
and such?ArrayView::except()
toexceptSuffix()
, do the same elsewhere and in StringView, and alsosuffix()
toexceptPrefix()
, withsuffix()
reserved for the future to take N chars at the end -- mosra/corrade@c6f3ec5ArrayView::isEmpty()
and similarly for others, deprecateempty()
-- mosra/corrade@6bebd0eUtility::Resource::get()
in favor ofgetString()
returning aStringView
so we can repurposeget()
to return anArrayView
and dropgetRaw()
-- mosra/corrade@64b922fcamelCase
orsnail-case
(former is consistent with existing options,latter looks better on the command-line --) -- decided to stay withmagnum-shaderconverter -fmax-struct-members=3 --validate a.spv
camelCase
because it's faster to type, dropping the-f
option as it's redundantEmscriptenApplication
doesn't implementModule.doNotCaptureKeyboard
WebApplication.css
to use classes instead of IDs (also, prefix with.magnum-
or some such?) EmscriptenApplication: custom canvas id, multiple applications on one page #480Module
properties EmscriptenApplication: custom canvas id, multiple applications on one page #480 (comment) -- should be now done for all HTML runners including examplesif(IN_LIST)
for component classification (integration, extras, bindings left)REASON_FAILURE_MESSAGE
in remaining Find modules (integration, extras, bindings left)dynCall()
not found with Emscripten 2.0.11 (happens when drawing anything)?? -- e65d6cfalso it seems like the fix broke the idling? ughnah, it works (Oct 2024)Matrix[34]::from(scale, rotation, translation)
in addition to the one combining just rotation and translationAlwaysOnTop
flag for Application classes (huh, already done for 2020.06, why this item is even here?!)Containers::Pair
because std::pair isn't trivially copyable and so Algorithms::copy() doesn't work on it, ffs (https://danlark.org/2020/04/13/why-is-stdpair-broken/) -- mosra/corrade@e9d43faPair
) -- 7f4500dGL::Context
remember the context handle it was created with, cache it in the struct and then if not the same when switching / whencurrent()
is queried, copy the data over? it won't handle all cases tho, GL symbols can be accessed even withoutGL::Context
involvement :(sys.setdlopenflags(flags | ctypes.RTLD_GLOBAL)
before importing magnum -- mosra/magnum-bindings@b4d437bSTB_GNU_UNIQUE
that's for the same thing? https://stackoverflow.com/questions/50402314/static-link-stdc-without-stb-gnu-unique-cause-memory-leak-when-dlcloselib
directory only on windows (https://github.com/microsoft/vcpkg/blob/b759049a36728d18260963799a56e6b19cb4a2ef/ports/magnum-plugins/portfile.cmake#L102-L103, same for magnum) -- Trouble loading plugins in Viewer demo magnum-examples#96, [magnum,-plugins] Fix deployment of plugin types and incorrect removal of plugin lib dir on unix microsoft/vcpkg#16245vcpkg installs sceneconverters to a wrong location on linux?!this is the desired behavior actuallyvcpkg/installed/x64-linux/lib/libMeshOptimizerSceneConverter.a
from
is a keyword in python and so having any python bindings with this name is stupid -- mosra/magnum-bindings@cbb5358magnum.shaders.Flat2D.<Flags.NONE: 0>
, thefuck?!), affecting doc builds -- mosra/m.css@c6707e1gl.Context.current()
causes an exception (no current context) when generating docs, patch to be a noop if running under m.css -- mosra/magnum-bindings@3218db2OTOH WebGL probably needs the ANGLE workaround as well (superfluous newline)no, logs are cleanaddFlags()
/clearFlags()
toAbstractImporter
,AbstractImageConverter
... APIs and encourage their use in order to prevent issues whenFlipY
gets added implicitly for images -- 29ac7b5NoError
in all apps,--magnum-gpu-validation no-error
as well -- 24138e2, 45ccf50Homebrew packages fail to build ifnot reproducible anymore, too long agobinutils
is installed -- reproduce, fix: https://gitter.im/mosra/magnum/archives/2021/03/04?at=6040d89fe8267a46f2efe1e6Quaternion::toEuler()
to aMatrix4
, since that's where it should live, add other variants of it (ZXY, ZYX, ...) and ensure they're really in the order that is advertised (e.g. this one is labelled as ZYX in threejs but it's actually XYZ)std::string_view
compat forStringView
,Debug
andformat()
-- mosra/corrade@cf0bd1f, mosra/corrade@e7ec9c5, mosra/corrade@46f74dc, mosra/corrade@1ce936cContainers/Tags.h
to root namespace as SIMD stuff will live there as well and we then don't need to put weird aliases to Magnum -- mosra/corrade@c0267deSceneConverter::convertToFile()
needs to be changed to(from, to)
, all others have it like this -- 06e039dOptional<Array>
instead ofArray
consistently withUtility::Path
API changes, otherwise it doesn't enforce proper error handling -- 51f7862 (font converters have a TODO for later)Color3
setter that uses alpha=0 (the default conversion to Color4 will set it to 1, breaking alpha-blended materials)MeshTools::generate{Flat,Smooth}Normals()
operating directly on MeshData, because it's too inconvenient to not have itcompile()
flipFaceWindingInPlace()
andflipNormalsInPlace()
magnum-sceneconverter
MeshTools::generateTrivialIndices()
that outputs 0, 1, 2, 3... -- 6733550MeshTools::generateIndices()
if the mesh is non-indexed, make it a passthrough if already indexed -- 9d99e00arrayRemoveUnordered()
that swaps the hole with the last value instead of moving everything after for containers that don't need to preserve order -- mosra/corrade@c9089f7should I go witharrayRemoveAt()
for removing by index and reservearrayRemove()
/arrayRemoveAll()
for removing by value?arrayRemove()
is shorter and thus should do the faster operation, go witharrayRemoveValue()
for a version that performs a lookup first?arrayClear()
blocks DDS and KTX2 import/export (Trade: KTX importer magnum-plugins#103)ValueInit
/NoInit
[Compressed]Image
constructors that allocateTrade::AnimationTrackTargetType::ImageLayer
for animated image support, and possibly others to prepare for the new glTF extensionStbImageImporter
to use thisAnimationTrack
MeshAttributeData
AnimationData
constructors less annoying ("backport" the newly learned usability features fromMeshData
andSceneData
) -- 94e9961Trade::TextureType
values -- 4c4b259Cube
/Array
flags to all image classes, adapt Basis, DDS, KTX and EXR plugins to use them (details in Trade: KTX importer magnum-plugins#103) -- f14e15cYDown
/YUp
,ZForward
/ZBackward
, for X as well, with both being set meaning the GL variant and none meaning "any"; enforce in GL upload functionsT
inimage.pixels<T>()
actually matches the format to avoid accidentally interpreting the data as some completely different type that only coincidentally happens to have the same size and thus passes the current assertionPixelFormat.h
, not nice :/ImageView
s toAbstractImageConverter
to support mip level export (blocks Trade: KTX importer magnum-plugins#103) -- 11268c6BasisImageConverter
for this -- Upgrade Basis plugins to 1.15 magnum-plugins#112OpenExrImageConverter
+OpenExrImporter
for this -- mosra/magnum-plugins@21698e9MaterialData
values (images, meshes, ... all have this already, so why not materials) -- 78cf81bglTF Vertex color import broken AssimpImportertheir bug (floats get extracted as shorts??), I can't fix the world"$Layer"
inMaterialData
to" Layer"
to avoid conflicts with attributes starting with$
, whitelist a whitespace for just this case alone (unblocks AssimpImporter: support PBR magnum-plugins#91) -- aeeff73Color3::fromInt()
that doesn't go through sRGB decoding, make it named weirdly so it's not accidentally used in sRGB-correct workflows (fromLinearInt()
?) -- 4a87a0bColor3::from[Srgb]HexString(Containers::StringView)
(name?), implement it in a cpp (for all types??) to avoid theStringView
includeto[Srgb]HexString()
? returning a String?ughactually why not, it's SSO'd[compressed]PixelFormatName()
,vertexFormatName()
,meshIndexTypeName()
,*ForName()
in importer APIs for better support of custom formats"nonexistent"
to the constructor, which is shitty)copysign()
,signbit()
scalar/vector utils in MathGL
suffix toText::GlyphCache
,Text::DistanceFieldGlyphCache
andTextureTools::DistanceField
-- 2f3d7c0, 42342cdPluginManager
internals to do just onedlsym()
, not seven thousandAny*
, such use case is no longer supportedNanoseconds
inAnimation
APIs and elsewhereTimeline
setMinimalLoopPeriod()
-- ba0fbe3TimeQuery
_rgb
and vice versaJsonTokenRef
or some such, to avoid accidents withJsonToken
being copiedANSI_COLORS
should be just on Windows)GlslangShaderConverter
,SpirvToolsShaderConverter
,OpenExrImporter
,OpenExrImageConverter
,GltfImporter
,GltfSceneConverter
,StbResizeImageConverter
,StbDxtImageConverter
,AstcImporter
,SpngImporter
,UfbxImporter
,BcDecImageConverter
,EtcDecImageConverter
, ...)SceneTools
,ShaderTools
,MaterialTools
, others?)magnum-shaderconverter
, others?)EmscriptenApplication
on Emscripten instead of SDL2: Update vcpkg packages to include EmscriptenApplication on Emscripten #607The text was updated successfully, but these errors were encountered: