- Allow node removal
- Some mechanism to allow scaling - e.g. scale before blurring, rescale and blend like suggested Deus Ex: Human Revolution - Graphics Study
- Expose a mechanism to allow samplers
- Support Multi-pass shaders
- Investigate cereal for serialization and deserialization
- Migrate from JsonTree to JsonCpp for serialization
- Load a context from JSON
- Tile when texture size exceeds GL_MAX_TEXTURE_SIZE
- Use GL_NV_texture_barrier for texture-internal ping-pong'ing
- Investigate the Boost Graph Library
- Investigate graph algorithms in bss-util to improve the dependency solver
- Pull shader stuff out of Effector node to allow for shader-based generators
- Validate value type in Node::setValueForInputPortKey
- If not using ci::gl::GlslProg, consider using GL_ARB_separate_shader_objects on 4.1+. Also see One Year of Porting and A bit of perspective on OpenGL 4.1 separate programs
- Rename mixAmount to intensity
- Create a simple shader-based solid color generator node
- Compile vibrance node with preprocessed curve instead of using a uniform
- Colorspace conversion nodes! YCoCg/CIELAB/HUSL/RGB/sRGB
- Source node classes: FBOImage, RTT?
- FXAA node like triton
- Support the event input type
- Support multiple render passes, "PASSES"
- Support persistent render buffers, "PERSISTENT_BUFFERS"
- Support static image resources "IMPORTED"
- Use
CI_ASSERT
places that make sense - Make a pass as using
const
andmutable
where appropriate - Include a sample application
- Profile with Cinder-Profiler and Remotery
- Sprinkle in some
glGetError
use? - Think about optimizations by reducing binds