Open main menu
Name Alejandro Marzini
Team Member since 26/04/2010
Working on SDL backend and OpenGL
Personal webpage/BLOG


I am one of the 2010 GSoC students working on ScummVM. I will be working on refactoring the SDL backend, and adding OpenGL(ES) as a new render engine for ScummVM.

I have created a blog, where I will post all my progress on this task.


  • Design and creation of base subsystems
    • Description: Design of a new backend structure that make ports easier to manage
    • Time: May 24 – June 7
    • Status: Finished
    • Deliverables: The new backend structure consists on having the specialized code of the backends (Graphics, Events, Audio, CD, Timer, and else) separated on different manager classes. These managers then are initialized and called from the main backend class.
      • New Classes: ModularBackend, MutexManager, GraphicsManager
      • Refactored Classes: AudioCDManager
  • Refactoring of SDL backend
    • Description: Implement the new backend structure to the SDL backend and its ports (Some ports may be left for later if time allows it)
    • Time: June 7 – June 28
    • Status: Finished
    • Deliverables: The SDL backend has been refactored, and almost all its code has been modularized. Most SDL based ports have been modularized.
      • Refactored OSystem_SDL, SdlAudioManager, SdlMutexManager, SdlEventManager, SdlGraphicsManager, SdlMixerImpl, OSystem_Win32, OSystem_POSIX, OSystem_MacOSX, OSystem_SDL_SamsungTV, OSystem_SDL_Symbian, OSystem_LINUXMOTO, OSystem_GP2XWIZ, OSystem_GP2X
  • Implementation of OpenGL support
    • Description: Implement a OpenGL (and OpenGL ES 1.1 compatible) Graphics Manager for use with a SDL backend, and another Manager without using SDL.
    • Time: June 28 – July 19
    • Status: In progress - Add options for switching between OpenGL manager and SDL manager
    • To do:
      • Design the base structure for a OpenGL graphics manager
      • Implement OpenGL setup and screen initialization code for having at least a blank screen when running
      • Implement overlay surface
      • Implement mouse surface
      • Implement game surface
      • Implement OpenGL scalers for any aspect ratio (Still need to work on aspect ratio)
      • Add options for switching between OpenGL manager and SDL manager
      • Porting to OpenGL ES and testing
      • Code cleanup and documentation
  • Implementation of new modular backend for other platform backends
    • Description: Refactor the actual ports for subclassing the ModularBackend class
    • Time: July 19 – August 7
    • Status: To do
  • Merge with trunk
    • Description:
    • Time: July 7 – August 14
    • Status: To do