| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
requested context
.. this fixes the bug where [GL2ES2/GL4bc] didn't fetch GL4bc, but a GL2 old context.
|
| |
|
|
|
|
| |
; Disable FPS draw at start
|
|
|
|
|
|
|
| |
GLDrawableHelper always locked access to it's listeners, hence no copy is required
for add/remove a listener.
Writeout generics (warnings)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If GL_ARB_debug_output is not available, but GL_AMD_debug_output exist, fallback to the latter,
offering generic aliased methods translating the delta (AMD category <-> ARB source/type).
Generic aliased methods reside in GLContext*
Enable/Disable via GLContext and GLAutoDrawable.
To enable the GLDebugOutput feature GLContext.enableGLDebugMessage(true)
or GLContext.setContextCreationFlags(GLContext.CTX_OPTION_DEBUG)
shall be called _before_ context creation via GLContext.makeCurrent()!
In case GLAutoDrawable is being used,
GLAutoDrawable.setContextCreationFlags(GLContext.CTX_OPTION_DEBUG)
shall be issued before context creation via GLContext.makeCurrent()!.
After context creation, the GLDebugOutput feature may be enabled or disabled
at any time using this method.
Verify both unit tests for usability.
|
|
|
|
|
|
|
|
|
|
|
| |
API change)
- Don't fetch System.currentTimeMillis() by default and for every frame (performance)
- Default behavior is FPSCounter switched off
- Enable by frame interval, ie measure each 60 frames.
- FPSCounterImpl is default impl. used by impl. FPSCounter class (reduce code/redundancy)
- Might be promoted to GLAutoDrawable ?!
|
|
|
|
|
|
|
|
|
| |
RecursiveLock maintains a queue of waiting Threads,
ensuring the longest waiting thread will be notified at unlock.
Delete GLContextLock.
Cleanup HashMap generics style.
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Pass the current GL context object where it's required
- Introduce RenderState (which has ShaderState) to acquire/change shader related data (Region)
- Shader Cleanup: User import for common stuff; use req. version
- Reduce/remove data copy/recreation in *Region implementation
- UI/RIButton: Use defaults I like :)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
+++
Remove GL parameter for
- createFixed(..)
- createGLSL(..)
validation at client/server array data happens at 1st enableBuffer() call,
no current context or profile required at creation time.
Added ShaderState for createGLSL(..) clarifying dependency to the ShaderState,
passing it down to the GLSLArrayHandler, which also removes the TLS GLContext.getCurrent() call.
+++
Partially reverted ab48dac3f4419ceac51fdf059f310f0f0499c4d7 factory methods:
removed added vboTarget parameter, since all createFixed and createGLSL are GL_ARRAY_BUFFER (VBO).
Adding createData(..) factory method in GLArrayDataServer allowing diff vbo targets,
ie GL_ELEMENT_ARRAY_BUFFER .. or none.
|
|
|
|
|
|
|
| |
The spec doesn't require a current context for a swap buffer call, however,
if required .. as user shall encapsulate it by himself, or use the GLEventListener model.
Motivation: Reduce TLS GLContext.getCurrent() calls.
|
|
|
|
|
|
|
| |
GLBufferStateTracker.isBoundBufferObjectKnown() is redundant, since it's 'get'
method added it if not yet known.
GLBufferSizeTracker removed above mentioned call, fallback to std GL query, no exception.
|
|
|
|
|
|
|
|
|
| |
new: 'public static String getRelativeOf(URL baseLocation, String relativeFile)',
capable of handling a JAR file/url.
Using File based relative locator, allowing better utilization in code:
old public static String getRelativeOf(String absoluteFileLocation, String relativeFile)
new public static String getRelativeOf(File baseLocation, String relativeFile)
|
| |
|
|\ |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
createString function is now public to be able to create a string
without initializing textRenderer. Temp change, should be cleaned up.
added missing scale transformation to renderer pmvmatrix;
added glyphstring.getBounds() so not to use font.getStringBounds.
since it Would be a redundant call.
|
| | | |
|
| |/
|/| |
|
| | |
|
| | |
|
|/
|
|
|
|
|
|
|
|
| |
target, comments, names)
VBO target: Allowing ELEMENT_VERTEX_ARRAY w/o corresponding GLSL/Fixed attribute
Names: Clarified method named.
Comments: Added and fixed comments
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
dispose/disposeImpl sequence;
Use shaderProgram.program() instead of shaderProgram.id() - the id() is just a unique sequence name.
Call glBindAttribLocation() after program object init and before linkage.
Chain call disposeImpl() properly to fix destruction sequence:
TextRendererImpl01 -> TextRenderer -> GlyphString -> Region
RegionRendererImpl01 -> RegionRenderer -> Region
|
|
|
|
|
|
|
| |
The new FBObject handles state transition more easily and it's usage is less complex
to the caller - compared to inline usage.
Use shaderProgram.program() instead of shaderProgram.id() - the id() is just a unique sequence name.
|
|
|
|
| |
and trace pipeline.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
in first pass the shader now discards pixels that
are dropped by imlicit AA, and second pass (if executed) doesnt include them
in AA clac.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
queries/selection
TODO: Validate if bug is actually relates to the 'old' ATI Windows driver for old GPU's like X300 etc
and unrelated to the actual Windows version !
Also ensure that the no pixelformat is being set on external context/HDC.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
WGL_PIXEL_TYPE_ARB:
Results -> GLCapabilities
- WGL_TYPE_COLORINDEX_ARB not supported
- Only WGL_TYPE_RGBA_FLOAT_ARB makes pbuffer float
Query:
- Only use WGL_FLOAT_COMPONENT_NV if supported
- Remove multiple WGL_PIXEL_TYPE_ARB entry
GLX_RENDER_TYPE:
Results -> GLCapabilities
- GLX_COLORINDEX_BIT only not supported
|
|
|
|
|
| |
- Using new IntIntHashMap clone() operation
- Comment: Tuning IntIntHashMap capacity to avoid rehash
|
|
|
|
|
|
|
| |
- using LinkedList as stack replacement for non index based push/pop
- increased initial map size since the default values already exceeds the default mapsize
- size()==0 -> isEmpty() (can be significantly faster if the deque impl would change in future)
- map copy with initial size
- minor other changes
|
| |
|
|
|
|
| |
corresponding push was of ClientPixelStore type
|
| |
|
|
|
|
|
|
| |
for new windowing system ad-hoc development.
WARNING: This method may change ro be removed over time!
|
| |
|
|
|
|
|
|
| |
- Remove unsafe double checked locking
- Annotate safe double checked locking (volatile)
- use 'static final' if possible
|
|
|
|
|
|
| |
- StringBuffer -> StringBuilder
- ReflectionUtil.getBaseName -> class.getSimpleName()
- cleanup imports, generics and @Override for all touched classes
|