Commit Graph

2609 Commits

Author SHA1 Message Date
Elias Naur c025a7c70f Re-implemented VBO buffer binding caches to speed up gl*Pointer calls. Patch by MatthiasM. 2007-04-29 20:22:25 +00:00
Elias Naur a4b67705a0 Removed Util.glGetInteger convenience method since it is not thread safe 2007-04-29 19:38:04 +00:00
Elias Naur ef37c0e897 Make sure the swap interval is reset in Display when switching Display modes and toggling fullscreen 2007-04-28 20:10:21 +00:00
Elias Naur 499f838bd6 Reverted accidental build.xml change 2007-04-26 07:13:02 +00:00
Elias Naur 71e62fa844 Added output of character code value to KeyboardTest 2007-04-26 06:55:55 +00:00
Elias Naur a42f401331 Simplified ALC10.nalcOpenDevice 2007-04-26 05:58:35 +00:00
Elias Naur 649822f65b Windows: Use TranslateMessage and WM_CHAR to receive character input instead of manual translation. This change fixes composed characters. 2007-04-24 14:41:17 +00:00
Elias Naur 010d6582c7 Windows: Call default handler on key events 2007-04-24 14:13:42 +00:00
Elias Naur 6402783a9e Removed debug output 2007-04-24 13:41:31 +00:00
Elias Naur 13cec51058 Windows: Convert WindowsKeyboard to use windows messages instead of DirectInput. 2007-04-24 13:40:13 +00:00
Elias Naur b44fff716f Compile fix 2007-04-24 13:22:35 +00:00
Elias Naur 23701fdf75 Windows: Remove dependency on DirectInput for WindowsMouse used by WindowsDisplay. Keyboard conversion coming up. Reasons:
1. DirectInput is deprecated (http://en.wikipedia.org/wiki/DirectInput). Specifically, Microsoft recommends using regular windows messages for keyboard and mouse input.
2. Not using DirectInput enable us to use the Raw Input JInput plugin to access multiple mice (and keyboards).
3. We're already using windows messages for features DirectInput never supported, so by removing DirectInput dependency, we get rid of some special case code.
4. When we're only using windows messages for input, we're (theoretically) more compatible than with a dependency on a properly working DirectInput.
2007-04-24 09:30:03 +00:00
Elias Naur 403fd47e2e Windows: Fixed NULL check in native setupCursorClipping 2007-04-23 20:50:44 +00:00
Elias Naur b386d2185b Added support for non-direct in glGet* style functions 2007-04-23 20:17:42 +00:00
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 2d7c4b20d7 fixing warnings 2007-04-19 23:13:52 +00:00
Brian Matzon 5caece9329 fixing warnings 2007-04-19 23:02:57 +00:00
Brian Matzon 0ac9e5ff83 removing ALC 2007-04-19 22:58:13 +00:00
Brian Matzon fdb0d2cd1d re-enabled missing ALC error check 2007-04-19 22:54:25 +00:00
Brian Matzon ba11118e30 removed ALC from javah
added AL11 to generate-openal
2007-04-19 22:53:32 +00:00
Brian Matzon aa94d36e07 removed some null checks 2007-04-19 22:49:49 +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 bd00f39ff9 using NewStringNativeWithLength 2007-04-19 22:39:08 +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
Brian Matzon 8ad8eb57b4 openal 1.1 2007-04-19 22:21:52 +00:00
Brian Matzon 80bd5b9e03 AL_SOURCE_TYPE changed value ... 2007-04-19 22:21:37 +00:00
Brian Matzon 4152deb7c4 using NewStringNativeWithLength 2007-04-19 22:21:04 +00:00
Brian Matzon 3630ebd6c2 using NewStringNativeWithLength 2007-04-19 22:20:36 +00:00
Brian Matzon 844ae6dce2 openal 1.1
exposing device and context
2007-04-19 22:20:14 +00:00
Brian Matzon 6889c876f6 using NewStringNativeWithLength 2007-04-19 22:18:16 +00:00
Elias Naur a7d62babb0 JInput update 2007-04-19 12:00:40 +00:00
Elias Naur 65dd4fda9d Removed reference to generated code in build.xml 2007-04-19 08:24:36 +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
Elias Naur db7acb07ce Mac OS X: Fix native compilation error by forcing all native source to be Objective C. This is needed the jawt headers use Objective C features 2007-04-08 21:33:35 +00:00
Brian Matzon 2b8f56021f 1.0.1 version string 2007-04-07 19:10:22 +00:00
Elias Naur 81564102c3 Removed generated files from version control - all platforms have support for the java 1.5 apt tool 2007-04-03 10:06:12 +00:00
Elias Naur fe196168ea Updated generated files 2007-04-03 08:21:46 +00:00
Elias Naur 7c1b930ab4 Fixed typo in EXT_gpu_program_parameters 2007-04-03 08:16:45 +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 176a617393 Windows: Native compile fixes 2007-03-30 19:00:59 +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 55a889d053 Use jawt_md.h instead of jawt.h since that is apparently the official way of using JAWT (from the example in jawt.h) and is required for lwjgl to compile with the ibm 1.5 jdk 2007-03-13 08:18:00 +00:00
Elias Naur 3c44d0c7be Added error checking to getBooleanProperty 2007-03-09 14:34:27 +00:00
Elias Naur eeb711239e Added error checking to NewStringNative 2007-03-09 14:28:52 +00:00
Elias Naur 9f147c754a Linux: Don't statically link Xrender, Xrandr, Xcursor and Xfixes to
avoid bugs in older versions of the libraries being exposed in newer
linux distributions based on XCB (like Ubuntu Feisty).
2007-03-06 14:48:35 +00:00
Elias Naur 7812414dbd Updated jinput.jar and libjinput.jnilib to the latest version 2007-02-25 21:52:11 +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 a5c8a3d6af Linux: Don't call XSetInputFocus when creating a window. XSetInputFocus can fail if the window is not mapped when calling it, and it seems that it's rude to call XSetInputFocus according to the ICCCM when the application doesn't already have the focus in one of its subwindows. 2007-02-23 08:31:59 +00:00
Elias Naur 12eb552aba Linux: Don't use XClearWindow to clear the window, but rely on the OpenGL clearing instead. Also, remove redundant attributes in XCreateWindow 2007-02-23 08:21:02 +00:00
Ioannis Tsakpinis 10695d0b2d Added NV_geometry_shader4 2007-02-21 13:44:33 +00:00
Elias Naur dd41c22da7 Windows: Don't exclude PFD_GENERIC_ACCELERATED formats when selecting pixel formats. Hopefully this will enable LWJGL to use the directx emulated opengl implementation on vista 2007-02-17 09:49:44 +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 d3f6588580 Auto generated files update 2007-01-17 08:01:49 +00:00
Elias Naur 9d998d61ad Auto generated files update 2007-01-17 08:01:37 +00:00
Elias Naur 0df2660f1d Fixed type in NV_framebuffer_multisample_coverage.java 2007-01-17 08:00:54 +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
Elias Naur 09a9f4953f Linux: Devil and FMOD: Add alternative paths to JNI header files 2007-01-07 08:41:33 +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 623648e99d Refreshed jinput.jar 2006-12-26 09:19:40 +00:00
Elias Naur 6370d84ce0 Updated jinput.jar 2006-12-23 07:52:51 +00:00
Elias Naur 12c6afef97 Windows: Don't use WS_EX_TOPMOST for fullscreen windows. 2006-12-22 11:23:45 +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 d2e9a9fb4a Windows: Simplify context creation and don't cache the extensions information struct in native code. Just reload it at each use (only at setSwapInterval currently). 2006-12-22 10:36:04 +00:00