Vladimír Vondruš
02525527a4
Shaders: ability to render instanced object ID in Flat/Phong.
6 years ago
Vladimír Vondruš
3759d26a7d
Shaders: NO, these are not layers.
6 years ago
Vladimír Vondruš
3b40d91f6c
DebugTools: added a few preset colormaps.
6 years ago
Vladimír Vondruš
1c51b98d76
Trade: new magnum-sceneconverter tool.
...
Currently provides just the --info option similarly to
magnum-imageconverter, nothing else.
6 years ago
Vladimír Vondruš
92655c7238
Trade: implement magnum-imageconverter --info.
...
Useful for inspecting unknown files.
6 years ago
Vladimír Vondruš
0df0bd58ef
Trade: improve docs of magnum-imageconverter.
6 years ago
Vladimír Vondruš
18f9581d4e
Trade: extract reusable code out of magnum-imageconverter.
...
Will be needed by magnum-sceneconverter as well.
6 years ago
Vladimír Vondruš
a7a0acd3a4
MeshTools: add a primitiveCount() utility.
...
I need it in magnum-player.
6 years ago
Vladimír Vondruš
c3299ad3c5
Trade: print a message when named thing is not found.
...
Otherwise it's hard to distinguish whether it's a particular importer
fault (failing without a message) or if the name is not found.
6 years ago
Vladimír Vondruš
4a6e5ff5a4
Trade: reduce needless duplication in AbstractImporter test.
...
Should have done this since the beginning, would save my carpal tunnels
a bit.
6 years ago
Vladimír Vondruš
081dd8981f
Doxygen, FFS.
6 years ago
Vladimír Vondruš
8085ebba09
Trade: fix tangent retrieval from four-component normalized types.
...
By accident this code path was not tested, and of course it had a bug.
6 years ago
Vladimír Vondruš
0c3a7fabae
Trade: recognize also Matrix3/Matrix4 types.
6 years ago
Konstantinos Chatzilygeroudis
1c3e386e35
Undef xlib nonsense to avoid conflicts
6 years ago
Vladimír Vondruš
171e8a5301
Shaders: remove MeshVisualizer default behavior.
...
It was rendering everything with a plain color, which is rather useless.
Moreover it wasn't consistent with TBN visualization where you might
actually want only the lines rendered and not the triangle.
6 years ago
Vladimír Vondruš
6299ece980
Shaders: test MeshVisualizer TBN direction defaults.
...
Now possible, with compile() supporting the new attribs and primitives
generating them.
Finally out of this cyclic dependency hell, yay.
6 years ago
Vladimír Vondruš
80c6fef7bf
MeshTools: handle generic Tangent and Bitangent attributes in compile().
...
A bit unfortunate that the test needs ES3.2 and GS, but I got nothing
better right now. Not handling ObjectId yet, for that I need to
implement instancing first (so yes, GCC/Clang will still warn about an
unhandled switch case).
6 years ago
Vladimír Vondruš
37373aaf35
MeshTools: minor.
6 years ago
Vladimír Vondruš
c01dc81d04
GCC 4.8, stay alive for a few more days please.
6 years ago
Vladimír Vondruš
c82a34c157
Shaders: doc++
6 years ago
Vladimír Vondruš
2a88a885c1
Primitives: tangents in the plane primitive.
...
This turned the primitive from being fully defined at compile time to
being mostly dynamically allocated. Keeping just the positions+normals
case defined at compile time, and splitting the function into two
overloads so the extra code can be DCEd when people call the function
with no flags.
6 years ago
Vladimír Vondruš
1e04dbcaba
Primitives: add a sanity assert.
6 years ago
Vladimír Vondruš
b16861693a
Primitives: tangents in the 3D grid primitive.
6 years ago
Vladimír Vondruš
1b776e13bc
Primitives: tangent support in the 3D circle primitive.
6 years ago
Vladimír Vondruš
a099a57464
Primitives: implement tangent generation in spheroid primitives.
6 years ago
Vladimír Vondruš
ca5beb432b
Primitives: make internal spheroid generator less rigid.
...
To allow introducing tangents and possibly other attributes. This means
the attribute data isn't defined at compile time anymore, but it
would make further additions too annoying to do due to combinatorial
explosion of all variants.
6 years ago
Vladimír Vondruš
ff3e771231
Primitives: use the exported growable allocator from Trade.
...
So the primitives can be used inside plugins without the risk of
dangling deleter pointers.
6 years ago
Vladimír Vondruš
1b21e4e7ba
Primitives: switch to an enum set for texturable primitives.
...
Making room for GenerateTangents in 3D, and keeping the 2D ones
consistent with 3D. Also renamed GenerateTextureCoords to
GenerateTextureCoordinates in the remaining places to be consistent with
naming in the rest of the APIs.
6 years ago
Vladimír Vondruš
5b569942b8
Shaders: tangent space visualization in MeshVisualizer3D.
6 years ago
Vladimír Vondruš
c880e6293a
Shaders: enable noperspective in MeshVisualizer properly.
...
This makes existing tests slightly broken, which is good (if it
wouldn't, the thresholds would be too huge). Since the addition of ES3.2
geometry shaders (which broke this) happened long before there were
rendering tests for shaders, this breakage wasn't caught until now. Of
course proper tests would include the perspective case from the previous
commit since the very beginning, but that's hard to do when you're
testing long after the code was written.
The test files are now RLE-encoded, which makes them significantly
smaller (tho I assume Git would further compress both anyway). Not
updating existing files to RLE yet to avoid repo history bloat, doing
that the next time they get changed.
6 years ago
Vladimír Vondruš
73b6d1084a
Shaders: test perspective interpolation in MeshVisualizer wireframe.
...
Broken, sigh.
6 years ago
Vladimír Vondruš
dd07145fa2
GL: add a GL::AbstractShaderProgram::maxGeometryOutputVertices() query.
6 years ago
Vladimír Vondruš
74c75178de
Shaders: add a 2D variant of MeshVisualizer.
6 years ago
Vladimír Vondruš
566713e68c
Shaders: improve MeshVisualizer docs a bit.
6 years ago
Vladimír Vondruš
dedf36941c
Primitives: hint on MeshTools for converting into indexed meshes.
6 years ago
Vladimír Vondruš
c5e70c40eb
MeshTools: ensure proper assert is printed in compressIndices().
6 years ago
Vladimír Vondruš
b785a8ac69
MeshTools: generateIndices() operating directly on a MeshData.
6 years ago
Vladimír Vondruš
b57a9f1027
MeshTools: tools for generating index buffers out of various primitives.
6 years ago
Vladimír Vondruš
99bc8deaf0
GL: reorder tests to match execution order.
6 years ago
Vladimír Vondruš
e455a6731a
GL: add a NoCreate Shader constructor.
...
It wasn't there because I thought it was not needed. I need it now.
6 years ago
Vladimír Vondruš
1a53976447
Shaders: delete duplicate code also in shader tests.
...
Half done in 2d1d9f4b29 , but these got
forgotten.
6 years ago
Vladimír Vondruš
fff1b6e5cf
Shaders: delete 8 kB of needless shader code.
...
I get the best ideas on the shitter. I should go there more often.
6 years ago
Vladimír Vondruš
3711125b7d
Animation: now that STL is gone, Player can be noexcept-movable.
...
Reverts 2c5f97dacd . Use C++, they said.
Trust the vendors, they said.
6 years ago
Vladimír Vondruš
b31d7b1f03
Animation: there's no need to use STL in Player internals anymore.
...
Keeping std::vector only in one documentation snippet to not confuse
users too much -- growable arrays are rather new, after all.
6 years ago
Vladimír Vondruš
9bb590280a
GL: keeping copy but deleting a move is ... just wrong.
...
I blame my 2013 self who didn't have so clear idea about move semantics
yet.
6 years ago
Vladimír Vondruš
a4020e3dbc
DebugTools: there are no binormals, only bitangents.
...
There's just one normal, but several tangents, so.
6 years ago
Vladimír Vondruš
f3a92c2afb
Shaders: rethink generic attribute allocation from scratch.
...
This adds binormals, object IDs and instanced transformation, but has to
break existing locations in order to provide new guarantees.
6 years ago
Vladimír Vondruš
159c4ece50
Trade: add a TODO.
6 years ago
Vladimír Vondruš
8a2a7e4547
Trade: implement support for object IDs in MeshData.
6 years ago
Vladimír Vondruš
5e02e0ce8d
Trade: support strided arrays in MeshData::indicesInto().
...
There's no point in restricting this.
6 years ago