Vladimír Vondruš
e108944f9e
Interface for importer plugins.
15 years ago
Vladimír Vondruš
7e37a9a64d
Base class for materials.
...
Material is just a shader with some user-defined uniform values, so why
not have class for it.
15 years ago
Vladimír Vondruš
2d50410dee
C++11 (move semantics) compatible class copy/move disabling.
...
Not using macro this time, as some classes could want only to disable
either copy or move and with macros this would become unintuitive and
error-prone.
15 years ago
Vladimír Vondruš
777f8e3ba2
C++11 way of disabling access to irrelevant functions in Scene.
15 years ago
Vladimír Vondruš
31c70f2c08
Doc++
15 years ago
Vladimír Vondruš
ebcf632110
Fixed compiler warning.
15 years ago
Vladimír Vondruš
96bc58812a
Using static variable instead of template parameter in Texture.
15 years ago
Vladimír Vondruš
e5e7d95af4
Using nullptr instead of 0 everywhere.
15 years ago
Vladimír Vondruš
a0fc06bf94
Making Texture data setting functions public.
15 years ago
Vladimír Vondruš
ef80006737
Using GLint instead of GLsizei for offset.
15 years ago
Vladimír Vondruš
d6b4cbb466
Added convenience functions for feeding Textures with Images.
15 years ago
Vladimír Vondruš
40441b39e2
Removed unnecessary templating of AbstractTexture::DataHelper.
15 years ago
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