Vladimír Vondruš
a93d221c12
Trade: this comment no longer makes sense.
...
Should have been dropped alongside the changes in
270e93e134 already.
4 years ago
Vladimír Vondruš
36c23db9af
Trade: doc++
4 years ago
Vladimír Vondruš
96f4dd077f
Trade: the comma in this assert feels weird.
4 years ago
Vladimír Vondruš
68d15bd8d0
Trade: fix SceneData field containment checks for negative strides.
...
Why didn't I think of extracting the common code earlier?
4 years ago
Vladimír Vondruš
f685673be9
Trade: verify negative SceneData strides with offset-only fields also.
...
Yay, works!
4 years ago
Vladimír Vondruš
cad13c9f40
GL,Vk: clarify behavior with implementation-specific type/format values.
...
It may soon start happening that those will have an
implementation-specific value that is neither a GL or a Vulkan
identifier, so people should not just pass them around without checking.
4 years ago
Vladimír Vondruš
69b6ebd2f5
MeshTools: assert on impl-specific vert format in transform*().
4 years ago
Vladimír Vondruš
ce2ca47a81
MeshTools: assert on impl-specific vert format in removeDuplicates*().
...
It was already done in removeDuplicatesFuzzy(), so just make it
consistent with the rest (shorter message, listing also the offending
attribute index).
4 years ago
Vladimír Vondruš
0119d614a5
MeshTools: test that owned() works with impl-specific vert formats.
...
Yes it does!
4 years ago
Vladimír Vondruš
8ae8603d7a
MeshTools: assert on impl-specific vert format in interleave*().
...
Haha, I even had a TODO here. An exception in this case is when the mesh
is already interleaved -- then the layout is kept intact and thus it's
not needed to know what vertex format sizes to repack.
4 years ago
Vladimír Vondruš
c489ea738f
MeshTools: assert on impl-specific vert format in duplicate().
4 years ago
Vladimír Vondruš
40acab4e37
MeshTools: assert on impl-specific vert format in concatenate*().
4 years ago
Vladimír Vondruš
cef7f44903
MeshTools: assert on impl-specific vert format in combine*Attributes().
...
This asserted on some random nondescript hard-to-track-down place
before, which wasn't great. Also explicitly listing the requirement in
the docs.
4 years ago
Vladimír Vondruš
d5927a9fb6
MeshTools: fix outdated naming in a test.
...
VertexFormat used to be an (excessively long) MeshAttributeType and
apparently I didn't clean up all cases yet.
4 years ago
Vladimír Vondruš
a72b4039f8
MeshTools: clarify behavior of impl-specific MeshPrimitive in compile().
4 years ago
Vladimír Vondruš
e75c089f10
Vk: doc++
4 years ago
Vladimír Vondruš
db5ac5f8c1
Document MeshIndexType equivalents in D3D and Metal.
...
It was done for PixelFormat, VertexFormat and MeshPrimitive already, not
sure why not here.
4 years ago
Vladimír Vondruš
812e93ae94
Doc++
4 years ago
Vladimír Vondruš
80a679ba93
Minor code motion.
4 years ago
Vladimír Vondruš
042f28a90e
GL: hook up EXT_texture_sRGB_RG8 for desktop GL as well.
...
Was browsing the extension registry looking for something else and found
this instead. It used to be ES catching up with desktop, now it's the
other way around.
4 years ago
Vladimír Vondruš
a146f9f74b
sceneconverter: add an --concatenate-meshes option.
...
Highly experimental and very assert-y, as it doesn't handle mesh
primitive / attribute type incompatibility or conversion of
loops/strips/fans to indexed meshes yet.
4 years ago
Vladimír Vondruš
86db988a0c
sceneconverter: skip refcounting in --info when there's no refeeree.
...
Should have been done in f10d74041b
already, but somehow I failed to test for this case -- if there are no
scenes (materials/textures), it doesn't make sense to print reference
count for cameras/meshes/lights (textures/images).
4 years ago
Vladimír Vondruš
44cce23595
SceneTools: hint at MeshTools::transform*D() in flattenMeshHierarchy().
4 years ago
Vladimír Vondruš
efa206b9f4
MeshTools: doc++
4 years ago
Vladimír Vondruš
6ba8695668
AnyImageConverter: whoops, again didn't test the correct path here.
...
Good thing the coverage reports exist.
4 years ago
Vladimír Vondruš
8ed08d7733
SceneTools: use a single temp allocation in flattenMeshHierarchy().
4 years ago
Vladimír Vondruš
eb2e4ff25d
SceneTools: make orderClusterParents() use one allocation instead of 4.
...
Mmm. I wonder how much will future mosra hate me for making this code so
obfuscated.
4 years ago
Vladimír Vondruš
f053ffeb15
SceneTools: remove one more allocation in orderClusterParents().
4 years ago
Vladimír Vondruš
99d82f5e62
SceneTools: we don't need growable arrays in orderClusterParents().
4 years ago
Vladimír Vondruš
a40c721fac
MeshTools: a family of transform*() APIs operating on a MeshData.
...
And doing all the automagic of unpacking packed types, converting
positions *and* normals/tangents/bitangents, and also an overload for
transforming texture coordinates.
Such a simple thing and yet so complex and nasty to test.
4 years ago
Vladimír Vondruš
3869e7616a
Trade: add MeshData::findAttributeId().
4 years ago
Vladimír Vondruš
b0477013f0
SceneTools: utility to flatten mesh hierarchy.
...
Internals doing a few rather big allocations, will convert that to just
a single one in a next step.
4 years ago
Vladimír Vondruš
72d20475c6
Trade: add SceneData::transformationFieldSize().
4 years ago
Vladimír Vondruš
82ff79324c
Trade: rename internal helper for consistency.
4 years ago
Vladimír Vondruš
a802d6cd11
SceneTools: utility to reorder & cluster the parent field.
...
Useful for calculating hierarchic transformations.
4 years ago
Vladimír Vondruš
db80262fed
SceneTools: shorten test name to make ctest output fit in 80 columns.
4 years ago
Vladimír Vondruš
aff4a8144d
Trade: move the internal scene conversion tools to SceneTools.
...
No functional change, just splitting them to two separate headers and
two separate tests. These will eventually become public SceneTools
APIs... once I figure out better naming.
4 years ago
Vladimír Vondruš
aaeca5c855
doc: utilities don't require their dependencies to be enabled.
...
Probably a leftover from when these dependencies were handled in a
much shittier way? For as long as I remember, enabling WITH_GL_INFO
always enabled WITH_GL and WITH_WINDOWLESSWHATEVERAPPLICATION
implicitly.
4 years ago
Vladimír Vondruš
3c86222245
sceneconverter: move its source to the SceneTools library.
...
Because that's where it was meant to belong since the beginning.
4 years ago
Vladimír Vondruš
b389f9b6a4
Minor cleanup.
4 years ago
Vladimír Vondruš
1032a09865
SceneTools: new library.
...
Nothing to see here so far.
4 years ago
Vladimír Vondruš
ee0a4c7612
Trade: use the fancy new slice() API for pairs and triples.
...
Eh, it's a bit verbose due to the decltype and the explicit template
needed by ancient compilers but still better than the original.
4 years ago
Vladimír Vondruš
663c9e17b7
ShaderTools: err, I suppose there's a reason why the define is here.
...
To not make Doxygen think this is where all the types are defined.
4 years ago
Vladimír Vondruš
da3a36978b
ShaderTools: this file is also "new".
4 years ago
Vladimír Vondruš
9f69babfdd
Trade: GCC 11, your warning is again useless.
4 years ago
Vladimír Vondruš
72f686377e
Trade: doc++
4 years ago
Vladimír Vondruš
e08efa62a1
Trade: disallow empty MaterialAttributeData names.
...
Overlooked during the initial design -- it'd sort before " LayerName",
which is undesirable.
4 years ago
Vladimír Vondruš
1c27ee587b
GL: fix Mesa detection on AMD cards.
...
There it doesn't report Mesa in the renderer, but only in the version
string. Broken since d0f57f0153 .
4 years ago
Vladimír Vondruš
fb51f25a7b
Math: workaround rounding errors in assert tests in latest GCC (glibc?).
...
Only in release. One of the number now had 6 at the end instead of 5.
Not my problem, so using a different angle to hopefully circumvent that.
4 years ago
Vladimír Vondruš
9fbc637f76
AnyImageConverter: recognize KTX2 for basically all image types.
4 years ago