Vladimír Vondruš
13c071a1aa
GL: allow to construct DynamicAttribute from VertexFormat.
6 years ago
Vladimír Vondruš
274fdc3813
GL: port away from MeshDataXD.
6 years ago
Vladimír Vondruš
53ef991c44
SceneGraph: port away from MeshDataXD.
6 years ago
Vladimír Vondruš
c8de337c06
Primitives: port away from MeshDataXD.
...
The internals don't use any std::vector anymore, only the icosphere
needs an std::unordered_map to do duplicate removal. Additionally, the
most simple primitives are now simply views on constant data,
being completely zero-allocation.
On a Mac this resulted in the dylib going down from 1.5 MB to 418 kB in
Debug, and from 129 kB to 90 kB in Release. Quite nice.
The tests are not ported away from MeshDataXD yet as I want to ensure
the behavior is *exactly* as before.
6 years ago
Vladimír Vondruš
006790969a
Trade, MeshTools: deprecate MeshDataXD and everything that uses it.
6 years ago
Vladimír Vondruš
16c3480d7f
MeshTools: implement compile() taking a MeshData.
...
Also add new variants that allow for external buffers.
6 years ago
Vladimír Vondruš
1e85279872
MeshTools: implement interleavedLayout().
...
This was originally meant to be an interleave() that operates on
MeshData, but later I realized I need the same logic in duplicate(), so
turned it into a private function. Now I am pretty sure I'll be using
this function in *many* importer plugins :D
6 years ago
Vladimír Vondruš
6ed0df26c6
Trade: mutable access in ImageData consistent with Animation/MeshData.
6 years ago
Vladimír Vondruš
0fd62194c8
Trade: mutable access in AnimationData.
...
Follows the change done in MeshData.
6 years ago
Vladimír Vondruš
8ea86b05f9
Trade: implement mutable data access in MeshData.
...
Turns out the design wasn't so simple after all. AnimationData and
ImageData classes will follow with similar changes.
6 years ago
Vladimír Vondruš
ecbe5718b4
Trade: a reworked MeshData class.
...
With API analogous to the (relatively) new AnimationData -- with one
buffer containing all index data and one buffer containing all vertex
data, both meant to be uploaded as-is to the GPU.
This will eventually replace MeshData2D and MeshData3D, backwards
compatibility and wiring up to other APIs will be done in follow-up
commits.
6 years ago
Vladimír Vondruš
87c2bc74fe
MeshTools: implement removeDuplicates() for discrete data as well.
6 years ago
Vladimír Vondruš
bae5eecf42
MeshTools: compressIndices() now takes also an offset.
6 years ago
Vladimír Vondruš
937689ea61
MeshTools: deSTLify compressIndices().
...
There's a lot to change with the current version -- the bloaty tuple,
the useless min/max, and compressing all the way down to 8 bits is not
desirable anymore either. The new function allows to specify a minimal
type to compress to and works also on 8- and 16-byte types, which makes
it possible to also inflate a smaller type into a larger one.
The old function is now deprecated.
6 years ago
Vladimír Vondruš
29f0fdb188
MeshTools: explicit generateSmoothNormals() overloads for each index type.
...
The templated version had the unfortunate "feature" of not being able to
figure out the type when an array view or a C array got passed to it.
That led to worse-than-ideal UX and even though it's now a bit more
verbose on the implementation side, it's the preferred solution.
6 years ago
Vladimír Vondruš
ea7259b424
MeshTools: add STL-free removeDuplicatesInPlace() & an indexed variant also.
6 years ago
Vladimír Vondruš
700d032d5d
doc: adapt to Corrade changes.
6 years ago
Vladimír Vondruš
d955908a38
GL: allow creating a Buffer and directly filling it with data.
6 years ago
Vladimír Vondruš
fa1176220b
doc: ugh, these pragmas were not meant to be rendered in the docs.
6 years ago
Vladimír Vondruš
bc99e6fa57
Math: improve docs for color (un)packing and sRGB conversion.
6 years ago
Vladimír Vondruš
43f5f06956
Math: avoid warnings when calling length() on an integer Vector.
...
Also update the docs to hint the result may be imprecise on integer
types, and suggest Manhattan length as well.
6 years ago
Vladimír Vondruš
5a3288154b
Platform: properly include SDL_main.h for iOS.
...
Got missed when cleaning up the 50kLOC header mess in
b73b9cb408 (Nov 2018). Sorry!
6 years ago
Vladimír Vondruš
7ced4740fd
Silence a bunch of macOS-specific warnings.
6 years ago
Vladimír Vondruš
926a921172
doc: suppress Clang warning in a snippet.
6 years ago
Vladimír Vondruš
02a6747b73
SceneGraph: show how to implement object culling on the drawable group.
6 years ago
Vladimír Vondruš
314cad0d89
Platform: document how to calculate content scaling in a x-platform way.
6 years ago
Marco Melorio
097289850a
Add toEuler() to Quaternion
7 years ago
Vladimír Vondruš
954798a9ba
Animation: allow mutable access to data referenced by TrackView.
...
This is a breaking change, sorry.
7 years ago
Vladimír Vondruš
de95eddb3f
Use the new Matrix4::normalMatrix() everywhere.
7 years ago
Vladimír Vondruš
607b3a15fa
DebugTools: finish ResourceManager singleton deprecation.
7 years ago
Vladimír Vondruš
52ff540407
Primitives: fix and make gradient function params consistent.
7 years ago
Vladimír Vondruš
6b64ee6240
doc: rewrite the Getting Started Guide to be better for Windows users.
7 years ago
Vladimír Vondruš
dbb4cb39a1
GL: improve Framebuffer usage docs.
7 years ago
Vladimír Vondruš
a0f0015211
Shaders: de-inline uniform setters.
...
Reduces includes in the header quite a lot, yay.
7 years ago
Vladimír Vondruš
9616273e18
Shaders: improve MeshVisualizer docs.
7 years ago
Vladimír Vondruš
c591f0b0c8
doc: assorted improvements, clarification and troubleshooting update.
7 years ago
Vladimír Vondruš
acc8d8994b
Math: added scatter(), renamed swizzle() to gather().
...
The swizzle() function is still present, only marked as deprecated and
scheduled to be removed in some future release.
7 years ago
Vladimír Vondruš
51fedbc967
doc/snippets: adapt to Corrade header cleanup.
7 years ago
Vladimír Vondruš
8587afaca7
GL: improve Attribute docs with clear integer/double unavailablility errors.
7 years ago
Vladimír Vondruš
0f7e1e8fad
Deprecate ResourceManager::instance().
...
If I would have done this a year ago, I could have it removed by now.
Well. Gotta look forward to 2020, then.
7 years ago
Vladimír Vondruš
110f8a37b9
doc: avoid horizontal scrollbars in Shaders code snippets.
7 years ago
Vladimír Vondruš
87ac8a8cd2
Shaders: support object ID output in Flat and Phong.
7 years ago
Vladimír Vondruš
c9d26a0628
doc: it doesn't make sense to use indexed outputs for this.
7 years ago
Vladimír Vondruš
f84a91ea06
DebugTools: improve CompareImage failure message.
...
The comparison is <=, so if it passes, it's not "below".
7 years ago
Vladimír Vondruš
a0232e8506
DebugTools: CompareImage can now compare against pixel views.
...
This is getting too good.
7 years ago
Vladimír Vondruš
081f784836
Platform: improve ScreenedApplication docs.
7 years ago
Vladimír Vondruš
249459d710
doc: work around another EGL include issue by including less.
7 years ago
Vladimír Vondruš
38ef891682
Doc++
7 years ago
Vladimír Vondruš
93789721b2
De-inline Image headers, remove dependency on ImageView.
...
This means users have to add some more #includes on their side. Sorry
but it's for your own good :P
7 years ago
Vladimír Vondruš
8791488f4a
MeshTools: show how generate*NormalsInto() can be used with std::vector.
7 years ago