diff --git a/src/AbstractShaderProgram.cpp b/src/AbstractShaderProgram.cpp index 8e917008b..d7c16d41a 100644 --- a/src/AbstractShaderProgram.cpp +++ b/src/AbstractShaderProgram.cpp @@ -95,6 +95,7 @@ void AbstractShaderProgram::link() { } GLint AbstractShaderProgram::uniformLocation(const std::string& name) { + /** @todo What if linking just failed (not programmer error?) */ CORRADE_ASSERT(state == Linked, "AbstractShaderProgram: uniform location cannot be retrieved before linking.", -1) GLint location = glGetUniformLocation(program, name.c_str()); diff --git a/src/AbstractTexture.h b/src/AbstractTexture.h index dc7e38d0f..6ed51c0ae 100644 --- a/src/AbstractTexture.h +++ b/src/AbstractTexture.h @@ -27,6 +27,8 @@ namespace Magnum { @brief Non-templated base for one-, two- or three-dimensional textures. See Texture, CubeMapTexture documentation for more information. +@todo Add glPixelStore encapsulation +@todo Anisotropic filtering */ class MAGNUM_EXPORT AbstractTexture { AbstractTexture(const AbstractTexture& other) = delete; diff --git a/src/CubeMapTexture.h b/src/CubeMapTexture.h index b5d4a47aa..817c514f0 100644 --- a/src/CubeMapTexture.h +++ b/src/CubeMapTexture.h @@ -43,6 +43,7 @@ textures, coordinates for cube map textures is signed three-part vector from the center of the cube, which intersects one of the six sides of the cube map. See Texture documentation for more information about usage. +@todo The wrap mode is 3D, not 2D! http://www.opengl.org/wiki/Common_Mistakes#Creating_a_Cubemap_Texture */ class CubeMapTexture: public Texture2D { public: diff --git a/src/Math/Math.h b/src/Math/Math.h index f651a812e..78b927730 100644 --- a/src/Math/Math.h +++ b/src/Math/Math.h @@ -25,6 +25,13 @@ namespace Magnum { +/** +@todo Quaternions: + - interpolation between rotations (=> animation, continuous collision detection) + - better rotation representation (4 floats instead of 9/16 floats when using + matrices) +*/ + /** * @brief %Math library * diff --git a/src/Object.h b/src/Object.h index 1a3926ceb..337d0525f 100644 --- a/src/Object.h +++ b/src/Object.h @@ -28,6 +28,16 @@ namespace Magnum { class Scene; class Camera; +/** +@todo User-specified Object implementation: +- for front-to-back sorting, LoD changes etc. +- for different parent/children implementation (e.g. no std::set, direct + access to scene etc.) +- for using doubles/halves instead of floats +- for using quat + position instead of matrices (where (asymmetric) scaling is + not needed) +*/ + /** * @brief Base for all positioned objects *