Vladimír Vondruš
07b3253714
GL: make it possible to read pixel data into mutable image views.
...
UGH I hate cube maps and all the driver bugs that make them so freaking
annoying to implement.
7 years ago
Vladimír Vondruš
1b7c2d9666
Use Basic[Mutable]ImageView aliases instead of nondescript raw types.
7 years ago
Vladimír Vondruš
41b975cb69
New Mutable[Compressed]ImageView types for non-const image data views.
7 years ago
Vladimír Vondruš
3d5f7b9a3c
Make r-value [Compressed]Image[Data]::data() return an Array.
...
Instead of them being deleted. This was not possible in the times where
GCC 4.7 compatibility was a thing, but now that's long gone.
And of course I forgot the l/r-value overloads on CompressedImage :/
7 years ago
Vladimír Vondruš
1c25bdba7a
Deprecate templated [Compressed]Image{,View,Data}::data().
...
This one returned a raw pointer, losing all size information, One should
instead use the non-templated data() along with Containers::arrayCast()
for a properly type-checked conversion.
There's *a lot* of tests using the deprecated functionality. I need to
change one more thing before updating those.
7 years ago
Vladimír Vondruš
50902e72d7
Platform: check for non-null GL_VENDOR before comparing it.
...
Otherwise, when context creation fails *really bad*, this crashes
somewhere deep in __strncmp_sse42 or so.
7 years ago
Vladimír Vondruš
035642748f
TgaImporter: properly handle files with too short data.
7 years ago
Vladimír Vondruš
8d98f1161e
Shaders: clamp shininess factor in Phong to minimize artifacts.
...
I feel this makes the shader code unnecessarily slow to handle bad
parameters. But eh, until I actually benchmark, I shouldn't be making
assumptions.
7 years ago
Vladimír Vondruš
a1cc0cb62d
Math: off-center Matrix4::perspectiveProjection().
7 years ago
Vladimír Vondruš
32a090954a
doc: updated changelog.
7 years ago
Vladimír Vondruš
be6d334a1c
doc: updated changelog.
7 years ago
Vladimír Vondruš
057475fb8a
CMake: don't enable -fPIC by default on Emscripten.
...
Causes weird errors on latest version.
7 years ago
Vladimír Vondruš
51cd4b3dd0
GL: fixed a 64-to-32-bit conversion warning on MSVC.
7 years ago
Vladimír Vondruš
11a94c16a3
GL: added Context::makeCurrent().
7 years ago
Vladimír Vondruš
b83c4366e7
Math: fix a build issue with CUDA on Windows.
7 years ago
Vladimír Vondruš
a3c7968e64
Adapt to BUILD_MULTITHREADED being part of Corrade now.
...
If building with deprecated features enabled, the buildsystem checks if
the option is still set and is inconsistent with what Corrade reports
and reports a deprecation warning. For backwards compatibility the
MAGNUM_BUILD_MULTITHREADED CMake variable and preprocessor macro are
still provided as well.
7 years ago
Vladimír Vondruš
bcce4ba063
Doc++, updated credits and changelog.
7 years ago
Vladimír Vondruš
8e1e52d667
doc: updated credits and changelog.
7 years ago
Vladimír Vondruš
aa67673faf
doc: mention EmscriptenApplication everywhere.
7 years ago
Vladimír Vondruš
b11873b975
doc: updated changelog.
7 years ago
Vladimír Vondruš
f7a2694390
SceneGraph: expose Type typedef and Dimensions constant everywhere.
7 years ago
Vladimír Vondruš
4b1c76411e
doc: updated changelog.
7 years ago
Vladimír Vondruš
0cb4ded506
Shaders: add normal texture support to Phong.
...
Note -- since there are no visual tests for Phong yet, this is done in
the least intrusive manner to avoid breaking current functionality. It's
likely very underperforming due to the matric calculation per fragment,
it'll get optimized once I have proper tests.
7 years ago
Vladimír Vondruš
528e3822dc
Shaders: added Tangent generic vertex attribute.
7 years ago
Vladimír Vondruš
77abf4a47c
doc: update changelog.
7 years ago
Vladimír Vondruš
a4310b9a31
MeshTools: added generateSmoothNormals().
...
This was a *fun* algorithmic exercise. Seriously.
7 years ago
Vladimír Vondruš
d20a17c5c3
MeshTools: ability to generate flat normals in compile().
7 years ago
Vladimír Vondruš
1de258a6b2
MeshTools: de-STL-ify generateFlatNormals().
...
Also move it to a new GenerateNormals.h header so we can easily add
generateSmoothNormals() to it. The old API and header is deprecated and
will be removed in the future. I can't be bothered rewriting the old
code using the new thing, so it's preserved there as a mausoleum until
it gets finally nuked from the orbit.
7 years ago
Vladimír Vondruš
61397afc31
MeshTools: make a version of duplicate() not dependent on std::vector.
...
Provide a version taking StridedArrayView instead, taking an arbitrary
view and also arbitrary index type. Also introduce duplicateInto() which
doesn't even allocate, but rather writes the output to pre-existing
location.
7 years ago
Vladimír Vondruš
8e5ecfacac
Math: ignore NaNs also in Vector::min(), max() and minmax().
...
To have the API consistent.
7 years ago
Vladimír Vondruš
45e19fe032
doc: updated changelog and credits.
7 years ago
Vladimír Vondruš
bd4ed9ae0e
Math: make batch functions accept strided array views.
...
The obvious improvement.
7 years ago
Vladimír Vondruš
46fdb38cd2
Math: make batch min() / max() / minmax() ignore NaNs.
7 years ago
Vladimír Vondruš
d38303505d
Math: added batch isInf() and isNan().
7 years ago
Vladimír Vondruš
75ffd39fe0
Math: make it possible to use Deg/Rad in all functions.
...
This should have been here ages ago, haha.
7 years ago
Vladimír Vondruš
7941a769cd
Math: added IsUnitless type trait.
7 years ago
Vladimír Vondruš
19844352ff
Math: added UnderlyingTypeOf.
7 years ago
Vladimír Vondruš
aa2adb7222
Math: add IsScalar, IsVector, IsIntegral and IsFloatingPoint type traits.
...
The standard ones are not good enough, so let's roll out my own.
7 years ago
Vladimír Vondruš
e4db99b418
Updated changelog and credits.
7 years ago
Vladimír Vondruš
9ec10b89d0
plugins: fix linking of static Any* plugins on otherwise dynamic builds.
7 years ago
Vladimír Vondruš
f383959fb0
Platform: fix SDL2/GLFW viewportEvent() on Retina-aware {i,mac}OS apps.
7 years ago
Vladimír Vondruš
442d5576d0
Math: change the way BoolVector is printed to Debug.
...
Found while working on the Python bindings --- BoolVector4(0b1010) got
printed as BoolVector(0101), which is totally confusing. Now it prints
it in a way that looks exactly the same as when constructing the vector
with binary literals.
7 years ago
Vladimír Vondruš
e5175583a7
Added Image::pixels(), ImageView::pixels() and Trade::ImageData::pixels().
...
Hard to explain in a tweet, err, commit message. Blog post incoming.
7 years ago
Vladimír Vondruš
4b6fabb004
Math: ability to Debug colors as actual colored squares.
7 years ago
Vladimír Vondruš
988a33c000
Added convenience BoolVector2, BoolVector3 and BoolVector4 typedefs.
7 years ago
Vladimír Vondruš
da7ac5a4f0
doc: updated changelog.
7 years ago
Vladimír Vondruš
8b37d4fd78
modules: different search order for plugin libs in FindMagnum.
...
This makes Vcpkg-built static plugins be found correctly. Previously
both the debug and release variant pointed to the same lib.
7 years ago
Vladimír Vondruš
eccebcbdd7
Accept nullptr in AbstractResourceLoader::set().
...
Also implement setNotFound() using set() and make the code more
flexible.
7 years ago
Vladimír Vondruš
de1e1fa4d5
MeshTools: make interleave() work with Corrade containers too.
7 years ago
Vladimír Vondruš
e1061f1766
MeshTools: fix a bad corner case in compile().
...
Having texture coordinates *and* colors is very unusual, nevertheless it
was a bug.
7 years ago