Vladimír Vondruš
53a978c434
Minor documentation fixes.
15 years ago
Vladimír Vondruš
90838f2d85
New class Image for handling image data.
...
Moved the functionality out of Texture, because one texture can be
composed from more than one image.
15 years ago
Vladimír Vondruš
e9a556cc10
Using strongly-typed enums in AbstractTexture and derived classes.
...
Allows safer passing of values, more descriptive and shorter enum names
and also using the same enum names/values in InternalFormat and
ColorFormat.
15 years ago
Vladimír Vondruš
30596670ff
Delegate finding of all dependencies to FindMagnum.cmake.
15 years ago
Vladimír Vondruš
597cbf1286
Explicit specification of Primitives library.
...
Without that it would attempt to find an installed Magnum library, which
is wrong.
15 years ago
Vladimír Vondruš
eaf7232943
Don't compile Math as static library, as unused symbols are discarded.
...
Currently the files are compiled directly into Magnum library, static
library is used only for testing purposes.
15 years ago
Vladimír Vondruš
e9a16b1824
Added Icosphere primitive.
...
Templated on subdivision count, so it is for given subdivision computed
only once.
15 years ago
Vladimír Vondruš
6da26dc4bc
Added Cube primitive.
15 years ago
Vladimír Vondruš
8c7486a13d
Base class for primitives.
15 years ago
Vladimír Vondruš
0d2035af86
Using SizeBaseCall in MeshBuilder::build().
15 years ago
Vladimír Vondruš
8242a68e6a
SizeTraits, SizeBasedCall and relevant classes.
...
SizeTraits class provides suitable types for given data size at compile
time, SizeBasedCall can call suitable templated overload based on given
data size at runtime.
Also added meta classes Pow and Log for computing powers and logarithms
at compile time, usable mainly in conjunction with SizeTraits. Their
implementation is checked at compile-time using static_cast().
15 years ago
Vladimír Vondruš
e536c892c4
Added Math::pow() and Math::log() functions.
...
Math::pow() is templated on exponent, so it should be as fast as
possible (without recursion).
15 years ago
Vladimír Vondruš
e74168bb88
Added test for Math::deg() and Math::rad().
15 years ago
Vladimír Vondruš
be3dd97d0a
Renamed Math/{constants.h => Math.h}.
15 years ago
Vladimír Vondruš
4904e9b58e
Functions to get vertex and face count in MeshBuilder.
15 years ago
Vladimír Vondruš
8099511d12
Added implicit constructors for Mesh and IndexedMesh.
15 years ago
Vladimír Vondruš
8512bb9560
Removed superfluous DISABLE_COPY() in IndexedMesh (Mesh has it already).
15 years ago
Vladimír Vondruš
d0044b960e
Support for setting texture subdata.
15 years ago
Vladimír Vondruš
0d2f2c966f
Doc++
...
Updated and simplified Main page of documentation, finally fixed doxygen
warnings with @copydoc in Math namespace.
15 years ago
Vladimír Vondruš
08eefab310
Disable copying of AbstractTexture class.
15 years ago
Vladimír Vondruš
e9a98d76e7
Support for setting textures as uniforms in AbstractShaderProgram.
...
Also updated Texture documentation.
15 years ago
Vladimír Vondruš
715d9910a8
Support for texture layers.
15 years ago
Vladimír Vondruš
0407e8152b
New class for Cube map textures.
15 years ago
Vladimír Vondruš
24988ce520
Fixed wrong automagic texture target for 3D textures.
...
While GL_TEXTURE_2D == GL_TEXTURE_1D + 1, GL_TEXTURE_3D is something
absolutely different and cannot be computed like this. Now done via
AbstractTexture::DataHelper, which is cleaner and better readable.
15 years ago
Vladimír Vondruš
b924da57ad
Splitting non-templated things from Texture to AbstractTexture.
15 years ago
Vladimír Vondruš
0852e89fed
Fixed compiler warning.
15 years ago
Vladimír Vondruš
cc0bffbdc4
Support for rectangle textures, documentation updates.
15 years ago
Vladimír Vondruš
c51ea03b5b
Texture Filter and Mipmap enum refactoring.
...
Renamed the constants so they are better readable when passed to
setMinificationFilter(). Using self-documenting values for Mipmap enum,
added static_assert which checks their correctness.
15 years ago
Vladimír Vondruš
4a58fc9f0c
Added Texture.cpp with explicit specialization for all texture dimensions.
...
Non-inline functions which don't depend on another template moved to
Texture.cpp, inlined the rest.
15 years ago
Vladimír Vondruš
c0e8a92093
Better documentation for Texture, mainly about required function calls.
15 years ago
Vladimír Vondruš
8b8e97f54e
Store template parameter in Texture class for later retrieving.
15 years ago
Vladimír Vondruš
08c967a6ae
Fixed wrong target passed to glBindTexture.
...
WTF? How it is possible that it was working?
15 years ago
Vladimír Vondruš
b0ed6479df
Totally reworked Texture::setData() using TypeTraits.
...
Instead of large if() block for calling either glTexImage1D,
glTexImage2D or glTexImage3D the class now uses internal helper functor,
which should lead to shorter generated code and also prevent using
wrong dimension count.
15 years ago
Vladimír Vondruš
1080c2900e
Texture now allows user-specified target in addition to automagic.
15 years ago
Vladimír Vondruš
3c9f6681b9
Using TypeTraits in MeshBuilder.
...
Slightly reduced code size (removed repeated code), also ensuring that
the right (unsigned) type is used for indexing.
15 years ago
Vladimír Vondruš
9e92bbf265
Using TypeTraits in Mesh::bindAttribute(), largely reducing code size.
15 years ago
Vladimír Vondruš
3e3f004a1e
Added TypeTraits class for plain OpenGL types.
...
Will help with reducing repated code and avoids making mistakes with the
types.
15 years ago
Vladimír Vondruš
03289b18ac
Doc++
15 years ago
Vladimír Vondruš
3c1f5392e8
Useful functions for making angle entering less error-prone.
...
Both functions convert the value to radians at compile time. For
example deg(180.0f) is converted to 3.14f. Less intuitive than
user-defined literals (C++11 feature), but works everywhere.
15 years ago
Vladimír Vondruš
58ace7d678
Fixed errors with template two-phase lookup, discovered with GCC 4.7.
15 years ago
Vladimír Vondruš
47744eb799
Added plugin include and plugin install dirs to FindMagnum.cmake.
15 years ago
Vladimír Vondruš
0c262dc0bd
Removed DISABLE_COPY() macro, as it is already in Corrade.
15 years ago
Vladimír Vondruš
8555475807
Support for printing Matrix and Vector to debug output.
...
Added tests for Matrix3, Vector2 just to be sure that debug output works
also there.
15 years ago
Vladimír Vondruš
1fb857985d
TGAImporter: hardened file opening, added unit tests.
15 years ago
Vladimír Vondruš
22705e9632
TGAImporter: Don't inline non-inlined function.
15 years ago
Vladimír Vondruš
e8534aa5b6
TGAImporter: making header structure public.
15 years ago
Vladimír Vondruš
1dbb3c8c9c
TGAImporter: doc/debug output fixes.
15 years ago
Vladimír Vondruš
95082834a4
TGAImporter: just-to-be-safe static_assert for header size
15 years ago
Vladimír Vondruš
8823b2cc72
TGAImporter: think about endianness!
15 years ago
Vladimír Vondruš
14306f47c5
TGA importer plugin.
15 years ago