| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| | |
|
| |
| |
| |
| |
| | |
Implements more of John Pritchard <[email protected]> proposal
https://github.com/syntelos/jogl/commit/eadee0758babcddaa5eeaffbe046e1b09f9f550e
|
| |
| |
| |
| |
| | |
- throw InternalError() for CloneNotSupportedException case, which never happens
- AffineTransform clone() uses covariant return type as well, ie AffineTransform
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
transformation (cubic -> quadratic)
Impl. more of John Pritchard <[email protected]> proposal
https://github.com/syntelos/jogl/commit/05a7ec92d30e1e688b1eb7cc317cad83a0e8fd60
+++
More std. functionality (equals, deep clone) of AABBox, Vertex, Outline and OutlineShape.
Simplify Vertex:
- Remove 2 component constructor
- Add on-curve in Vertex.Factory / Constructor
- Adding equals(Object)
- Remove Comparable/compareTo, since we only can make an equals statement
Outline/OutlineShape: Handle dirty flag for boundary (new set/remove operation)
OutlineShape: Better in-place transformation (cubic -> quadratic)
|
|/
|
|
| |
<[email protected]> https://github.com/syntelos/jogl/commit/05a7ec92d30e1e688b1eb7cc317cad83a0e8fd60#L0R59)
|
|
|
|
|
|
|
|
|
|
| |
Seperate texcoords from shaprness
Added NonUniform weight shader impl for region impl only (not text)
Refactor p1y --> weight (equiv to nurbs weight)
cleanup shader uniforms (rename/remove unneeded)
Enhanced blending of text
GPURegionNewtDemo01 - added weight W/Q to manipulate weight
refactor r2t --> vbaa (matching algorithm name)
|
|
|
|
| |
Better toString formating
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
function; switch program enh. ; Graph lifecycle
Add 'ownUniform()/ownAttribute()' allowing to reset all bound uniforms/attributes,
not just active ones plus handling the lifecycle of the owned attributes (destroy).
This simplifies the lifecycle of all shader attributes.
Rename glFunction -> function .. well, the GL attribute marks them GL related already
Switch program enhancement. If switching to new program (unlinked), issue glBindAttributeLocation ..
Graph lifecycle cleanup using the above ..
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ShaderProgram:
- shaderCode's HashMap -> HashSet
- adding HashSet for attached ShaderCode
- link: allow relink, attachShader only if not yet attached
- new add(gl, ShaderCode, ..) method, allowing compile/attach pre linkage
- remove boxing of integer 'id', use generics style (warnings)
- rename: glReplaceShader -> replaceShader, glUseProgram -> useProgram
- fix: replaceShader
- hashCode _is_ 'id'
ShaderCode:
- remove boxing of integer 'id', use generics style (warnings)
- hashCode _is_ 'id'
ShaderUtil: Use generics style (warnings), static names
|
|
|
|
|
|
|
|
|
|
|
| |
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 ?!
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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 :)
|
|
|
|
|
|
| |
Capable of glBinAttribLocation(..)
Proper state check (has program, linked program, ..) for attrib/uniform methods.
|
|
|
|
|
|
|
|
|
| |
Added validation of FB/render buffer creation using glGetError(),
due to users trouble of determine the root cause of erroneous application behavior.
This change shall help tackling bug: 492 and 495
https://jogamp.org/bugzilla/show_bug.cgi?id=492
https://jogamp.org/bugzilla/show_bug.cgi?id=495
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
+++
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.
|
| |
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(remove GLContext.getCurrentGL() usage.
Using function signatures explicitly require the GL [current] instance clarifies
that the context must be current.
Removing GLContext.getCurrentGL() reduces TLS access of current thread
and hence possible performance hits.
The Texture class has been chosen for this conversion [not TextureIO yet],
since the enable/bind methods maybe used within a rendering loop.
User already 'complained' about lack of current GLContext clarity as well.
|
| |
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Destroy removed ones
- Handle overwrite/update on same key
- Clarified names (size/limit)
- Handle cache limit unlimited (limit := -1) and no cache (limit := 0)
- Default cache limit := 256
- Comments
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
target, comments, names)
VBO target: Allowing ELEMENT_VERTEX_ARRAY w/o corresponding GLSL/Fixed attribute
Names: Clarified method named.
Comments: Added and fixed comments
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
before link stage.
This is required to allow proper usage of 'glBindAttribLocation()'.
|
|
|
|
| |
Allow parametrization of each component.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
jogamp.<module> (2/2) - edit files
- com.jogamp.opengl.impl -> jogamp.opengl
- com.jogamp.opengl.util.glsl.fixedfunc.impl -> jogamp.opengl.util.glsl.fixedfunc
- com.jogamp.nativewindow.impl -> jogamp.nativewindow
- com.jogamp.newt.impl -> jogamp.newt
This sorts implementation details from the top level, ie skipping the public 'com',
allowing a better seperation of public classes and implementation details
and also reduces strings.
This approach of public/private seperation is also used in the OpenJDK.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
jogamp.<module> (1/2) - rename task
- com.jogamp.opengl.impl -> jogamp.opengl
- com.jogamp.opengl.util.glsl.fixedfunc.impl -> jogamp.opengl.util.glsl.fixedfunc
- com.jogamp.nativewindow.impl -> jogamp.nativewindow
- com.jogamp.newt.impl -> jogamp.newt
This sorts implementation details from the top level, ie skipping the public 'com',
allowing a better seperation of public classes and implementation details
and also reduces strings.
This approach of public/private seperation is also used in the OpenJDK.
|
|
|
|
| |
due to possible diff function ptr of sw impl (NV/Win7)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Scenario
- NV / Win7 driver version 266.58's
- Caps: on-scr, rgba 8/8/8/0, accum-rgba 0/0/0/0, dp/st/ms: 16/8/0, dbl, mono
The above 'wglChoosePixelFormatARB' impl returns an array of pixelformats,
where the 1st entry is not hardware accelerated!
This should be considered a bug in NV's driver, since the array should return
a list ordered from 'best' to 'worst'.
Workaround trying explicit hw acceleration 1st, then generic, then software.
|
|
|
|
|
|
| |
Allows TestBug461OffscreenSupersamplingSwingAWT to pass on NV/Win7.
Root cause was using the requested unfixed caps (onscreen, !pbuffer)
instead of the fixed ones.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
WindowsWGLGraphicsConfiguration.create(..) ->
WindowsWGLGraphicsConfiguration.createFromCurrent(..) emphasizing that
all resources are 'current' ie locked and available.
This method is used for the external context/drawable creation only, called
while they are current.
Hence this method no more makeCurrent/release, which interfered with the
current external context state.
WindowsWGLGraphicsConfigurationFactory: Move surface locking to the right
(common) place.
|
| |
|