Difference between revisions of "OpenTasks/Graphics/Hardware Acceleration"

From ScummVM :: Wiki
Jump to navigation Jump to search
(Created page with "{{Infobox_OpenTasks| taskname=Hardware accelerated blitting| gsocworkload=100%| techcontact=Einar Johan Trøan Sømåen, Johannes Schickel, [[Us...")
 
(Upgrade to 100% to (hopefully) increase student interest)
 
(3 intermediate revisions by one other user not shown)
Line 15: Line 15:


* Plan, discuss and develop a design for a generic API for hardware acceleration.
* Plan, discuss and develop a design for a generic API for hardware acceleration.
* Implement the API for several backends (for example the desktop OpenGL backend, and OpenGL ES backends such as iOS and Android).
* Implement the API for several backends (for example the desktop OpenGL backend, and OpenGL ES backends such as iOS and Android), updating/refactoring the backend code as necessary to keep the code stable and maintainable.
* Update the Broken Sword 2.5 engine code to use the new API.
* Update the Broken Sword 2.5 engine code to use the new API.
* Update the Wintermute engine code to use the new API.
* Update the Wintermute engine code to use the new API.
Line 23: Line 23:
* Good C++ skills.  
* Good C++ skills.  
* Good knowledge of ScummVM coding conventions and portability guidelines (could be learned in less than a week)
* Good knowledge of ScummVM coding conventions and portability guidelines (could be learned in less than a week)
===Helpful to Have:===
* Some basic knowledge of OpenGL and OpenGL ES.
* Access to several different supported platforms for testing.

Latest revision as of 10:32, 31 January 2015

Open Task
Task Name Hardware accelerated blitting
Technical Contact(s) Einar Johan Trøan Sømåen, Johannes Schickel, Alyssa Milburn
Subsystem Engine

Background:

Some engines (Wintermute, Broken Sword 2.5) would greatly benefit from having the option of hardware acceleration for their graphics code, for fast alpha (transparency) blitting, rotation, scaling, etc.

The Task:

  • Plan, discuss and develop a design for a generic API for hardware acceleration.
  • Implement the API for several backends (for example the desktop OpenGL backend, and OpenGL ES backends such as iOS and Android), updating/refactoring the backend code as necessary to keep the code stable and maintainable.
  • Update the Broken Sword 2.5 engine code to use the new API.
  • Update the Wintermute engine code to use the new API.

Required Skills:

  • Good C++ skills.
  • Good knowledge of ScummVM coding conventions and portability guidelines (could be learned in less than a week)

Helpful to Have:

  • Some basic knowledge of OpenGL and OpenGL ES.
  • Access to several different supported platforms for testing.