Vladimír Vondruš
b2c1937538
Added toolchains submodule.
14 years ago
Vladimír Vondruš
8d525be511
Using TypeTraits::epsilon and TypeTraits::equals instead of EPSILON.
...
Improves comparison performance on integral Matrix and Vector, fixes NaN
comparison bug (but infinity bug is still present).
14 years ago
Vladimír Vondruš
f585d39146
Added Math::TypeTraits, implementing fuzzy comparison based on type.
...
Fuzzy comparison is implemented only on floating-point types with
type-specific epsilon, on integral types classic operator== is used.
TypeTraits class is now extension of Math::TypeTraits (where it makes
sense).
14 years ago
Vladimír Vondruš
c2aed9d5af
Updated TypeTraits documentation, show all functions inline.
14 years ago
Vladimír Vondruš
34a84dc677
Using nullptr instead of 0.
14 years ago
Vladimír Vondruš
e357f24e70
Scene::viewportWidth/viewportHeight were never set, got rid of them.
...
Caused setting viewport size to some random and possibly dangerous value
after assigning camera to the scene.
14 years ago
Vladimír Vondruš
dacd31fcc5
Moved AbstractImporter and Image to new Trade namespace.
...
Start of AbstractImporter rework - Trade namespace will contain simple
classes usable for exchanging data with other formats, importers will
not depend on any OpenGL functionality, they will just provide access to
plain data.
14 years ago
Vladimír Vondruš
3174570969
Moved ColorFormat enum back to AbstractTexture.
14 years ago
Vladimír Vondruš
96b072f87d
AbstractImporter: allow direct file opening, added Feature enum.
...
Each importer must now specify whether it can open files or streams in
features() and implement one or both open() functions. Default
implementation of open() functions now prints message on error output
and returns false.
14 years ago
Vladimír Vondruš
1f455e8b39
Fixed Primitives::Icosphere compilation.
...
Forgot to use new MeshTools functions for mesh cleaning.
14 years ago
Vladimír Vondruš
31fd5bfb32
Added another constructor to MeshTools::AbstractIndexTool.
...
Not forcing to use MeshBuilder, passing just index array and vertex
count.
14 years ago
Vladimír Vondruš
c77bc6d916
Added AbstractImporter::meshData() for accessing mesh data.
14 years ago
Vladimír Vondruš
0c67d17148
MeshTools: implementation of Tipsify algorithm.
...
Algorithm used: Pedro V. Sander, Diego Nehab, and Joshua Barczak, Fast
Triangle Reordering for Vertex Locality and Reduced Overdraw, SIGGRAPH
2007, http://gfx.cs.princeton.edu/pubs/Sander_2007_%3ETR/index.php
Also created new shared MeshTools library.
15 years ago
Vladimír Vondruš
5fac01f30d
Added copy of FindCorrade.cmake module.
15 years ago
Vladimír Vondruš
37fa078ead
Added MeshTools::AbstractIndexTool, operating only on indices.
...
Doesn't need to be templated and thus leads to smaller generated code
size.
15 years ago
Vladimír Vondruš
37afb7bffe
Splitting tools from MeshBuilderBenchmark to MeshTools.
...
Moved unit tests and benchmarks accordingly.
15 years ago
Vladimír Vondruš
79a36bd373
New namespace and base class for mesh tools.
15 years ago
Vladimír Vondruš
e0b4fca4fe
Doc++
...
Removed doc/namespaces.dox, moved namespace documentation to main files
of given namespace.
15 years ago
Vladimír Vondruš
c11e691053
Cleaning overengineered MeshBuilder.
...
* Removed VertexPointer typedef, as size_t is somewhere 64bit and
OpenGL doesn't have corresponding data type. Using unsigned int
everywhere instead, to avoid confusion.
* Removed Face structure altogether, using vertex indices directly.
* Greatly reduced size of unit tests, also thanks to C++11
std::initializer_list feature.
15 years ago
Vladimír Vondruš
9fd88b700a
Using icosahedron primitive data in MeshBuilderBenchmark.
15 years ago
Vladimír Vondruš
2b3aab35f6
Making Icosahedron primitive data public, so it could be reused.
15 years ago
Vladimír Vondruš
b945f5f68b
Happy New Year.
15 years ago
Vladimír Vondruš
9f8bb86dbb
Preserve space before and after printing Matrix/Vector to Debug output.
...
Modified unit tests to check that.
15 years ago
Vladimír Vondruš
7f24696021
Don't return reference to temporary object in Debug output.
15 years ago
Vladimír Vondruš
cb0efb5d47
Vector3 constructor from Vector2 and optional Z/B value (default 0).
15 years ago
Vladimír Vondruš
fd9c137be2
Getter for Camera viewport size.
15 years ago
Vladimír Vondruš
4a23efa307
Use Vector2<unsigned int> for viewport size in Camera instead of ints.
15 years ago
Vladimír Vondruš
cf170c9155
Separate accessors for cameras and lights from objects in AbstractImporter.
15 years ago
Vladimír Vondruš
36213f13c4
MeshBuilder: reworked index builder.
...
Moved code which doesn't depend on index type outside this templated
function for smaller size of generated code.
15 years ago
Vladimír Vondruš
b35afc3010
MeshBuilder: Index type is based on vertex count, not index count.
15 years ago
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