This wiki was in read-only mode for many years, but can now be edited again. A lot of information will need to be updated.
User:Will07c5: Difference between revisions
| Line 27: | Line 27: | ||
==Draft Proposal for Modularization of OpenGL code==  | ==Draft Proposal for Modularization of OpenGL code==  | ||
Bzflag currently has drawing code all over the code base. This means that maintenance of the drawing code is difficult and plugging in an alternative graphics engine is nearly impossible. The goal of this project is to take all the drawing code and place it in a central location. All the code at this location will be accessible through an API. This is the first step on the road to having the drawing independent of the graphics engine.    | |||
The   | The primary requirement of this project is that at no stage can the code base be broken, since bzflag is an active project. To accommodate this requirement, there will be no large stages. The work will be done incrementally. Each section* of code will first be inspected to determine its functionality. The code will then be moved and modified as necessary to accommodate being placed in a separate method in the API. The section will then be refactored to use the new API method(s). Finally the section will be tested thoroughly. This process will be repeated for each and every section of drawing code.  | ||
<br />  | |||
The   | <br />  | ||
*Section will usually be defined as a single method, unless the method is too large in which case it may be split up into multiple sections. Conversely if there is a small and simple enough class it may be treated as a section.  | |||
Revision as of 04:57, 25 March 2009
List of possible improvements to bzworkbench
High priority
- add support for rotating and scaling objects, with widgets for both functions
 - implement any missing functionality in the menus
 - complete the material editor
 - add snap to grid
 - add grouping and improve selection
 - implement missing object types
 - fix bug where bzwb complains about missing a plugin for obj files whenever an object is added to the map
 
Medium priority
- implement undo and redo functionality
 - add an object list so that objects can be selected even if they are obscured
 - numeric input for coordinates
 
Low priority
- make it so editor doesn't need to turn off aero to run (vista specific)
 - Remove dependance on outside files for simple models like boxes.
 - make windows scale properly
 - make GUI look nicer
 - Possibly add support for docking toolbars and windows http://fltkdock.sourceforge.net/
 - allow the layout of the GUI to be saved and loaded (important for docking toolbars/windows)
 - Improve grid by adding/removing grid lines as user zooms in and out and scaling the grid
 - move the add object and base buttons to toolbars
 - Add support for multiple viewports
 
Draft Proposal for Modularization of OpenGL code
Bzflag currently has drawing code all over the code base. This means that maintenance of the drawing code is difficult and plugging in an alternative graphics engine is nearly impossible. The goal of this project is to take all the drawing code and place it in a central location. All the code at this location will be accessible through an API. This is the first step on the road to having the drawing independent of the graphics engine.
The primary requirement of this project is that at no stage can the code base be broken, since bzflag is an active project. To accommodate this requirement, there will be no large stages. The work will be done incrementally. Each section* of code will first be inspected to determine its functionality. The code will then be moved and modified as necessary to accommodate being placed in a separate method in the API. The section will then be refactored to use the new API method(s). Finally the section will be tested thoroughly. This process will be repeated for each and every section of drawing code.
- Section will usually be defined as a single method, unless the method is too large in which case it may be split up into multiple sections. Conversely if there is a small and simple enough class it may be treated as a section.