Difference between revisions of "Impress: OpenGL rendered transitions"

From Apache OpenOffice Wiki
Jump to: navigation, search
 
(26 intermediate revisions by 4 users not shown)
Line 1: Line 1:
This is the wiki page for the Google [[Summer_of_Code_2007]] proposal by Shane M Mathews and mentored by Thorsten Behrens and Radek Doulik.
+
This is the wiki page for the Google [[Summer of Code 2007]] proposal by Shane M Mathews and mentored by Thorsten Behrens and Radek Doulik.
  
 
== Proposal ==
 
== Proposal ==
To add 3D transitions to the Impress application. Transition is an animation where one page is visible in the beginning and another in the end. It is used during presentation slideshow to switch pages.
+
To add 3D transitions to the [[Impress]] application. Transition is an animation where one page is visible in the beginning and another in the end. It is used during presentation slideshow to switch pages.
  
 
In the process of implementing OpenGL transitions an UNO API should be added to slideshow code, so that OpenGL transitions engine might be created as standalone UNO component. Current transitions should be refactored to another UNO component.
 
In the process of implementing OpenGL transitions an UNO API should be added to slideshow code, so that OpenGL transitions engine might be created as standalone UNO component. Current transitions should be refactored to another UNO component.
Line 11: Line 11:
  
 
== Current Status ==
 
== Current Status ==
The student is finishing up school and learning how to build, code, and compile OOo before May 28th, the official beginning of the project.
+
The Student is done with the summer work and it's been integrated into HEAD. But he will continue to work on porting and documentation.
 
+
[http://codecoffee.blogspot.com Student Blog]
+
  
 +
[http://codecoffee.blogspot.com/ Student Blog]
  
 
== Student Task List ==
 
== Student Task List ==
* subscribe to openoffice.org wiki. Done.
+
* Subscribe to OpenOffice.org wiki. Done.
* Submit a filled-out copy of the Joint Copyright Assignment form (JCA). Done.
+
* Submit a filled-out copy of the [[Joint Copyright Assignment]] form (JCA). Done.
* Successfully build OOo.
+
* Successfully build OOo. Done.
* Successfully make a minor hack to OOo, preferably to Impress.
+
* Verify the newly built version of OOo can be installed and run. Done
* Successfully debug the minor hack.
+
* Successfully make a minor hack to OOo, preferably to Impress. Done.
 +
* Verify the hacked version of OOo can be run to verify it works correctly. Done.
 +
* Successfully debug the minor hack. Done.
 +
* Create stand-alone demo of transition system. Done.
 +
* Call Demo from within OOo. Done.
 +
* Grab window and pass it to Demo. Done. Flickering problems was caused by Bugs in parent window functions, not my code.
 +
* Grab bits from slide bitmaps. Done. Problem with vcl canvas was a bug in BitmapLayout of vcl, not my code.
 +
* Implement Uno Component. First Draft Done. The demo is officially dead, long live the Uno component XOGLTransitioner!
 +
* Initiate transition just like any other transition. Done. Slidebasechange class rocks.
 +
* Fix slide position and aspect ratio problems. Done.
 +
* Quarantine OpenGL transitions to dedicated dynamically linked library. Done.
 +
* Implement 5 Transitions total. Done.
 +
 
 +
== Backlog ==
 +
* Refactor all transitions into uno components.
 +
* Port to Windows.
 +
* Port to Mac : close to be completed. See '''[[Mac_OS_X_Porting_-_OpenGL_transitions | Impress OpenGL transitions on Mac OS X]]'''
 +
* Port to Solaris.
 +
* Port to FreeBSD.
 +
 
 +
== Very Back Backlog ==
 +
Write suggestions for the student here!
 +
* Detect the use of a video card to do advanced graphical effects, such as generating a height map based on the colors of the current slide, and casting shadows using steep parallax mapping. Suggested by the student.
 +
* Press tab to Zoom out "exposé-style" to give a view of all slides. Suggested by John Spray.
 +
 
 +
== Random things student has learned ==
 +
* Keep directory of clean source code. checking out or updating the entire project from CVS takes forever.
 +
* Don't mix Sun JDK and gcj in Ubuntu. It makes configure very unhappy.
 +
* Choose the easy route to do things. AMD64 + OOo = difficulty.
 +
 
 +
== Screenshots and videos ==
 +
* OpenOffice.org Ninja: [http://www.oooninja.com/2008/02/eye-candy-3d-opengl-transitions-impress.html Impressive Eye Candy: 3D OpenGL Transitions]
 +
* Shane M Mathews: [http://codecoffee.blogspot.com/ CodeCoffee]
 +
* rodo’s web log: [http://rodo.foo.cz/blog/?p=31 3D transitions]
 +
 
 +
== Where is it? ==
 +
 
 +
Article: [http://www.oooninja.com/2008/04/opengl-3d-impress-extension.html Where is the OpenGL 3D extension for Impress?] (April 24, 2008)
 +
[[Category:Impress]]

Latest revision as of 23:51, 15 December 2009

This is the wiki page for the Google Summer of Code 2007 proposal by Shane M Mathews and mentored by Thorsten Behrens and Radek Doulik.

Proposal

To add 3D transitions to the Impress application. Transition is an animation where one page is visible in the beginning and another in the end. It is used during presentation slideshow to switch pages.

In the process of implementing OpenGL transitions an UNO API should be added to slideshow code, so that OpenGL transitions engine might be created as standalone UNO component. Current transitions should be refactored to another UNO component.

The engine will get the previous and next pages and should render the transition at given speed.

The participant should also implement at least 5 OpenGL transitions, rendered by the UNO component.

Current Status

The Student is done with the summer work and it's been integrated into HEAD. But he will continue to work on porting and documentation.

Student Blog

Student Task List

  • Subscribe to OpenOffice.org wiki. Done.
  • Submit a filled-out copy of the Joint Copyright Assignment form (JCA). Done.
  • Successfully build OOo. Done.
  • Verify the newly built version of OOo can be installed and run. Done
  • Successfully make a minor hack to OOo, preferably to Impress. Done.
  • Verify the hacked version of OOo can be run to verify it works correctly. Done.
  • Successfully debug the minor hack. Done.
  • Create stand-alone demo of transition system. Done.
  • Call Demo from within OOo. Done.
  • Grab window and pass it to Demo. Done. Flickering problems was caused by Bugs in parent window functions, not my code.
  • Grab bits from slide bitmaps. Done. Problem with vcl canvas was a bug in BitmapLayout of vcl, not my code.
  • Implement Uno Component. First Draft Done. The demo is officially dead, long live the Uno component XOGLTransitioner!
  • Initiate transition just like any other transition. Done. Slidebasechange class rocks.
  • Fix slide position and aspect ratio problems. Done.
  • Quarantine OpenGL transitions to dedicated dynamically linked library. Done.
  • Implement 5 Transitions total. Done.

Backlog

Very Back Backlog

Write suggestions for the student here!

  • Detect the use of a video card to do advanced graphical effects, such as generating a height map based on the colors of the current slide, and casting shadows using steep parallax mapping. Suggested by the student.
  • Press tab to Zoom out "exposé-style" to give a view of all slides. Suggested by John Spray.

Random things student has learned

  • Keep directory of clean source code. checking out or updating the entire project from CVS takes forever.
  • Don't mix Sun JDK and gcj in Ubuntu. It makes configure very unhappy.
  • Choose the easy route to do things. AMD64 + OOo = difficulty.

Screenshots and videos

Where is it?

Article: Where is the OpenGL 3D extension for Impress? (April 24, 2008)

Personal tools