Graham
96f9f19de5
Document that CGL lacks extensions in getExtensionsString
5 years ago
Graham
69a80074ea
Return empty string if wglGetExtensionsStringEXT is not supported
5 years ago
Graham
fa2bde7e0d
Add initial Mac OS X jaggl support
5 years ago
Graham
ab6743f8d7
Add description to all modules
5 years ago
Graham
0cc1780007
Disable unix profile on Mac OS X
5 years ago
Graham
0897a87e27
Add missing unsupported platform branch
5 years ago
Graham
5b63d3ca4f
Replace maven.multiModuleProjectDirectory with openrs2.root
...
openrs2.root works correctly even if the root of the reactor is a child
project, at the expense of having to re-define the property in each
module.
5 years ago
Graham
fb3b0b59c3
Use JNI_ABORT to release arrays that we don't expect OpenGL to change
5 years ago
Graham
aa2da469fa
Cast void * pointers to const void * where possible
5 years ago
Graham
ddb1b39880
Improve variable names in jaggl_bootstrap_proc_table
5 years ago
Graham
53a3bbf43f
Enable and fix MSVC warnings
5 years ago
Graham
d6b6e3fd21
Reduce indentation in choosePixelFormat
5 years ago
Graham
b849d1a093
Use alpha_bits instead of cAlphaBits for consistency with X11
5 years ago
Graham
e71e07adf0
Remove unnecessary global AWT lock on Windows
5 years ago
Graham
f9c439ffe6
Unregister class after jaggl_bootstrap_proc_table
5 years ago
Graham
f218ba381a
Avoid passing GLX_SAMPLE* to glXChooseVisual if num_samples is zero
...
I think glXChooseVisual will return an error if GLX_SAMPLE* is present
even if we set it to False/0, so we might never get a context on old
hardware.
5 years ago
Graham
21718583e8
Add multisample support to WGL contexts
5 years ago
Graham
609baccbe0
Populate jaggl_alpha_bits with cAlphaBits from selected pixel format
5 years ago
Graham
d7ca52505f
Reduce indentation in chooseContext
...
We don't need to keep indenting like the X11 code as we only call
ChoosePixelFormat once.
5 years ago
Graham
1f03c312ed
Add #error case to all platform #if/else chains
...
This is a bit more robust: if we typo one of the platform defines, we'll
know about it rather than silently missing bits of code.
5 years ago
Graham
341078088b
Add initial WGL support
5 years ago
Graham
c6c24e50e0
Load glTexImage3D with glXGetProcAddressARB
...
It isn't part of OpenGL 1.1, so we need to make this change for
compatibility with Windows.
5 years ago
Graham
7bc31ad8d8
Share jawt library between profiles
5 years ago
Graham
fa2fc0f7c3
Add OpenGL extension headers
...
Copied from https://github.com/KhronosGroup/{OpenGL,EGL}-Registry .
Windows doesn't supply these headers.
5 years ago
Graham
08534a0481
Add linker configuration for building gl-natives on Windows
5 years ago
Graham
cab415d308
Link jawt as a lib instead of a sysLib
...
This prevents us from needing to specify -L manually.
5 years ago
Graham
397f3fb4cc
Move UNIX-specific flags to the unix profile
5 years ago
Graham
3c0c25ed3e
Use const pointers where possible
5 years ago
Graham
5cfb542c1d
Add bindings for complex gl* functions
5 years ago
Graham
213aa431c8
Add bindings for simple gl* functions
5 years ago
Graham
90e202ede0
Add gl* stubs to jaggl.c
5 years ago
Graham
4b71824b53
Add initial GLX context management
5 years ago
Graham
be7a9dcd6e
Set gl-natives and misc-natives type to nar
5 years ago
Graham
3f34611c0d
Add JNI header files generated from jaggl and jagmisc
...
A long-term goal is to write clean room implementations of these
libraries, for several reasons:
* The original libraries are missing, so we currently have to do a fair
amount of awkward bytecode patching in the loader to use JOGL
instead.
* The original libraries were not compiled for 64-bit Linux. We might
also want to compile for new architectures (e.g. ARM or RISC-V) or
additional operating systems (e.g. the BSDs).
* I'm worried that over time the libraries will bit rot and might
eventually stop working with modern JREs - it's already been about 10
years since they were originally compiled!
I'm not too concerned about putting this in the main open-source
repository: I think it's generally believed that interfaces are not
copyrightable, and we're only copying the interface for
interoperability purposes. The native code will be original.
Furthermore, most of the jaggl interface is just a copy of the OpenGL
interface, so it's unlikely that Jagex could claim they hold the
copyright on it anyway.
5 years ago