aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix Bug 631 and enhance 601: Handle multiple keys (pressed, released, types ↵Sven Gothel2012-10-278-108/+350
| | | | | | | | | | incl. auto-repeat) - Using keyCode (bit) maps to isPressed and isAutoRepeat, allowing use of multiple keys - Enhance unit test TestKeyEventOrderNEWT w/ injecting variations of 2 diff. keys - Manual tested on X11, Windows and OSX w/ and w/o auto-repeat
* NEWT KeyEvent: Remove invalid version remarks.Sven Gothel2012-10-261-81/+35
|
* NEWT KeyEvent: Fix intendationSven Gothel2012-10-261-119/+119
|
* Fix Bug 601 - Auto-Repeat Behavior: Adding unit tests for typed key order w/ ↵Sven Gothel2012-10-2621-71/+978
| | | | | | | | | and w/o auto repeat. Incl. fix for Windows. Auto-Repeat tests recognizes whether auto-repeat could be triggered by AWT Robot. The latter is not possible on Windows, hence manual testing was required on this platform. Impact: X11, Windows and OSX produce proper key sequence incl. auto-repeat modifier mask.
* ShaderCode: Add defaultShaderCustomization(..) to prelude shader source w/ ↵Sven Gothel2012-10-2615-84/+104
| | | | GLSL version and default precision (if GLES) - Used by GearsES2/RedSquare/PointDemo (Made GLSL version proof)
* GLContext: Produce and expose GLSL version as VersionNumber and version ↵Sven Gothel2012-10-242-1/+92
| | | | | | | | | string (for shader programs) Uses GL_SHADING_LANGUAGE_VERSION and parses it via VersionNumber, as well as having a static fallback using the GL context version. The value is valid and can be retrieved after ctx has been made current once.
* Adapt to GlueGen change 08a8defda8b6f49eb794cf787f688ba65bfe7b37 (VersionNumber)Sven Gothel2012-10-241-13/+13
|
* Fix Bug 630: packedDepthStencilAvail didn't check for ↵Sven Gothel2012-10-241-1/+3
| | | | EXT_packed_depth_stencil extension
* jogl: use Boolean TRUE/FALSE constants for values that will be immediately ↵Harvey Harrison2012-10-231-2/+2
| | | | | | | | unboxed No reason for ever using new Boolean when the constants are available. Signed-off-by: Harvey Harrison <[email protected]>
* tests.sh: TestPointsNEWTSven Gothel2012-10-231-2/+2
|
* FixedFuncPipeline: Require GLSL 1.20 (GL 2.1) due to GL driver bugs in OSX ↵Sven Gothel2012-10-234-6/+80
| | | | (gl_PointCoords n/a otherwise); Add FFP Emul point test in TestPointNEWT/PointDemoES1.
* Fix regression of commit 40d01bef2a1db44533472c37961aabbef68de644: Test for ↵Sven Gothel2012-10-232-4/+4
| | | | fourth element was invalid
* ImmModeSink: Reduce DEBUG_* print a bit (no this.toString())Sven Gothel2012-10-231-10/+11
|
* FixedFuncHook/ImmModeSink: Fix *Pointer 'normalized' parameterSven Gothel2012-10-225-26/+48
| | | | | | | | | All *Pointer methods used 'normalized:=false', but we cannot assume the fixed function code does use normalized (0f..1f) values. On the contrary, it usually uses the native format value range. Hence we have to pass normalized:=true for all fixed point data types and normalized:=false for floating point data types.
* FixedFuncPipeline GL_POINTS: Fix gl_PointSize (attribute data format), Add ↵Sven Gothel2012-10-2211-98/+723
| | | | | | | | | | | | | | GL_POINT_SOFT and dist/fade attenuation (Adding basic POINT unit tests) gl_PointSize (and all other uniform array elems) was not propagated due to wrong usage of GLUniformData component param. Due to efficiency, we use vec4[2] now and #defines in shader to easy readability. GL_POINT_SOFT uses gl_PointCoord to determnine inside/outside circle position while adding a seam of 10% in/out. This almost matches 'other' implementations and gives a nice smooth circle. !GL_POINT_SOFT produces a proper square (billboard). Point-Vertex shader takes dist/fade attentuation into account.
* Fix ImmModeSink Padding: Fourth element default value (vertex/color) is 1fSven Gothel2012-10-201-33/+47
|
* FFP-Emu: Adding simple POINTS shader ; Adding GLRunnable2 interface, ↵Sven Gothel2012-10-205-61/+285
| | | | | | | | | | | | allowing passing a GL action w/ custom argument and return value. Adding simple POINTS shader not regarding POINTS parameters and not using a texture (commented out). FIXME: Event thought it works using a texture and gl_PointCoord in frag shader, I don't see the point here (lol) if gl_PointSize must be 1.0 in vert shader .. otherwise nothing is seen on ES2.0. On Desktop POINTS are always shown as 1 pixel sized points!
* FixedFuncPipeline: Add GL_POINT* state tracking; Fix glDrawArrays(): Issued ↵Sven Gothel2012-10-193-49/+131
| | | | | | twice (duh!) almost halfed performance :) TODO: Create GL_POINT texture and render w/ glDraw*()
* NEWT ScreenMode Change Failover / Window.setFullscreen() shall use current ↵Sven Gothel2012-10-192-16/+35
| | | | | | | | | | | ScreenMode rotated resolution. ScreenMode Change Failover - In case a timeout appears (buggy XRandR), double check current ScreenMode in case it has been set. Window.setFullscreen() shall use current ScreenMode rotated resolution. - The Screen's virtual size in not correct!
* Fix commit 48bcceaf611a17bb3795aa9fe25a0e0c726879f7, EGLDrawableFactory's ↵Sven Gothel2012-10-191-1/+0
| | | | | | ES1 impl. detection 'glBegin' is not ES1, duh!
* Add GenericGLCapabilitiesChooser: Dropping 'windowSystemRecommendedChoice' hintSven Gothel2012-10-191-0/+48
|
* EGLDrawableFactory: Detect ES1 implementation within ES2 library, if not ↵Sven Gothel2012-10-191-2/+16
| | | | | | found in ES1 library This is the case in BCM-VC-IV blobs, tested on Raspeberry-Pi
* NEWT / BCM-VC-IV: Fix transparency according to given capabilitiesSven Gothel2012-10-194-14/+36
| | | | Tested manual w/ TestGearsES2NEWT on Raspberry Pi
* FixedFuncPipeline: Don't handle CullFace, ES2 impl. already takes care of ↵Sven Gothel2012-10-185-11/+20
| | | | discarding pixels of culled faces.
* FixedFuncPipeline: Cache current ShaderSelectionMode, update PMVMatrix ↵Sven Gothel2012-10-182-13/+25
| | | | according it's usage (update Mvi/Mvit only if lighting is being used)
* ImmModeSink: Pretty'fying Ctor/Factory methods argument listSven Gothel2012-10-181-16/+21
|
* ImmModeSink: Add resizeElementCount, allowing user to set a lower additional ↵Sven Gothel2012-10-181-2/+20
| | | | resize element count
* ImmModeSink VBO: Update single buffers (vertex, color, ..) if once written ↵Sven Gothel2012-10-181-26/+58
| | | | | | | | and size gross-net > PAGE_SIZE Usually PAGE_SIZE is written within one DMA xfer command, so if the gross buffer bulk transfer contains more unused data than PAGE_SIZE we may win when transfering each single buffer at buffer update.
* ImmModeSink: Add glColor3ub(), glColor4ub(); Add proper value conversion of ↵Sven Gothel2012-10-183-105/+179
| | | | imm. gl* functions; Default color padding is 1f; Make fields private.
* FixedFuncPipeline/Hook: Add glColor4ub() w/ value conversion, make ↵Sven Gothel2012-10-182-9/+24
| | | | glColor4f() more efficient, use pre-alloc NIO buffer
* Minor NEWT Display/Screen API docSven Gothel2012-10-173-8/+10
|
* Path2D: Reuse 'contains(..)' method, footprintSven Gothel2012-10-161-6/+1
|
* Merge remote-tracking branch 'hharrison/master'Sven Gothel2012-10-163-3/+8
|\
| * jogl: fix bad format string in PngChunkTIMEHarvey Harrison2012-10-151-1/+1
| | | | | | | | | | | | Missing format specifier for the first argument would lead to this throwing IllegalFormatException. Signed-off-by: Harvey Harrison <[email protected]>
| * jogl: remove infinite loop in Path2D.contains(AABBox)Harvey Harrison2012-10-151-1/+6
| | | | | | | | | | | | | | | | | | It is impossible to use this method as it will get into an infinite loop as it just calls itself. Base the implementation on the contains method shortly before this method. As this method is impossible to actually use, it could also just be removed. Signed-off-by: Harvey Harrison <[email protected]>
| * jogl: fix bit shift error in LEDataInputStreamHarvey Harrison2012-10-151-1/+1
| | | | | | | | | | | | | | | | The readlong() method is attempting to build a 64bit value from two 32 bit reads. The problem is that shifting an int only uses the lower 5 bits of the shift value, so << 32 is the same as << 0. Cast to long and restore the original intention. Signed-off-by: Harvey Harrison <[email protected]>
* | ImmModeSink: Fix buffer grow (+1 element @ named buffer), enable DEBUG_* via ↵Sven Gothel2012-10-163-60/+83
|/ | | | properties, drawIndices QUAD w/ proper range and add uint; FixedFunctionHook: drawIndices QUAD w/ proper range and add uint
* FixedFuncColorTexture.fp: Remove unused local varSven Gothel2012-10-151-2/+0
|
* FixedFuncPipeline: Use ES2/GL2 prelude and set default precision. Shader ↵Sven Gothel2012-10-146-37/+49
| | | | code: Remove precision for default precision types.
* FixedFuncPipeline: Use resource efficient texture shader in AUTO mode as wellSven Gothel2012-10-141-2/+18
|
* FixedFuncPipeline: Optimize shader resource, if preset != ↵Sven Gothel2012-10-138-84/+214
| | | | ShaderSelectionMode.AUTO (good for mobile); Lazy shader instantiation.
* FBO ResetQuirk: Dump only brief information (OS, GL, JOGL sha1), the latter ↵Sven Gothel2012-10-132-5/+28
| | | | becomes public method to JoglVersion
* Fix Windows ANGLE Workaround Regression of commit ↵Sven Gothel2012-10-138-73/+81
| | | | | | | | | | | | | | | | 923d9dd7f1d40db72d35ca76a761ca14babf147f We are aware that Google's ANGLE (Windows EGL/ES2 impl. based on D3D) crashes using eglInitialize(..) w/ EGL_DEFAULT_DISPLAY. Commit 923d9dd7f1d40db72d35ca76a761ca14babf147f moved the EGL device initialization into the EGLDrawableFactory ctor and hence slipped out ANGLE workaround to disable it per default. - Moving property static flags from GLProfile -> GLDrawableFactory - Moving ANGLE workaround right into EGLDrawableFactory (where it belongs) - Moving optional EGL/ES disable code to GLDrawableFactory (where it belongs) Tested on Windows w/ Java-32bit and latest Chrome ANGLE DLLs
* GLCanvas: Avoid NPE in debug mode @ reshape (duh)Sven Gothel2012-10-121-1/+3
|
* FixedFuncHook: Add ES2 alignment of certain GL functions, i.e. ↵Sven Gothel2012-10-123-7/+54
| | | | GL_QUAD_STRIP/GL_POLYGON/GL_QUADS mapping, glTexImage2D internalformat/format match.
* GLArrayDataClient.bindBuffer(gl, bind=true): checkSeal and init_vbo if ↵Sven Gothel2012-10-122-2/+7
| | | | required (similar sanity checks as enableBuffer())
* GLArrayData* VBO binding: Properly document and impl. bindBuffer(..) in ↵Sven Gothel2012-10-1211-120/+175
| | | | | | | | | detail w/ data sync within GLArrayHandle, which also removed redundant code (VBO data sync and binding). Refines commit 8582ece7dc7f65271b3184261697a542766d9864 and f49f8e22953ed2426fd4264ee407e2dc3fc07cfc
* Adding unit tests for ImmModeSink and FixedFunctionPipeline (single & ↵Sven Gothel2012-10-1211-261/+684
| | | | combinations, plus texture usage)
* Enhance FixedFuncPipeline: Multi-Texture, Tex-Env, Alpha-Test, Lighting ↵Sven Gothel2012-10-1214-311/+957
| | | | | | | | | (fix, incomplete still), ShaderSelectionMode, Fix default values Besides the above mentioned additional features towards completness of the FFP emu, the ShaderSelectionMode allows fixating a shader program configuration, i.e. AUTO switch (default) or choosing a static shader program to avoid heavy program switches incl. uniform/attribute updates.
* ShaderState: Clean-up debug / verbose output. attachShaderProgram(..) still ↵Sven Gothel2012-10-121-41/+70
| | | | | | | issues UseProgram is enable==true, but no program switch. More versatile toString(StringBuilder sb, boolean alsoUnlocated), by default don't dump uniforms/attributes w/o valid location.