| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
agnostic (PMVMatrix, Matrix4f, Vec4f, ..)
Math functionality (PMVMatrix, Matrix4f, Vec4f, ..)
- shall be used toolkit agnostic, e.g. independent from OpenGL
- shall be reused within our upcoming Vulkan implementation
- may also move outside of JOGL, i.e. GlueGen or within its own package to be reused for other purposed.
The 'com.jogamp.opengl.util.PMVMatrix' currently also used to feed in GLUniformData
via the toolkit agnostic SyncAction and SyncBuffer
shall also be split to a toolkit agnostic variant.
An OpenGL PMVMatrix specialization implementing GLMatrixFunc can still exist,
being derived from the toolkit agnostic base implementation.
+++
Initial commit .. compile clean, passing most unit tests.
|
|
|
|
| |
useProgram() only throw exception if 'on==true' is requested (disabling after delettion is OK)
|
|
|
|
| |
dump{Shader->}Source(), refine string output.
|
| |
|
| |
|
|
|
| |
https://jogamp.org/bugzilla/show_bug.cgi?id=1283
|
|
|
|
|
|
|
|
| |
d78bb1be0a6290cb94918b21865a023c01825048
- Skip relative lookup for IOUtil.ClassResources using 'asset' only (from JAR file)
- Tested w/ jar file and build-dir, see scripts/tests.sh 'USE_BUILDDIR'
|
|
|
|
| |
@since 2.3.2 tag
|
| |
|
| |
|
|
|
|
| |
as w/ Uri usage
|
| |
|
|
|
|
| |
GLBufferStateTracker now also supports GL4.GL_QUERY_BUFFER
|
|
|
|
|
|
|
|
|
| |
sed -i 's/javax\.media\.opengl/com\.jogamp\.opengl/g' `grep -Rl "javax\.media\.opengl" src`
sed -i 's/javax\.media\.nativewindow/com\.jogamp\.nativewindow/g' `grep -Rl "javax\.media\.nativewindow" src`
sed -i 's/javax\/media\//com\/jogamp\//g' `grep -Rl "javax/media/" src`
sed -i 's/javax\/media\//com\/jogamp\//g' `grep -Rl "javax/media/" doc`
Manually edited all occurences within make/**
|
| |
|
|
|
|
| |
mis-interpretation alike Version130 -> [ 1.3.0 | 1.30.0 ] ?
|
| |
|
|
|
|
|
|
|
|
|
| |
- ShaderCode:
- Using Uri
- Also encode the rel. 'includeFile' (was missing earlier)
- GLMediaPlayer
- Exposes Uri in API, removed URI
|
| |
|
|
|
|
|
| |
- Add GL4.GL_TESS_CONTROL_SHADER and GL4.GL_TESS_EVALUATION_SHADER support for GLSL util class ShaderCode
- Add unit test TestTessellationShader01GL4NEWT, testing TessellationShader01aGL4 and TessellationShader01bGL4
|
| |
|
|
|
|
| |
uniforms -> re-use es3_default_precision_vp; Fixes PointsDemoES2
|
|
|
|
|
|
|
| |
- remove duplicate code in branch
- Use Type.valueOf(primitive)
- Don't use array.toString() directly
- remove dead code
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
c47bc86ae2ee268a1f38c5580d11f93d7f8d6e74)
- Change non static accesses to static members using declaring type
- Change indirect accesses to static members to direct accesses (accesses through subtypes)
- Add final modifier to private fields
- Add final modifier to method parameters
- Add final modifier to local variables
- Remove unnecessary casts
- Remove unnecessary '$NON-NLS$' tags
- Remove trailing white spaces on all lines
|
| |
|
|
|
|
| |
added; ShaderCode.addDefaultShaderPrecision(..): Branch GLES3 before GLES2, since gles2.isGLES2() == true
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TextureSequence to Region (Demo: TextureButton)
Cleanup shader-program location/data update
- GLUniformData:
- Allow lazy data setup, as used for
RenderState.ProgramLocal, see below
- RenderState
- Separate data (pmv, weight, colorStatic) from
program-local uniforms -> add class ProgramLocal.
Reduces uniform location lookups, since
ProgramLocal is bound to Region impl.
- ProgramLocal.update(..) needs to write uniform data always,
since data is being used in multiple programs!
- No 'dirty' tracking possible, removed - see above.
- RegionRenderer
- Fix shader-selection: 2-pass programs differ from 1-pass!
- No shader-setup at init
+++
Add COLORTEXTURE + TextureSequence to Region
- Create color-texture coords in vertex-shader via region's bounding box (pass-1)
- Use color-texture unit in pass-1 if enabled (own shader program)
- Use TextureSequence in Region impl. providing all required data (unit + texture-name)
- Demo: TextureButton (a UIShape)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in shader; Update attributes and uniforms manually, drop ShaderState;
- Due to shader-switching,
'renderModes' are now local to Region, e.g. UIShape etc
- Remove RegionRenderer.renderModes
- VBORegion2P*:
- Use simple 2x float matrix for orthogonal P+Mv
- Cleanup shader
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in shader; Update attributes and uniforms manually, drop ShaderState;
- ShaderCode
- add int insertShaderSource(int shaderIdx, int position, Class<?> context, String path)
- insertShaderSource(..): pos==-1 -> append code
- VectorUtil
- add isVec3InTriangle3(..., float epsilon)
- add testSeg2SegIntersection(..., float epsilon)
- add testTri2SegIntersection(..., float epsilon)
- AffineTransform: Return result for chaining
- Font
- Add pixel precise 'getPointsBounds(final AffineTransform transform, CharSequence string, float pixelSize)'
- Rename getString*() -> getMetric*()
- OTGlyph: Release _points field, no more used
-
- Graph Triangulation
- Count additional vertices in: Triangulator, CDTriangulator2D
- OutlineShape:
- Allow skipping of 'transformOutlines2Quadratic', i.e. allow tagging
OutlineShape to be quadratic_nurbs via 'setIsQuadraticNurbs()'
- Clarify cleanup ot outlines in same method 'cleanupOutlines()'
- Count additional vertices ..
- Graph Shader:
- Start splitting and segmenting shader code for:
- pass1 / pass2
- features, i.e. sampleCont, color-channel, ..
|
|
|
|
| |
custom shader
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Validate isGLES*() usage and definition ; Add and use ShaderCode.createExtensionDirective(..)
- Fix GLES3 Profile Mapping, i.e. GL2ES2 queries and mappings
- GLProfile: Add GL2ES2 -> ES3 mapping
- EGLContext: Reuqest major '3' for ES3
- EGLGLCapabilities/EGLGraphicsConfiguration: Consider EGLExt.EGL_OPENGL_ES3_BIT_KHR
- Validate isGLES*() usage and definition
- Fix BuildComposablePipeline's isGLES() code
- For GLSL related queries use isGLES() instead of isGLES2(),
which would exclude ES3
- Add and use ShaderCode.createExtensionDirective(..)
- Supporting creating GLSL extension directives while reusing strings from GLExtensions
- Minor cleanup of GLContextImpl.setGLFuncAvail(..)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GLContext:
- Proper API doc for Version* fields
- getStaticGLSLVersionNumber(): ES3 -> Version300
- hasGLSL(): Add ES3
ShaderCode:
- addDefaultShaderPrecision():
- ES2 default precision: Don't 'tune up' default precision for fragment shader, use 'mediump'
- Add ES3 default precision (equal to ES2 default precision)
- requiresDefaultPrecision(): Shall returns 'true' for ES3 as well!
|
|
|
|
| |
Signed-off-by: Harvey Harrison <[email protected]>
|
| |
|
|
|
|
| |
Signed-off-by: Harvey Harrison <[email protected]>
|
|
|
|
| |
Signed-off-by: Harvey Harrison <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
calling 'PropertyAccess.isPropertyDefined(propName, default)' through Debug class.
Calling 'Debug.isPropertyDefined(propName, default)' may be 'optimized' to
'PropertyAccess.isPropertyDefined(propName, default)', which would skip the modules Debug's class initialization.
Iff that happens, an AccessControlException may happen, due to requesting an insecure property,
since modules own Debug class has not been added it's trusted prefixes from within it's init block yet.
This seems to be a bug of the JVM .. to me, however .. the above description is the only
able to explain the issue at hand.
+++
Fix calls Debug class own static methods, either Debug.initSingleton() or Debug.debug(),
before calling 'isPropertyDefined(propName, default)'.
+++
Also mark Debug class static methods final!
+++
|
| |
|
|
|
|
| |
names, e.g. Version31 -> Version310. ; Trim GLVersionNumber string.
|
|
|
|
| |
not throw an exception -> avoid calling useProgram(.., false).
|
|
|
|
| |
version, following all other internal GLSL usage utilizing ShaderCode.
|
|
|
|
| |
Spec [1.30 - 1.40].
|
| |
|
|
|
|
| |
uniforms/attributes); Refine API doc.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GL3/GEOMETRY_SHADER unit tests. ; Simplified GLContext version number
- Adding GEOMETRY_SHADER support in ShaderCode, adding core GL3/GEOMETRY_SHADER unit tests
Chuck Ritola reported in December 2012 that we lack support of GEOMETRY_SHADER
and he provided a test case.
The latter is cleaned up to use GL3 core profile features only
tesing a pass-through and the flip-XYZ geometry shader.
ShaderUtil is fixed.
- Simplified GLContext version number
The OpenGL major/minor version is now hold in a VersionNumber instance
to simplify usage. Also expose it via getGLVersionNumber() while marking
getGLVersionMajor() and getGLVersionMinor() deprecated.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
operating w/o it; ShaderState: Remove notion of GL context attachment, use pass-through or object association; GLArrayData/GLUniformData: Add basic GLSL location methods
- GLArrayData/GLUniformData: Add basic GLSL location methods
- GLArrayData
- add: setLocation(..) for attribute location/index retrieval (post link) and binding (pre link)
- GLUniformData
- add: setLocation(..) for attribute location/index retrieval (post link)
- GLArrayData/ImmModeSink: Remove implicit dependency on ShaderState - allow operating w/o it
- GLArrayData
- add: 'public void associate(Object obj, boolean enable)', allows setting ShaderState usage
- ShaderState: Remove notion of GL context attachment, use pass-through or object association
- ownsAttribute(..) associates the attribute w/ ShaderState
- removed GL context ShaderState attachment
Tested:
- ImmModeSink w/ GLSL/ES2 w/ and w/o ShaderState
- GLArrayData* w/ and w/o ShaderState
|
|
|
|
| |
for success.
|
|
|
|
| |
w/ higher GLSL versions
|