Commit Graph

1348 Commits

Author SHA1 Message Date
Elias Naur 7ee398fe4e Added support for non-direct buffers to Cursor 2007-04-23 16:47:25 +00:00
Elias Naur 31aa4355ca Inline optimizations to state trackers by MatthiasM 2007-04-22 21:29:28 +00:00
Brian Matzon fdb0d2cd1d re-enabled missing ALC error check 2007-04-19 22:54:25 +00:00
Brian Matzon 69f24e8f23 output capture devices 2007-04-19 22:44:07 +00:00
Brian Matzon f7d2966370 remove debug 2007-04-19 22:43:38 +00:00
Brian Matzon 1d920fb4ef updated to ALC10 instead of ALC 2007-04-19 22:26:19 +00:00
Brian Matzon d16d77f30d updated to ALC10 instead of ALC 2007-04-19 22:25:47 +00:00
Brian Matzon a6ce837564 openal 1.1 2007-04-19 22:25:13 +00:00
Brian Matzon 23ad78416f exposing context and device
updated to ALC10 instead of ALC
removed getImplementations - alcGetString now works as "expected"
2007-04-19 22:24:36 +00:00
Brian Matzon 3b5064f229 updated to ALC10 instead of ALC 2007-04-19 22:23:40 +00:00
Brian Matzon 54eefcb876 exposing context and device 2007-04-19 22:23:20 +00:00
Brian Matzon 2481ce4356 updated to ALC10 instead of ALC 2007-04-19 22:23:04 +00:00
Brian Matzon 9d67fe978c Capture test for OpenAL 1.1 2007-04-19 22:22:18 +00:00
Elias Naur e6b9cb1a90 Cut VBO/PBO sanity checks from two to one glGetInteger call by exploiting GL enum value aliasing (once again inspired by MatthiasM). Additionally, support PBO calls added in OpenGL 2.1. 2007-04-19 07:42:01 +00:00
Elias Naur d9373a798a Move null parameter checks from check classes to the generated classes, since calculateImageSize assumes the buffer being non-null 2007-04-15 19:43:35 +00:00
Elias Naur ca35f3b2b4 Don't add border when checking image sizes 2007-04-15 19:33:03 +00:00
Brian Matzon 5d15006837 1.1 version string 2007-04-11 20:32:12 +00:00
Elias Naur 7c6511cf66 Added support for non-direct buffers for all functions that doesn't cache the buffer address at the native side (e.g. glVertexPointer). Reasons:
1. We can now support calls like "glLight(..., ..., FloatBuffer.wrap(new float[] {...}));" without worrying about running out of direct memory heap, 
since both the FloatBuffer and the array are allocated on the java heap. Future JVMs with stack allocation support could improve this even further.
2. We avoid getting in the way of users that doesn't (yet) know why direct buffers are important.

Obviously, we'd like direct support for arrays, but non-direct buffers are a nice compromise that avoids the API bloat that results when almost all 
functions gain an overloaded versions that take arrays instead of buffers.

Notes:

1. Non-direct buffer support should not affect the performance in the direct buffer case, since the non-direct buffer code path is only activated 
when the isDirect() check fails, and we were already checking isDirect() for sanity checking.
2. When using non-direct buffers, the buffer contents (remaining() bytes) are copied to a resizable ThreadLocal cached direct buffer (which is 
resized as needed) and used instead of the non-direct buffer. Thus, performance of non-direct buffers is lower than direct buffers.
2007-04-11 17:30:13 +00:00
Elias Naur 5a2c33423a Moved null check from generated code to BufferChecks and removed unused buffer checks 2007-04-11 16:13:05 +00:00
Brian Matzon 2b8f56021f 1.0.1 version string 2007-04-07 19:10:22 +00:00
Elias Naur 3899e6828f Windows: Correct testing of wParam when a WM_SYSCOMMAND is received 2007-03-30 19:35:37 +00:00
Elias Naur 360a9a0827 WindowsRegistry: Make sure the native library is loaded by calling Sys.initialize() 2007-03-22 14:05:41 +00:00
Elias Naur d6207572c6 Added a Pbuffer constructor that omits the RenderTexture parameter, and added a note that FBOs should be used instead, if available. Render-to-texture pbuffers can only be available on Windows platforms and is thus not portable. 2007-02-24 18:41:41 +00:00
Elias Naur 4bf4a385f3 Linux: When creating a window don't loop waiting for the MapNotify event. Instead, make sure we don't immediately go from fullscreen to minimized by checking if the window has been focused at least once before minimizing (and resetting display mode). 2007-02-23 10:14:18 +00:00
Elias Naur 56178d97fd Make the rest of LWJGL thread safe. No attempt have been done to make the locking minimal. Instead, one global lock is shared by Display, Mouse, Keyboard and Cursor. The lock surrounds all public methods. 2007-02-12 12:18:26 +00:00
Brian Matzon c880c689ff fixed test to use -1 in freq 2007-02-04 21:46:29 +00:00
Brian Matzon 79a8cf82bd 1.0 version string 2007-02-03 12:22:25 +00:00
Elias Naur 763d9cce7c Linux: Make sure the first Mouse.poll() return correct absolute X and Y values 2007-01-31 14:07:20 +00:00
Elias Naur 46ce5679c8 Windows AWTInput: Make sure the cursor is contained within the window when the Mouse is grabbed. 2007-01-30 13:08:51 +00:00
Brian Matzon e8d032973f updated streams 2007-01-23 19:55:46 +00:00
Elias Naur 1602a74f42 Tweaked comment for Display.getAvailableDisplayModes to make it clear that invalid modes can be returned and that create() won't always detect such modes 2007-01-22 10:14:13 +00:00
Elias Naur 5d13607699 Changed version to RC2 2007-01-22 09:24:06 +00:00
Elias Naur 083137884b Remove the rest of the implementation reflection 2007-01-17 12:58:38 +00:00
Elias Naur 7742185e34 Sys.java: Don't use reflection to create platform specific implementations 2007-01-17 12:49:20 +00:00
Elias Naur 4a1b565c74 Bumped native version because of internal linux API change 2007-01-17 08:22:31 +00:00
Elias Naur 4b13bb10d3 Linux: Fixed wrong return type in LinuxEvent.nGetKeyAddress 2007-01-17 08:16:16 +00:00
Elias Naur 7adffdb0cc Display: Fixed a NPE when create() fails on context creation 2007-01-13 19:24:05 +00:00
Elias Naur 31079a10c1 AWTInput: Don't create the Robot before it is needed 2007-01-10 13:55:42 +00:00
Brian Matzon 00db5fcb85 added Display.create/destroy. Fixes an error on mac, since OpenGL has to be initialized before creating ILUT 2007-01-07 20:41:45 +00:00
Brian Matzon 48fe0910a1 osx cursor animation emulation enabled 2007-01-04 23:28:33 +00:00
Elias Naur b7b203d29a Windows: Clear the window with OpenGL to replace UpdateWindow(HWND) and run message loop once in Display.create(). 2007-01-04 14:12:36 +00:00
Elias Naur 97db4ca4b2 Windows: Don't use UpdateWindow after all. Instead, don't use a background brush at all to avoid windows clearing windows with non OpenGL drawing commands. Hopefully this will improve compatibility (The NeHe tutorials also don't specify a background brush). 2007-01-04 14:00:45 +00:00
Elias Naur 0234336feb Windows: Re-add UpdateWindow to make sure fullscreen windows are cleared faster 2007-01-04 13:44:23 +00:00
Elias Naur 1bc9ac0aad AWTGLCanvas: Release the lock before calling exceptionOccurred 2007-01-03 09:16:13 +00:00
Elias Naur 1005813acc AWTGLCanvas: Added exceptionOccurred to allow users to be notified of unhandled LWJGLExceptions in paint() 2007-01-03 09:13:38 +00:00
Brian Matzon de0a724da7 use precalculated widths and heights, else we crash in cursor constructor because of buffer underflow 2007-01-02 19:02:25 +00:00
Elias Naur ede23fc9a3 HWCursorTest: Cap cursor size 2007-01-02 11:12:37 +00:00
Elias Naur 861421e16c Fix HWCursorTest 2007-01-02 11:09:05 +00:00
Elias Naur 662e9c7e7a Mac OS X: Add support for fake cursor animation 2007-01-02 10:55:44 +00:00
Elias Naur d4ea142f89 Windows: Make window visible after pixel format selection and move code from native WindowsDisplay.nCreate to java side. 2006-12-22 10:45:39 +00:00
Elias Naur 175ac13445 Fix VBO tests and bump Sys native JNI library version 2006-12-20 19:24:25 +00:00
Elias Naur 116a603572 Add GLChecks support methods for GL15 and ARB_buffer_object 2006-12-20 19:22:33 +00:00
Elias Naur eaed716958 Generator: Support arbitrary @AutoResultSize expressions. Make Buffer result sizes long instead of int 2006-12-20 19:19:56 +00:00
Brian Matzon 69e52d3361 1.0-rc1 version string 2006-12-18 18:27:15 +00:00
Brian Matzon 891902e4d6 version screw-up 2006-12-12 21:44:46 +00:00
Brian Matzon 1011b614e5 added getVersion like lwjgl
bumped native version
2006-12-12 21:30:58 +00:00
Brian Matzon fcb1f55eb9 fixed comment for getVersion 2006-12-12 21:30:21 +00:00
Brian Matzon dd5ac45a66 added getVersion like lwjgl 2006-12-12 21:29:08 +00:00
Elias Naur 66466b6d39 Bumped Sys.JNI_VERSION because of earlier OpenGL function changes 2006-12-06 14:01:29 +00:00
Elias Naur 93eabcf999 Generator: Make sure that @GLvoid types result in proper address calculations at the native side, even though the parameter java type is not java.nio.Buffer 2006-11-27 23:01:01 +00:00
Elias Naur 9709e6da2b Remove GL.java and GLImpl.java as they're not updated automatically anyway 2006-11-27 22:45:28 +00:00
Elias Naur f7b0c5c1b2 Linux: Tweak LinuxAWTInput 2006-11-24 15:30:36 +00:00
Elias Naur c6ba2c66b1 Windows: Make sure that the cursor position doesn't jump when switching grab mode 2006-11-24 15:21:02 +00:00
Elias Naur 92b3a7d282 Windows: Fix potential NPE 2006-11-24 15:10:15 +00:00
Elias Naur 4c817d4145 Compile fix 2006-11-24 15:03:05 +00:00
Elias Naur 63532ca647 Make sure that the cursor position doesn't jump when switching grab mode 2006-11-24 14:53:01 +00:00
Elias Naur 57a8067a88 Fix locking in MouseEventQueue 2006-11-24 12:05:46 +00:00
Elias Naur 2577827e4a Synchronize Keyboard and Mouse to avoid problems with AWTInputAdapter based usage 2006-11-24 10:18:36 +00:00
Elias Naur 6abfeb4df2 Made LWJGLUtil.getLibraryPaths support multiple library names. Now AL.create on linux tries both libopenal.so and libopenal.so.0, which is the name of the system library 2006-11-20 20:07:29 +00:00
Elias Naur f62f11b437 Made LWJGLUtil.getPathFromClassLoader private 2006-11-20 19:28:50 +00:00
Elias Naur 287861ec89 Windows: Dont use DirectInput for keyboard input. This fixes shifted typing. 2006-11-20 09:26:44 +00:00
Elias Naur 993885b9de Added AWTInputAdapter testing to applet/OpenGL.java 2006-11-20 08:39:22 +00:00
Elias Naur 6bac5f8bfa Windows: Destroy the keyboard when we create a new one 2006-11-20 08:14:50 +00:00
Elias Naur 34e5ce2080 Twekaed tests 2006-11-20 08:04:56 +00:00
Elias Naur d75d00666a Windows: Make sure AWTInputAdapter is not reporting events twice after a grab change 2006-11-19 23:02:25 +00:00
Elias Naur f56ebc21a9 AWTInputAdapter: Destroy Keyboard/Mouse before destroying the adapter 2006-11-19 21:49:10 +00:00
Elias Naur d2de70f2d9 Make sure that Mouse.destroy ungrabs the cursor 2006-11-19 21:41:34 +00:00
Elias Naur 3fc91a641c AWTInputAdapter: unregister event listeners on destroy() 2006-11-19 21:15:51 +00:00
Elias Naur 0e10718b16 AWTInputAdapter.destroy() now destroys the Keyboard and Mouse to mimic the behaviour of Display.destroy() more closely. 2006-11-19 16:24:18 +00:00
Elias Naur 2502496b2d Made all GL functions only query ContextCapabilities.getCapabilities() once. Now all GLCheck checks will take the ContextCapabilities instance as an argument instead of querying for it. Inspired by MatthiasM, who just don't seem to be content with LWJGL performance, ever ;) 2006-11-19 13:33:45 +00:00
Elias Naur 905aec0877 Shave off one ThreadLocal access in StateTracker.push/popAttrib() 2006-11-19 12:48:57 +00:00
Elias Naur 7ca70d8c5e Display: Don't add the shutdown hook twice when a previous create() call has failed 2006-11-19 11:43:00 +00:00
Brian Matzon d1cd4b851c beta4 2006-11-18 22:22:41 +00:00
Brian Matzon fa242848af JNI_VERSION restructure 2006-11-18 22:03:02 +00:00
Brian Matzon 1e806b9188 JNI_VERSION restructure 2006-11-18 21:56:31 +00:00
Kevin Glass 007fe5999e Updated Controllers event queue to make use of the new JInput
event queue, including adding getEventNanoseconds() to the 
Controllers interface. TestControllers against Logitech pad on
Win32 confirms that no behaviour changes are evident.
2006-11-17 08:08:21 +00:00
Kevin Glass 15fd0f6d81 Updated to return the controller name unmodified from JInput. 2006-11-17 07:17:12 +00:00
Elias Naur 70e3294b7b Restore old Mouse.create/Keyboard.create behavior which is to ignore create() when already created. 2006-11-16 12:29:52 +00:00
Elias Naur cd67b97e7c Made LWJGLUtil.getPathFromClassLoader run the protected ClassLoader.findLibrary in a privileged context. This is apparently necessary to get a valid path in some cases. This fixes (at least) a problem where OpenAL failed to locate the native openal library in a web start program. 2006-11-13 12:21:31 +00:00
Elias Naur 14b68631c9 Windows: Use WindowsKeyboard in WindowsAWTInput to ensure keyboard input. 2006-11-10 15:12:49 +00:00
Elias Naur 3a12b4bdd2 Remove AWTInputAdapter.update() and let users poll() Mouse and Keyboard directly 2006-11-10 13:52:18 +00:00
Elias Naur 216044ffa4 AWTGLCanvas: Make sure we don't paint while destroying the canvas 2006-11-10 11:44:00 +00:00
Elias Naur c0248a7ee4 AWTGLCanvas: Ignore failure to lock drawing surface, since that can happen when the component is being destroyed 2006-11-10 10:20:44 +00:00
Elias Naur 17e4a755de Don't use threads to repaint in test.applet.* tests 2006-11-09 11:10:59 +00:00
Elias Naur 9f3de4fd81 AWTGLCanvas: Synchronize paintGL() to avoid destroyContext while painting 2006-11-07 15:14:31 +00:00
Elias Naur b2e21da777 Windows: Implemented AWTInputAdapter. 2006-10-30 15:46:42 +00:00
Elias Naur 4c5a2fe644 Fixed AWTUtil.setCursorPosition. Added check to LinuxAWTInput. 2006-10-28 22:06:24 +00:00
Elias Naur b449fff026 Mac OS X: Fixed cursor warping coordinates 2006-10-27 08:15:31 +00:00
Elias Naur d396992cc5 Fixed potential NPE from Cursor.getCapabilities() 2006-10-27 06:27:58 +00:00
Elias Naur d4d39bf869 Made the AWT setCursorPosition garbage free 2006-10-27 06:04:55 +00:00