New IGE feature set v2

To summarize my plans and the various blog entries I've written with no apparent relation beside a few uses of the word "OpenGL" and other nerdy stuff that was not exactly related to it, here's a more clean and less 2D-centered list of the features I'm working on:

Changes to the render system in general:
  • split recursive display list rendering into display lists and display items
  • each item can contain "command strings" describing it's visual representation
  • command strings are binary representations of 2D and 3D drawing operations, position via matrices/vectors and input data
  • z sorting will still be kept for display items, so that sorted rendering is still possible
  • screens can either be in 3D mode (OpenGL) or 2D (SDL), disabling their respective commands
  • for easy rendering, not only graphical primitives will be provided but also sprites, tile maps etc

Command string features:
  • 2D and 3D drawing primitives and associated
  • position via 2D and 3D matrix manipulation like in OpenGL
  • bind float and integer arrays to buffers as command input
  • commands will effectively "pop" a fixed number values from the buffer, leaving room to fill or load buffers for a whole series of render commands

Stuff that may interesting for performance:
  • ompile command strings as OpenGL display lists that do not change after n iterations (or atleast provide some external function for them)
  • try avoiding repeated OpenGL calls by merging sequential or repeated render commands (if possible)
  • integrate VBOs and PBOs in some way

No comments: