From aa3c703c2508ccc87470d8e8e480815c32350b6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 6 May 2012 22:15:11 +0200 Subject: [PATCH] Added TODOs for easily implementable things. --- src/AbstractShaderProgram.h | 4 ++++ src/Buffer.h | 4 +++- src/CubeMapTexture.h | 1 + src/Mesh.h | 6 ++++++ src/Scene.h | 1 + 5 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/AbstractShaderProgram.h b/src/AbstractShaderProgram.h index 8c9950a73..e27db2fd2 100644 --- a/src/AbstractShaderProgram.h +++ b/src/AbstractShaderProgram.h @@ -100,6 +100,8 @@ class MAGNUM_EXPORT AbstractShaderProgram { * * See AbstractShaderProgram documentation or Mesh::bindAttribute() * for an example. + * + * @todo Support for BGRA attribute type (OpenGL 3.2, ARB_vertex_array_bgra) */ template struct Attribute { static const size_t Location = i; /**< Location to which the attribute is bound */ @@ -186,6 +188,8 @@ class MAGNUM_EXPORT AbstractShaderProgram { glUniform1i(location, value); } + /** @todo setUniform() for arbitrary vectors (size and also type) */ + /** * @copydoc setUniform(GLint, GLint) * diff --git a/src/Buffer.h b/src/Buffer.h index 2bb45785a..9db6a9209 100644 --- a/src/Buffer.h +++ b/src/Buffer.h @@ -24,7 +24,9 @@ namespace Magnum { /** - * @brief Class for managing buffers +@brief Class for managing buffers + +@todo Support for buffer copying (OpenGL 3.1, ARB_copy_buffer) */ class Buffer { Buffer(const Buffer& other) = delete; diff --git a/src/CubeMapTexture.h b/src/CubeMapTexture.h index 85b2c556d..e2b78ce4d 100644 --- a/src/CubeMapTexture.h +++ b/src/CubeMapTexture.h @@ -44,6 +44,7 @@ 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 +@todo Cube map arrays (OpenGL 4.0, ARB_texture_cube_map_array) */ class CubeMapTexture: public Texture2D { public: diff --git a/src/Mesh.h b/src/Mesh.h index b9b9b94fa..baf041ba4 100644 --- a/src/Mesh.h +++ b/src/Mesh.h @@ -38,6 +38,12 @@ class Buffer; @requires_gl30 Extension APPLE_vertex_array_object @requires_gl30 Extension EXT_gpu_shader4 (for unsigned integer attributes) + +@todo Support for provoking vertex (OpenGL 3.2, ARB_provoking_vertex) +@todo Support for packed unsigned integer types for attributes (OpenGL 3.3, ARB_vertex_type_2_10_10_10_rev) +@todo Support for fixed precision type for attributes (OpenGL 4.1, ARB_ES2_compatibility) +@todo Support for double type for attributes (OpenGL 4.1, ARB_vertex_attrib_64bit) +@todo Support for indirect draw buffer (OpenGL 4.0, ARB_draw_indirect) */ class MAGNUM_EXPORT Mesh { Mesh(const Mesh& other) = delete; diff --git a/src/Scene.h b/src/Scene.h index 99a7f8bcb..f9a998b31 100644 --- a/src/Scene.h +++ b/src/Scene.h @@ -47,6 +47,7 @@ class MAGNUM_EXPORT Scene: public Object { inline unsigned int features() const { return _features; } /** @brief Set feature */ + /** @todo Depth clamping (OpenGL 3.2, ARB_depth_clamp) */ void setFeature(Feature feature, bool enabled); private: