wiki:GROUP_SCENES_R2
Last modified 3 years ago Last modified on 09/04/09 12:33:04

Pages linking to GROUP_SCENES_R2:

Ticket Summary Owner Status Type Component Priority Effort Importance
#1934 GROUP_SCENES_R2 gogov closed unplanned_task BASE_SCENE major

Reported by gogov, 3 years ago.

Description

GROUP_SCENES_R2

Ticket Summary Effort Status
No tickets found

Analysis_owners

gogov

Analysis_reviewers

pap, meddle

Analysis_score

3.5

Design_owners

gogov

Design_score

0

Imp._owners

gogov

Imp._score

0

Test_score

0

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.

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
  • 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?