mosra on line-rendering
es3 builds! (compare)
mosra on line-rendering
MeshTools: minor cleanup in a t… MeshTools: fix generateIndices(… MeshTools: check minimal vertex… and 11 more (compare)
mosra on line-rendering
er clean!! fix deprec build & no explicit … and 2 more (compare)
Containers::Pointer<Trade::AbstractImporter> importer = manager.loadAndInstantiate(args.value("importer"));
Is it possible to just get an arbitrary importer, without providing argments to the manager? Also, if two diferrent plugins are capable of loading file of same type, are they guaranteed to import same data from the file in the end or not?
Is it possible to just get an arbitrary importer, without providing argments to the manager?
loadAndInstantiate("AnySceneImporter")
is what you're looking for, docs (i should probably do that in the example directly, no reason not to)
if two diferrent plugins are capable of loading file of same type, are they guaranteed to import same data from the file in the end or not?
not in general, for example there's Assimp that claims to support all file formats in the world but in reality it crashes on half of them and has massive bugs with the other half ... the alternative implementations are provided so you can make a tradeoff based on whether you want something easy to integrate, as fast as possible, or with certain unique features
here is an overview of importer alternatives for most common formats, together with license info and caveats for each
possibly the easiest is to adjust your near and far plane (put near further away and far closer) so it fits the rendered scene as tightly as possible .. but if you have a complex scene the precision might still be too low
I tried the method, it works pretty fine for now. Thanks for your help
Error{}
because when you do CORRADE_INTERNAL_ASSERT_OUTPUT(GL::Shader::compile({ vert, frag }))
the program just goes into exception before letting the error stream flush to the console!! This should be noted in the docs!!!
Ahhh discovered the error. This Magnum feature:
https://doc.magnum.graphics/magnum/classMagnum_1_1GL_1_1Shader.html#GL-Shader-errors
breaks shader compilation on Samsung phones (it's a Mali-G72 in my case), with this error:
P0005: #version must be the first directive/statement in a program
Are you specifying a GLSL version for your shader? or Version::None
GL ES 300
ONLY for Android. For other systems is GL 330
. The problem is this #line 1
thing:just to clarify:
Version::GLES300
/ Version::GL330
to the constructor, which will add the #version
directive automatically (recommended)Version::None
and then add a #version
directive directly in the source... but if i understand what you're saying, you somehow get a #line
line followed by a #version
line? :O
NoCreate
d instance and then when you have GL context ready, move over a properly created instance
BUILD_PLUGINS_STATIC
set to ON
, yet I still get these two errors every time: PluginManager::Manager::Manager(): none of the plugin search paths in {magnum-d/importers} exists and pluginDirectory was not set, skipping plugin discovery
and PluginManager::Manager::load(): plugin AnySceneImporter is not static and was not found in
when building with MinGW, however when building with MSVC it seems to correctly find all plugins, what might cause such behavior?
I managed to edit the Magnum source
@FoNz99089892_twitter i'm saying, this exact scenario should work without having to patch anything, i even have a test case for exactly that: https://github.com/mosra/magnum/blob/dbec10dbee8cc3c2b560c6e7de9166c2b6d2f002/src/Magnum/GL/Test/ShaderGLTest.cpp#L195-L225
Look at the source I linked
the question is instead, how does your source look? because this is definitely possible and it only looks like you're doing something differently that results in a #line
getting inserted before your #version
;) can you show me how the shader gets constructed and populated?
@linuxaged Vulkan support (the low-level APIs) are mostly done right now, what's missing is mostly a bunch of convenience APIs for shaders
right now i'm focusing on vulkan- (batch-) friendly scene import, because without that using Vulkan makes little sense, WebGPU is planned for the next months if I get funding for it
list(APPEND CMAKE_PREFIX_PATH lib/lpng1637)
add_dependencies(MyApp MagnumPlugins::PngImporter)
Could NOT find PNG (missing: PNG_LIBRARY PNG_PNG_INCLUDE_DIR)
_FPHSA_FAILURE_MESSAGE
StbImageImporter
instead, that one is dependency-less
can you show me how the shader gets constructed and populated?
GL::Shader vert{ GL::Version::GLES300, GL::Shader::Type::Vertex };
vert.addFile("shaders/screen_quad.vert");
CORRADE_INTERNAL_ASSERT_OUTPUT(GL::Shader::compile({ vert }));
In realty, I have both vert
and frag
, but I'm showing you only vert
. Anyway, I managed to fix this problem, which I think it was due to some bad action I was doing. This is surely not Magnum's fault, I am sure. Also, this error happened only on Samsung devices... don't worry.
and the
screen_quad.vert
has a#version
line on its own or not?
Excuse me, but I now progressed with my game development, so I don't remember exactly. I can't give you exactly details, but I remember trying both with #version 300 es
and without. But I repeat: I think it was my fault for doing something bad. I don't remember now. Anyway thanks!
MSVC2019_COMPATIBILITY
related warning, might this be the reason why?
MSVC 2019 detected, automatically enabling MSVC2019_COMPATIBILITY. Note
that some features may not be available with this compiler.
GL::Mesh::addVertexBufferInstanced()
). It works, however it still requires looping on all objects for updating the instance data with new transformations (e.g. when the camera moves), which makes it slow. Is there a strategy to update the transformation of all the objects at once? I'm using the PhongGL shader