Login  Register

RFC: OpenGL 3.3, 4.0 and 4.1 support

Posted by Sven Gothel on Aug 24, 2010; 4:38pm
URL: https://forum.jogamp.org/RFC-OpenGL-3-3-4-0-and-4-1-support-tp1314485.html

Please review and comment to the integration of the 'new' OpenGL versions.

Maybe you find:
        - missing enums / funcs
        - wrong enums / funcs grouping
                - extension / version
                - java interface (GL2ES2, GL2GL3, GL2, GL3*, GL4*)
        - ??

+++

http://github.com/sgothel/jogl/commit/ca119c97340caf325cd682c5fdbe8f794a35ac0e

Add OpenGL 3.3, 4.0 and 4.1 language mapping.

- Update header:
    - GL/glext.h to khronos 2010-08-03
    - GL3/gl3.h to khronos 2010-08-03

    - Move platform code to
        GL/glplatform.h
        GL3/glplatform.h

    - Unify 64bit typedefs: gl-64bit-types.h

    - Move GL 3.[123] and 4.[01] complete subsumed extension
      enums and functions into their extension spec and just reference them.
      This ensures proper extension availability
      via lower OpenGL profiles, hence a proper GL2GL3 interface.

- GL3/GL4 cleanup:
  - make-glextension-depignore.sh:
    determine required GL version for extensions
    for proper positioning, ie GL2GL3 or GL3 or GL4
    via gluegen IgnoreExtension commands.

  - use ARB_ES2_compatibility for common GL2ES2 methods,
    if available

  - consolidated gl2-gl4 subsumed extension to gl-common.cfg

- Missing GL3/GL4 Functions:
    glMultiDrawElementsBaseVertex
    glDebugMessageCallbackARB
    glDebugMessageCallbackAMD

- TODO (new feature integration):
    - ARB_ES2_compatibility / ARB_get_program_binary for com/jogamp/opengl/util/glsl, ie
        - store binaries com/jogamp/opengl/util/glsl/sdk/CompileShader*
        - query supported binary formats (enums ?)
        - optional prio binaries
    - ARB_ES2_compatibility, if available GLES2/GL2ES12 would be available
    - ARB_separate_shader_objects for com/jogamp/opengl/util/glsl, ie
        - swizzle vertex/fragment shader in programs
        - ..

signature.asc (845 bytes) Download Attachment