Bug 719 - Windows BITMAP Offscreen Orientation is not propagated through API (i.e. vertically flipped when read-out w/ OpenGL API via glReadPixels())
Summary: Windows BITMAP Offscreen Orientation is not propagated through API (i.e. vert...
Alias: None
Product: Jogl
Classification: JogAmp
Component: windows (show other bugs)
Version: 2
Hardware: All windows
: --- major
Assignee: Sven Gothel
Depends on: 720
  Show dependency treegraph
Reported: 2013-04-17 15:07 CEST by Sven Gothel
Modified: 2013-04-18 03:22 CEST (History)
0 users

See Also:
Type: ---
SCM Refs:
Workaround: ---


Note You need to log in before you can comment on or make changes to this bug.
Description Sven Gothel 2013-04-17 15:07:09 CEST
An offscreen GLDrawable using BITMAP on Windows shall expose the same behavior than 
other impl.

Culprit is WindowsBitmapWGLDrawable, which flips the GDI DiB via
BITMAPINFOHEADER's height field while assigning the negative height.

This shall not be done, since we don't read out the DiB directly, 
but via OpenGL.
Comment 1 Sven Gothel 2013-04-18 02:51:45 CEST
Depends on Bug 720, since cleaning up GLContextImpl* is required to move 
property 'GLContext.isGLOrientationFlippedVertical()'
to 'GLDrawable.isGLOriented()' where it belongs!

Windows BITMAP GLDrawable impl. isGLOriented() shall return false,
while we keep the BITMAPINFOHEADER's height field negative 
to remove the need for vertical flip when used w/ AWT or Windows, ..

Then property 'GLDrawable.isGLOriented()' has to be recognized throughout the
utility functions, i.e. TextureData's mustFlipVertically and hence TextureIO writer.