Open main menu

Difference between revisions of "OpenTasks"

2,114 bytes added ,  14:00, 16 March 2009
Add draft version of the OpenGL backend task
(Add draft version of the OpenGL backend task)
Line 191: Line 191:
''Also required:''
''Also required:''
* Access to a non-desktop testing device (PSP, NDS, PS2, WinCE or Symbian mobile, etc.) and the ability to compile and run ScummVM on it (the ScummVM team would help with compiling and running).
* Access to a non-desktop testing device (PSP, NDS, PS2, WinCE or Symbian mobile, etc.) and the ability to compile and run ScummVM on it (the ScummVM team would help with compiling and running).
=== Improve the default ScummVM backend to leaver OpenGL support and provide a common base class. ===
''Technical Contact:'' [[User:DJWillis|John Willis]]
''Background:''
Since its inception ScummVM has offered a default cross platform backend that makes use of the extensive and prolific SDL API. We have no intention to change this but we would like to extend the default backend to take advantage of things like OpenGL, and its little brother OpenGLes, that is becoming commonplace on the latest generations of devices.
We would also like to refactor the common aspects of the SDL backend into a common base class to better support backends that derive from it. Architecturally this could be very elegant and allow platforms to derive from the common SDL base (inc. the OpenGL and default existing one) and future platforms could also derive from the OpenGL base etc.
There are a number of required features that the extended backend must have.
''The Task:''
* Allow for arbitrary rate scaling using OpenGL/OpenGLES.
* Be well written and maintainable!
** This could become part of the default choice for ScummVM’s user base so really does have to be well architected.
* Offer a fallback to the existing rendering code if OpenGL support is not available OR not desired by the user. This should be configurable at run time and maybe via a config setting?
* Support removing the new OpenGL code at compile time by the use of structured defines so that NO OpenGL code need be built if not required.
** We have a number of ports that derive from the SDL backend and really could not cope with the code bloat.
''Also required:''
* This task will require testing under both OpenGL and OpenGLES API’s.
** There are sample OpenGLES and OpenGL implementations for development available from several sources. For OpenGLES the PowerVR SGX SDK http://www.imgtec.com/powervr/insider/powervr-sdk.asp should be of interest.)
''Required Skills:''
* Reasonable C++ skills.
* Refactoring skills.
* Knowledge of the OpenGL and SDL API’s.
* Knowledge of the default SDL ScummVM platform backend is desirable.


== Audio related tasks ==
== Audio related tasks ==
208

edits