Last modified 16 years ago
Last modified on 09/04/09 12:33:04
Analysis
Overview
This task should improve the hardware part of the scenes implementation.
Task requirements
- Document the committed code in the second_resource_refactoring branch in some nice place.
- Design and implement an efficient algorithm for performing scene effects in the JOGL implementation of the Scenes.
- Implement 1-2 sample effects like shadow and blur if possible.
- Try to fix the .so, .dll problems or at least propose how to deal with this problem.
- Improve the SceneDemoTest to have effects.
- Rename SceneDemoTest to a more clever thing (:
- Coach meddle some JOGL (:
- Add demos for JOGL usage.
Task result
- Working and demo-able scene effects in the JOGL implementation.
- Improved and renamed SceneDemoTest with effects.
- JOGLy enlightened meddle.
- Documentation of the done work from previous revisions and this one also.
Implementation idea
- Use FBOs.
- Use shaders.
- Upload all buffers in FBOs in VRAM and manipulate them there.
Related
GROUP_SCENES_R0 GROUP_SCENES_R1
How to demo
- Show the improved SceneDemo with effects.
- Run Sophie with some effects (this is mostly independent from this task because a runnable Sophie is other people's tasks (:)
Design
- offscreen rendering
- FBO
- FBODemo
- shaders
- JoglShaderProgram
- /resources/shaders
- ShaderDemo
- /resources/test-shaders
- JoglShaderProgram
- ElementHelpers refactoring:
- getEffectiveVisibleArea
- getEffectiveResponsibleArea
- SceneEffects
- ImmArea getVisibleArea(ImmArea sourceArea)
- ImmArea getResponsibleArea(ImmArea sourceArea)
- void applyTo(GL2 gl, ImmMatrix effectiveTransform)
- Misc
- SceneUtil -> JoglSceneUtil
- GL2 instead of GLAutoDrawable
Implementation
(Describe and link the implementation results here (from the wiki or the repository).)
Testing
(Place the testing results here.)
Comments
- what about PBOs and video? Uploading asynchronously the video to textures in VRAM could be much faster?
- what about having two Scenes and the same TextureRegistry? Resizing one Scene will destroy texture bindings of the first scene?