aboutsummaryrefslogtreecommitdiffstats
path: root/src/classes/com/sun/opengl/util
Commit message (Collapse)AuthorAgeFilesLines
* Refactorings to support building JOGL for OpenGL ES 1 and OpenGL ES 2. Kenneth Russel2008-05-131-176/+139
| | | | | | | | | | | | | | | | | | | | | "ant -Djogl.es1=1" builds JOGL for OpenGL ES 1. "ant -Djogl.es2=1" builds JOGL for OpenGL ES 2. "ant" builds JOGL for desktop OpenGL (2.1). Building desktop OpenGL is currently broken (FIXME) -- more refactorings are necessary. When compiling, it is currently necessary to specify -Djogl.noglnatives=1 on the ant command line as well, because the generated native code does not link properly since we do not have OpenGL ES libraries on the desktop. Building the generated native code using a cross-compiler is not yet hooked up into the ant build mechanism. It is necessary to build the generated native code with external tools. Also incorporated spatialized audio framework using Windows waveOut device; this is a temporary measure until a different workspace can be found for this code. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1630 232f8b59-042b-4e1e-8c03-345bb8c30851
* Addendum to fix for Issue 344: Serious TextRenderer problems involving large ↵Kenneth Russel2008-02-191-1/+1
| | | | | | | | | | | | fonts & unicode characters Fixed off-by-one error in computation of needsAdvance bit for high Unicode strings pointed out by spiraljetty on JOGL forum. Added test case for this. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1538 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added table of Porter-Duff compositing rules in the face of Kenneth Russel2008-02-181-0/+22
| | | | | | | | premultiplied alpha based on some code from the Java 2D OpenGL pipeline git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1535 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 344: Serious TextRenderer problems involving large fonts & ↵Kenneth Russel2008-02-181-476/+462
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | unicode characters The glyph-based rendering algorithm for the TextRenderer was performing rendering in two steps: glyph preparation and upload, and rendering. This structure doesn't work in the context of the RectanglePacker, which can reorganize the backing store during any upload. Restructured the glyph cache in the TextRenderer in terms of flyweight Glyph objects which know how to upload and render themselves. During any upload, the outstanding glyphs not yet rendered to the screen may thereby be flushed. Improved the code path which falls back to the string-by-string algorithm for complex Unicode characters so that incoming strings can be segmented into multiple parts which are rendered either using the glyph cache or the string-by-string algorithm. Also tinkered with the bounds of glyphs and strings on the backing store to try to more definitively eliminate bleed-over between adjacent characters on the backing store, and to ensure that all of the pixels of glyphs are drawn. Some heuristics are unfortunately involved but the new code appears to work well with both very large and very small fonts. Added a few more test cases for the TextRenderer based on the bug report. Tested with the previous test cases as well. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1533 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 342: demos/j2d/TextFlow (TextRenderer) demo gives fuzzy text Kenneth Russel2008-02-161-7/+32
| | | | | | | | Added setSmoothing / getSmoothing to TextRenderer API to offer control over filtering mode of the TextureRenderer backing store. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1528 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 339: Add system properties to turn off VAs/VBOs in TextRenderer Kenneth Russel2008-02-161-17/+80
| | | | | | | | | Incorporated patch from emzic, slightly modified, to add set/getUseVertexArrays() as concession to graphics cards which do not perform well with small vertex arrays. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1527 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed incorrect statements from TextureIO class about certain Kenneth Russel2008-01-161-8/+4
| | | | | | | | | methods not automatically generating mipmaps which appear to have been vestigial comments from the original checkin of this code; errors pointed out by Tom Gaskins of NASA World Wind Java project git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1500 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 332: TextRenderer depends on OpenGL 1.3 glClientActiveTexture Kenneth Russel2007-11-151-1/+0
| | | | | | | | | | | Removed call to glClientActiveTexture, which was incorrect as written since the texture object was being bound to the current texture unit and then the active texture unit forced to GL_TEXTURE0 just before setting up the texture coordinate pointer. Tested with text demos in jogl-demos workspace. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1440 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 326: TextRenderer corruption with certain text Kenneth Russel2007-11-091-6/+19
| | | | | | | | | | | | | | | | | Fixed four issues: - Regression in new segmenting and punting code causing ArrayIndexOutOfBoundsException due to not resetting the glyph uploader during punt. - Issue in same code where length and total advance were not being reset properly. - Incorrect handling in glyph-by-glyph rendering when backing store was using NPOT texture and GL_ARB_texture_rectangle. - Failure to punt when glyph code was out of bounds. Checked in two regression tests for these issues. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1434 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added RenderDelegate.getBounds(GlyphVector, FontRenderContext) and Kenneth Russel2007-11-031-6/+12
| | | | | | | | delegated to it in glyph-by-glyph renderer in order to support advanced RenderDelegates. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1424 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixes from John Burkey: Kenneth Russel2007-11-031-53/+117
| | | | | | | | | | | 1) Add segmenting for runs of glyphs that are going to blow the cache (we track upload size) a) upload handling b) glyph run segmenting 2) Fix incorrect assumption that the glyph cached didn't change size. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1423 232f8b59-042b-4e1e-8c03-345bb8c30851
* Whitespace changes only; for consistency, processed with Jalopy and Kenneth Russel2007-11-031-1457/+1491
| | | | | | | then re-indented with emacs git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1422 232f8b59-042b-4e1e-8c03-345bb8c30851
* Made TextRenderer.DefaultRenderDelegate public and static on request Kenneth Russel2007-10-191-1/+1
| | | | | | | from emzic on JOGL forum git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1409 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 324: Rendering artifacts with glyph-based TextRenderer Kenneth Russel2007-10-171-1/+1
| | | | | | | | Changed from using getVisualBounds() to the more accurate getPixelBounds() when computing bounding box for individual glyphs. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1406 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 323: TextRenderer leaves VBOs bound Kenneth Russel2007-10-171-14/+39
| | | | | | | | | | | | | Manually unbound VBOs because it appears that some graphics drivers do not push and pop the GL_ARRAY_BUFFER_BINDING and other state during glPushClientAttrib / glPopClientAttrib. This is an area where the OpenGL specification is ambiguous. Added a non-VBO code path using normal vertex arrays for graphics cards that don't support VBOs. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1404 232f8b59-042b-4e1e-8c03-345bb8c30851
* Undid last checkin as it appears the current glPushClientAttrib / Kenneth Russel2007-10-131-6/+0
| | | | | | | | glPopClientAttrib in the TextRenderer are sufficient. Reverted back to nightly build numbering scheme; 1.1.1-rc6 version number not yet used. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1398 232f8b59-042b-4e1e-8c03-345bb8c30851
* Pre-emptively added clearing out of the GL_ARRAY_BUFFER binding after Kenneth Russel2007-10-121-0/+6
| | | | | | | | | doing glPopClientAttrib since it isn't clear according to the OpenGL specification whether this binding is part of the client-side state. Bumped build number to 1.1.1-rc6. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1396 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed problems causing breakage of NASA's World Wind Java. Added need Kenneth Russel2007-10-101-0/+19
| | | | | | | | | glPush/PopClientAttrib due to modification of vertex array enable states and vertex buffer object bindings. Fixed bug in setColor() where flushing was not occurring every time it needed to. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1393 232f8b59-042b-4e1e-8c03-345bb8c30851
* Integrated John Burkey's new TextRenderer implementation using Kenneth Russel2007-10-091-172/+853
| | | | | | | | | | | | | | | | | | | | | glyph-by-glyph caching for most cases, with fallbacks to String-by-String caching for complete Unicode correctness. New implementation yields drastic performance improvements for applications displaying large amounts of dynamic text. Upgraded JOGL demos to work with new TextRenderer. This checkin fixes at least the following issues: Issue 261: Throttle shrinking of backing store texture for TextRenderer Issue 293: TextRenderer: width of strings with spaces not correct in RC4 Issue 294: TextRenderer: rendering stops when a string is wider than the maximum texture size Issue 304: TextRenderer rendering artifacts in 3D mode as well as outstanding performance issues with the current TextRenderer reported on the JOGL forum. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1388 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added support for loading non-mipmapped, non-power-of-two compressed Kenneth Russel2007-09-042-5/+75
| | | | | | | | | | | textures on pre-OpenGL 2.0 hardware by first loading an "empty" compressed texture and then updating a sub-rectangle of its image. Straightforward port of this code to the mipmapped case did not work; added error checking for this case and throwing of GLException. Bug pointed out by Dave Collins from NASA World Wind Java project. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1354 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 307: Rectangular (but still pow2) dds textures with mipmaps ↵Kenneth Russel2007-08-061-6/+6
| | | | | | | | | | | incorrectly loaded Clamped several divisions of width and height to 1 as per bug description. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1328 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed regression pointed out by Tom Gaskins where Kenneth Russel2007-07-121-7/+21
| | | | | | | | getEstimatedMemorySize() was returning 0 due to the lazier initialization of the data buffer in the custom image conversion case git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1299 232f8b59-042b-4e1e-8c03-345bb8c30851
* Cleaner version of previous fix. Clarified documentation, made the Kenneth Russel2007-05-171-13/+12
| | | | | | | | | default Composite SrcOver, and now save and restore the Composite just to avoid destroying any RenderDelegate's Composite unnecessarily (although there is no guarantee it will be preserved). git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1249 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed problem in TextRenderer where custom render delegates would Kenneth Russel2007-05-171-0/+8
| | | | | | | | | result in corrupted backing store due to semantics of Graphics.copyArea() paying attention to transparent pixels; need to clear out the destination rectangle first git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1248 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed problems in TextureIO classes where they did not work with Kenneth Russel2007-05-072-15/+73
| | | | | | | | OpenGL 1.1. Added logic to back off from using OpenGL 1.2 image types by using same code paths as for custom BufferedImage types. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1238 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added note on usage of TextRenderer with TileRendererKenneth Russel2007-05-041-0/+9
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1231 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 296: TextureIO cube map support brokenKenneth Russel2007-04-212-36/+56
| | | | | | | | | | | | | Fixed code paths supporting cube maps. As a positive side-effect, the VertexProgRefract demo's cube map is now rendered completely correctly; inversion of the positive and negative Y images, and the negative Y scale factor on the texture matrix, are no longer needed, and the seams around the top image are gone. Fixed code relating to automatic mipmap generation in the presence of only GL_ARB_texture_rectangle and not GL_ARB_texture_non_power_of_two. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1212 232f8b59-042b-4e1e-8c03-345bb8c30851
* Updated link to most recent archived JNLP to 1.1.0, Javadoc windowKenneth Russel2007-04-191-5/+4
| | | | | | | title, and version history in spec overview; minor Javadoc fixes git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1208 232f8b59-042b-4e1e-8c03-345bb8c30851
* Reverted TextRenderer back to not tokenizing strings as that wasn't Kenneth Russel2007-04-181-6/+6
| | | | | | | producing identical rendering results git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1200 232f8b59-042b-4e1e-8c03-345bb8c30851
* More fully debugged tokenized rendering of strings and turned it on by Kenneth Russel2007-04-081-13/+19
| | | | | | | | default. Can be disabled by specifying -Djogl.TextRenderer.nosplit. Exposed getSpaceWidth() on request of emzic on javagaming.org forums. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1195 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added automatic mipmap generation support via GL_GENERATE_MIPMAP Kenneth Russel2007-04-083-22/+179
| | | | | | | | | | texture parameter to Texture class. Exposed this support up through the TextureRenderer and TextRenderer classes. Tested by temporarily enabling mipmap support for TextCube demo; no visual improvement, however, so left it disabled for now. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1194 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added TextureIO.setTexRectEnabled() and isTexRectEnabled() based onKenneth Russel2007-04-032-1/+38
| | | | | | | | discussions with Chris Campbell of the Java 2D team, and changed Texture implementation to respect it git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1190 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added a markDirty() method to TextureRenderer and removed the sync() Kenneth Russel2007-03-273-25/+62
| | | | | | | | | | | method. markDirty() may be called at an arbitrary point (in particular, when no OpenGL context is current) and the union of the dirty regions is automatically synced with the underlying texture during the next getTexture() operation, at which point the dirty region is cleared. Adjusted Overlay and TextRenderer classes. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1182 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added Texture.getAspectRatio().Kenneth Russel2007-03-211-0/+13
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1177 232f8b59-042b-4e1e-8c03-345bb8c30851
* Simplified math in last putbackKenneth Russel2007-03-161-2/+2
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1171 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 287: TextRenderer rendering artifacts Kenneth Russel2007-03-161-3/+17
| | | | | | | | | | Stress testing uncovered that when neither GL_ARB_texture_non_power_of_two or GL_ARB_texture_rectangle were available, the Texture class was returning incorrect texture coordinates for textures which needed to be flipped vertically. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1170 232f8b59-042b-4e1e-8c03-345bb8c30851
* Made disabling of the depth test optional in TextRenderer and Kenneth Russel2007-02-272-12/+63
| | | | | | | | TextureRenderer's orthographic rendering methods based on feedback from Dave Collins from NASA World Wind project git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1160 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 281: FileUtil doc enhancement Kenneth Russel2007-02-271-4/+12
| | | | | | | Improved documentation as suggested. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1159 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 277: Documentation enhancement Kenneth Russel2007-02-271-36/+66
| | | | | | | | Added text to Screenshot class's methods indicating which read buffer is used. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1157 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 278: Fatal error when rendering text Kenneth Russel2007-02-271-0/+40
| | | | | | | | | Added code to restore current text drawing color when backing store is resized. Fixed NullPointerException in RectanglePacker during deletion if no backing store was allocated. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1156 232f8b59-042b-4e1e-8c03-345bb8c30851
* On advice from Chris Campbell, forced TYPE_INT_ARGB and Kenneth Russel2007-02-271-3/+12
| | | | | | | | | | TYPE_4BYTE_ABGR images down custom code path in order to obey general invariant that image data sent down to OpenGL has premultiplied alpha. Fixed bug in handling of TYPE_INT_ARGB images in custom image conversion. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1155 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 276: Bug in handling of RGB-like custom BufferedImages in TextureIO Kenneth Russel2007-02-221-1/+1
| | | | | | | | | Code path handling RGB-like TYPE_CUSTOM BufferedImages in the TextureIO classes should have been computing the row length by dividing the scanline stride by 3, not 4. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1150 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 275: Rendering bugs in TextRenderer Kenneth Russel2007-02-221-1/+38
| | | | | | | | | | | | | Fixed problem where during resizing of backing store for TextRenderer we were neglecting to unbind the old texture and bind the new one. This caused attempts to render with an invalid texture, which was probably the cause of crashes and definitely the cause of rendering artifacts. Fixed by calling endRendering() / beginRendering() appropriately on the underlying TextureRenderer during resizing of the backing store of the TextRenderer. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1148 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 273: class DDSImage don't support cubemap textures Kenneth Russel2007-02-211-16/+144
| | | | | | | Incorporated suggested fix from java.net user bandures. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1146 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 272: Move setColor method from TextRenderer up to TextureRenderer Kenneth Russel2007-02-202-28/+64
| | | | | | | | Moved setColor() implementation from TextRenderer to TextureRenderer and reimplemented TextRenderer's methods in terms of it. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1143 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added handling and documentation for jogl.silent.noddraw.check and Kenneth Russel2007-02-141-26/+61
| | | | | | | | | jogl.disable.noddraw.check applet parameters on request of NASCAR RaceView team at Turner Broadcasting. Forced inclusion of current JRE's version in version set for better robustness. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1132 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added RenderDelegate mechanism to TextRenderer to provide more control Kenneth Russel2007-02-111-19/+103
| | | | | | | | where desired over the rendered text bitmap. Added CustomText demo to demonstrate its usage. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1128 232f8b59-042b-4e1e-8c03-345bb8c30851
* Javadoc fixKenneth Russel2007-02-111-2/+3
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1127 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added setColor(Color) convenience methodKenneth Russel2007-02-111-0/+16
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1126 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 267: class DDSImage return incorrect mipmap level data. Kenneth Russel2007-01-261-2/+2
| | | | | | | Applied recommended fix from submitter. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1107 232f8b59-042b-4e1e-8c03-345bb8c30851