0003291: Rework MediaPortal texture clipping (1 Viewer)

MediaPortal-Bot

Worlds greatest bot!
March 26, 2007
3,715
180
Home Country
Germany Germany
This issue addresses a bug/conflict between the use of viewport manipulation for texture clipping (existing MediaPortal capability) and the introduction of new capabilities (such as image masking).

MediaPortal relies on texture clipping for presentation of nice UI features including smooth scrolling on and off the screen against a straight edge. The clipping capability in MediaPortal is completely managed by setting the D3D viewport. Some functions of the FontEngine (the primitive texture drawing routines) read the viewport settings passed to it and perform computational (or manual) clipping by adjusting the extent of the texture that should be rendered. This works fine for some of the drawing routines in the FontEngine but not for others. The design of the FontEngine provides two basic routes to D3D primitive drawing functions; (1.) FontEnginePresentTextures and FontEngineDrawText3D, and (2.) via several other FontEngineDraw... functions. The basic difference between these functions (1.) vs. (2.) is that the (1.) functions render lists of textures and the (2.) functions render a specific (passed in ) texture. The flexibility of the (2.) functions allows for manipulation of the graphics pipeline (hardware) on a per texture basis (this is nice for doing more complex rendering easily such as managing the motion of cards in a cover flow list). When calling (1.) functions the viewport must be opened up to be coincident with the whole screen (because the FontEngine stores a list of textures to present but does not maintain clip information for any of the textures in the list). When calling (2.) functions the viewport only used to obtain the rectangle values to perform the manual clipping; the viewport is otherwise opened up to be coincident with the screen for drawing. This casual (or convenient) use of the viewport in MediaPortal prevents the general exploitation of the rendering pipeline for hardware accelerated, complex rendering functions (like texture masking). It is recommended that the capability of MediaPortal to perform texture clipping be redesigned to use hardware accelerated clipping where possible (by using the D3D render state D3DRS_SCISSORTESTENABLE and associated apparatus).

http://mantis.team-mediaportal.com/view.php?id=3291

Open the issue in Mantis...
 

Users who are viewing this thread

Top Bottom