this is just a small notice to notify you guys that a prerelease of 0.7 has been released!
get it while it's hot:
http://www.lwjgl.org/
changelog:
Quote2003-07-16 matzon
* src/java/org/lwjgl/openal/eax/EAX.java 1.4:
* src/java/org/lwjgl/openal/eax/EAXBufferProperties.java 1.8:
* src/java/org/lwjgl/openal/eax/EAXListenerProperties.java 1.7:
* src/native/common/org_lwjgl_openal_eax_CoreEAX.cpp 1.7:
"fix": deactivate EAX for this test release
* src/java/org/lwjgl/Window.java 1.13:
fix: isClosedRequested now sets flag to false after call
added support for isFocused
* src/native/win32/org_lwjgl_Window.cpp 1.14:
added support for isFocused
* src/java/org/lwjgl/test/openal/ALTest.java 1.9:
* src/java/org/lwjgl/test/openal/MovingSoundTest.java 1.12:
fix: make it compile
2003-07-16 elias_naur
* src/native/linux/org_lwjgl_Window.cpp 1.5:
Added linux focus support
2003-07-15 elias_naur
* src/native/linux/org_lwjgl_opengl_BaseGL.cpp 1.20:
Small error message fix
2003-07-10 matzon
* website/index.html 1.4:
fix: http
* website/index.html 1.3:
small changes for lwjgl.org
2003-07-06 matzon
* src/java/org/lwjgl/openal/CoreAL.java 1.16:
fix: javadoc typo
2003-07-06 elias_naur
* src/java/org/lwjgl/opengl/BaseGL.java 1.22:
* src/java/org/lwjgl/opengl/CoreGL.java 1.18:
* src/java/org/lwjgl/opengl/GL.java 1.27:
Reverted change
* src/native/common/Makefile.am 1.6:
Linux build fix
* src/java/org/lwjgl/opengl/BaseGL.java 1.21:
* src/java/org/lwjgl/opengl/CoreGL.java 1.17:
* src/java/org/lwjgl/opengl/GL.java 1.26:
* src/native/configure.in 1.16:
Converted ogl to static constructor
2003-07-05 matzon
* src/java/org/lwjgl/openal/CoreAL.java 1.15:
* src/java/org/lwjgl/test/openal/ALTest.java 1.8:
fix: using type specific buffers
* src/native/common/MatrixOpCommon.cpp 1.2:
* src/native/common/MatrixOpCommon.h 1.2:
removing parts of Math
* src/java/org/lwjgl/Math.java 1.13:
* src/native/common/org_lwjgl_Math_MatrixOpAdd_MatrixOpDirect.cpp 1.2:
* src/native/common/org_lwjgl_Math_MatrixOpAdd_MatrixOpDirect.h 1.3:
* src/native/common/org_lwjgl_Math_MatrixOpAdd_MatrixOpSafe.cpp 1.2:
* src/native/common/org_lwjgl_Math_MatrixOpAdd_MatrixOpSafe.h 1.3:
* src/native/common/org_lwjgl_Math_MatrixOpCopy_MatrixOpDirect.cpp 1.2:
* src/native/common/org_lwjgl_Math_MatrixOpCopy_MatrixOpDirect.h 1.3:
* src/native/common/org_lwjgl_Math_MatrixOpCopy_MatrixOpSafe.cpp 1.2:
* src/native/common/org_lwjgl_Math_MatrixOpCopy_MatrixOpSafe.h 1.3:
* src/native/common/org_lwjgl_Math_MatrixOpInvert_MatrixOpDirect.cpp 1.2:
* src/native/common/org_lwjgl_Math_MatrixOpInvert_MatrixOpDirect.h 1.3:
* src/native/common/org_lwjgl_Math_MatrixOpInvert_MatrixOpSafe.cpp 1.2:
* src/native/common/org_lwjgl_Math_MatrixOpInvert_MatrixOpSafe.h 1.3:
* src/native/common/org_lwjgl_Math_MatrixOpMultiply_MatrixOpDirect.cpp 1.2:
* src/native/common/org_lwjgl_Math_MatrixOpMultiply_MatrixOpDirect.h 1.3:
* src/native/common/org_lwjgl_Math_MatrixOpMultiply_MatrixOpSafe.cpp 1.2:
* src/native/common/org_lwjgl_Math_MatrixOpMultiply_MatrixOpSafe.h 1.3:
* src/native/common/org_lwjgl_Math_MatrixOpNegate_MatrixOpDirect.cpp 1.2:
* src/native/common/org_lwjgl_Math_MatrixOpNegate_MatrixOpDirect.h 1.3:
* src/native/common/org_lwjgl_Math_MatrixOpNegate_MatrixOpSafe.cpp 1.2:
* src/native/common/org_lwjgl_Math_MatrixOpNegate_MatrixOpSafe.h 1.3:
* src/native/common/org_lwjgl_Math_MatrixOpNormalise_MatrixOpDirect.cpp 1.2:
* src/native/common/org_lwjgl_Math_MatrixOpNormalise_MatrixOpDirect.h 1.3:
* src/native/common/org_lwjgl_Math_MatrixOpNormalise_MatrixOpSafe.cpp 1.2:
* src/native/common/org_lwjgl_Math_MatrixOpNormalise_MatrixOpSafe.h 1.3:
* src/native/common/org_lwjgl_Math_MatrixOpSubtract_MatrixOpDirect.cpp 1.2:
* src/native/common/org_lwjgl_Math_MatrixOpSubtract_MatrixOpDirect.h 1.3:
* src/native/common/org_lwjgl_Math_MatrixOpSubtract_MatrixOpSafe.cpp 1.2:
* src/native/common/org_lwjgl_Math_MatrixOpSubtract_MatrixOpSafe.h 1.3:
removing parts of Math
removing examples
removed small doc
2003-07-05 elias_naur
* src/native/common/org_lwjgl_openal_ALC.cpp 1.9:
* src/native/common/org_lwjgl_openal_eax_CoreEAX.cpp 1.6:
fixed compiler warning
* src/native/configure.in 1.15:
linux build fix
2003-07-04 matzon
* src/native/common/extal.cpp 1.7:
fix: removed debug
2003-07-02 matzon
* src/native/win32/org_lwjgl_input_Cursor.cpp 1.4:
fix: compiler whining
* src/java/org/lwjgl/Sys.java 1.21:
* src/java/org/lwjgl/opengl/GLU.java 1.11:
bugger off buffer!
* src/java/org/lwjgl/openal/AL.java 1.9:
* src/java/org/lwjgl/openal/ALC.java 1.8:
* src/java/org/lwjgl/openal/ALCcontext.java 1.4:
* src/java/org/lwjgl/openal/ALCdevice.java 1.4:
* src/java/org/lwjgl/openal/BaseAL.java 1.15:
* src/java/org/lwjgl/openal/BaseALConstants.java 1.6:
* src/java/org/lwjgl/openal/CoreAL.java 1.14:
* src/java/org/lwjgl/openal/eax/BaseEAX.java 1.5:
* src/java/org/lwjgl/openal/eax/BaseEAXConstants.java 1.5:
* src/java/org/lwjgl/openal/eax/CoreEAX.java 1.3:
* src/java/org/lwjgl/openal/eax/EAX.java 1.3:
* src/java/org/lwjgl/openal/eax/EAXBufferProperties.java 1.7:
* src/java/org/lwjgl/openal/eax/EAXListenerProperties.java 1.6:
* src/java/org/lwjgl/test/input/ControllerCreationTest.java 1.7:
* src/java/org/lwjgl/test/input/ControllerTest.java 1.5:
* src/java/org/lwjgl/test/input/HWCursorTest.java 1.4:
* src/java/org/lwjgl/test/input/KeyboardTest.java 1.2:
* src/java/org/lwjgl/test/input/MouseCreationTest.java 1.10:
* src/java/org/lwjgl/test/input/MouseTest.java 1.12:
* src/java/org/lwjgl/test/openal/ALCTest.java 1.7:
* src/java/org/lwjgl/test/openal/ALTest.java 1.7:
* src/java/org/lwjgl/test/openal/BasicTest.java 1.8:
* src/java/org/lwjgl/test/openal/EAXTest.java 1.6:
* src/java/org/lwjgl/test/openal/MovingSoundTest.java 1.11:
* src/java/org/lwjgl/test/openal/OpenALCreationTest.java 1.4:
* src/java/org/lwjgl/test/openal/PlayTest.java 1.7:
* src/java/org/lwjgl/test/openal/PlayTestMemory.java 1.7:
* src/java/org/lwjgl/test/openal/SourceLimitTest.java 1.6:
* src/java/org/lwjgl/test/openal/StressTest.java 1.5:
* src/java/org/lwjgl/test/openal/WaveData.java 1.7:
* src/java/org/lwjgl/test/opengl/FullScreenWindowedTest.java 1.5:
* src/java/org/lwjgl/test/opengl/Game.java 1.14:
* src/java/org/lwjgl/test/opengl/Grass.java 1.13:
* src/java/org/lwjgl/test/opengl/PbufferTest.java 1.2:
* src/native/common/extal.cpp 1.6:
* src/native/common/org_lwjgl_openal_ALC.cpp 1.8:
* src/native/common/org_lwjgl_openal_ALC.h 1.5:
* src/native/common/org_lwjgl_openal_BaseAL.cpp 1.6:
* src/native/common/org_lwjgl_openal_BaseAL.h 1.4:
* src/native/common/org_lwjgl_openal_CoreAL.cpp 1.5:
* src/native/common/org_lwjgl_openal_CoreAL.h 1.10:
* src/native/common/org_lwjgl_openal_eax_BaseEAX.cpp 1.2:
* src/native/common/org_lwjgl_openal_eax_BaseEAX.h 1.2:
* src/native/common/org_lwjgl_openal_eax_CoreEAX.cpp 1.5:
* src/native/common/org_lwjgl_openal_eax_CoreEAX.h 1.2:
* src/native/common/org_lwjgl_openal_eax_EAXBufferProperties.cpp 1.3:
* src/native/common/org_lwjgl_openal_eax_EAXBufferProperties.h 1.2:
* src/native/common/org_lwjgl_openal_eax_EAXListenerProperties.cpp 1.3:
* src/native/common/org_lwjgl_openal_eax_EAXListenerProperties.h 1.2:
static implementation - work in progress
2003-06-24 elias_naur
* src/java/org/lwjgl/Display.java 1.30:
* src/java/org/lwjgl/Sys.java 1.20:
* src/java/org/lwjgl/input/Cursor.java 1.6:
* src/java/org/lwjgl/input/Keyboard.java 1.23:
* src/java/org/lwjgl/input/Mouse.java 1.21:
* src/java/org/lwjgl/opengl/CoreGL.java 1.16:
* src/java/org/lwjgl/opengl/CoreGLConstants.java 1.7:
* src/java/org/lwjgl/opengl/GL.java 1.25:
* src/java/org/lwjgl/opengl/GLU.java 1.10:
* src/java/org/lwjgl/opengl/GLUConstants.java 1.9:
* src/java/org/lwjgl/opengl/arb/ARBCubeMap.java 1.3:
* src/java/org/lwjgl/opengl/arb/ARBDepthTexture.java 1.3:
* src/java/org/lwjgl/opengl/arb/ARBMatrixPalette.java 1.3:
* src/java/org/lwjgl/opengl/arb/ARBMultisample.java 1.3:
* src/java/org/lwjgl/opengl/arb/ARBMultitexture.java 1.3:
* src/java/org/lwjgl/opengl/arb/ARBPointParameters.java 1.3:
* src/java/org/lwjgl/opengl/arb/ARBShadow.java 1.3:
* src/java/org/lwjgl/opengl/arb/ARBShadowAmbient.java 1.3:
* src/java/org/lwjgl/opengl/arb/ARBTextureBorderClamp.java 1.3:
* src/java/org/lwjgl/opengl/arb/ARBTextureCompression.java 1.3:
* src/java/org/lwjgl/opengl/arb/ARBTextureEnvCombine.java 1.3:
* src/java/org/lwjgl/opengl/arb/ARBTextureEnvDot3.java 1.3:
* src/java/org/lwjgl/opengl/arb/ARBTextureMirroredRepeat.java 1.3:
* src/java/org/lwjgl/opengl/arb/ARBTransposeMatrix.java 1.3:
* src/java/org/lwjgl/opengl/arb/ARBVertexBlend.java 1.3:
* src/java/org/lwjgl/opengl/arb/ARBVertexBufferObject.java 1.2:
* src/java/org/lwjgl/opengl/arb/ARBVertexProgram.java 1.3:
* src/java/org/lwjgl/opengl/ati/ATIElementArray.java 1.3:
* src/java/org/lwjgl/opengl/ati/ATIEnvmapBumpmap.java 1.3:
* src/java/org/lwjgl/opengl/ati/ATIFragmentShader.java 1.3:
* src/java/org/lwjgl/opengl/ati/ATIPnTriangles.java 1.3:
* src/java/org/lwjgl/opengl/ati/ATITextureMirrorOnce.java 1.3:
* src/java/org/lwjgl/opengl/ati/ATIVertexArrayObject.java 1.3:
* src/java/org/lwjgl/opengl/ati/ATIVertexStreams.java 1.3:
* src/java/org/lwjgl/opengl/atix/ATIXPointSprites.java 1.3:
* src/java/org/lwjgl/opengl/atix/ATIXTextureEnvRoute.java 1.3:
* src/java/org/lwjgl/opengl/ext/EXTAbgr.java 1.4:
* src/java/org/lwjgl/opengl/ext/EXTBgra.java 1.5:
* src/java/org/lwjgl/opengl/ext/EXTBlendColor.java 1.5:
* src/java/org/lwjgl/opengl/ext/EXTBlendMinmax.java 1.5:
* src/java/org/lwjgl/opengl/ext/EXTBlendSubtract.java 1.5:
* src/java/org/lwjgl/opengl/ext/EXTCompiledVertexArray.java 1.3:
* src/java/org/lwjgl/opengl/ext/EXTDrawRangeElements.java 1.3:
* src/java/org/lwjgl/opengl/ext/EXTFogCoord.java 1.3:
* src/java/org/lwjgl/opengl/ext/EXTLightMaxExponent.java 1.5:
* src/java/org/lwjgl/opengl/ext/EXTPackedPixels.java 1.5:
* src/java/org/lwjgl/opengl/ext/EXTPointParameters.java 1.3:
* src/java/org/lwjgl/opengl/ext/EXTRescaleNormal.java 1.5:
* src/java/org/lwjgl/opengl/ext/EXTSecondaryColor.java 1.3:
* src/java/org/lwjgl/opengl/ext/EXTSeparateSpecularColor.java 1.4:
* src/java/org/lwjgl/opengl/ext/EXTSharedTexturePalette.java 1.5:
* src/java/org/lwjgl/opengl/ext/EXTStencilTwoSide.java 1.3:
* src/java/org/lwjgl/opengl/ext/EXTStencilWrap.java 1.3:
* src/java/org/lwjgl/opengl/ext/EXTTextureCompressionS3TC.java 1.3:
* src/java/org/lwjgl/opengl/ext/EXTTextureEnvCombine.java 1.5:
* src/java/org/lwjgl/opengl/ext/EXTTextureEnvDot3.java 1.5:
* src/java/org/lwjgl/opengl/ext/EXTTextureFilterAnisotropic.java 1.3:
* src/java/org/lwjgl/opengl/ext/EXTTextureLODBias.java 1.3:
* src/java/org/lwjgl/opengl/ext/EXTVertexArray.java 1.5:
* src/java/org/lwjgl/opengl/ext/EXTVertexShader.java 1.3:
* src/java/org/lwjgl/opengl/ext/EXTVertexWeighting.java 1.3:
* src/java/org/lwjgl/opengl/hp/HPOcclusionTest.java 1.3:
* src/java/org/lwjgl/opengl/nv/NVCopyDepthToColor.java 1.3:
* src/java/org/lwjgl/opengl/nv/NVDepthClamp.java 1.3:
* src/java/org/lwjgl/opengl/nv/NVEvaluators.java 1.3:
* src/java/org/lwjgl/opengl/nv/NVFence.java 1.3:
* src/java/org/lwjgl/opengl/nv/NVFogDistance.java 1.3:
* src/java/org/lwjgl/opengl/nv/NVLightMaxExponent.java 1.3:
* src/java/org/lwjgl/opengl/nv/NVOcclusionQuery.java 1.3:
* src/java/org/lwjgl/opengl/nv/NVPackedDepthStencil.java 1.3:
* src/java/org/lwjgl/opengl/nv/NVPointSprite.java 1.3:
* src/java/org/lwjgl/opengl/nv/NVRegisterCombiners.java 1.3:
* src/java/org/lwjgl/opengl/nv/NVRegisterCombiners2.java 1.3:
* src/java/org/lwjgl/opengl/nv/NVTexgenReflection.java 1.3:
* src/java/org/lwjgl/opengl/nv/NVTextureEnvCombine4.java 1.3:
* src/java/org/lwjgl/opengl/nv/NVTextureRectangle.java 1.3:
* src/java/org/lwjgl/opengl/nv/NVTextureShader.java 1.3:
* src/java/org/lwjgl/opengl/nv/NVTextureShader2.java 1.3:
* src/java/org/lwjgl/opengl/nv/NVTextureShader3.java 1.3:
* src/java/org/lwjgl/opengl/nv/NVVertexArrayRange.java 1.3:
* src/java/org/lwjgl/opengl/nv/NVVertexArrayRange2.java 1.3:
* src/java/org/lwjgl/opengl/nv/NVVertexProgram.java 1.3:
* src/java/org/lwjgl/opengl/sgis/SGISGenerateMipmap.java 1.3:
* src/java/org/lwjgl/opengl/sgix/SGIXDepthTexture.java 1.3:
* src/java/org/lwjgl/opengl/sgix/SGIXShadow.java 1.3:
* src/java/org/lwjgl/opengl/wgl/WGLBufferRegion.java 1.3:
* src/java/org/lwjgl/opengl/wgl/WGLMakeCurrentRead.java 1.3:
* src/java/org/lwjgl/opengl/wgl/WGLMultisample.java 1.3:
* src/java/org/lwjgl/opengl/wgl/WGLPBuffer.java 1.3:
* src/java/org/lwjgl/opengl/wgl/WGLPixelFormat.java 1.3:
* src/java/org/lwjgl/opengl/wgl/WGLRenderTexture.java 1.3:
* src/native/common/callbacks/GLUQuadricCallbacks.cpp 1.4:
* src/native/common/callbacks/GLUQuadricCallbacks.h 1.5:
* src/native/common/org_lwjgl_Display.h 1.13:
* src/native/common/org_lwjgl_Sys.h 1.7:
* src/native/common/org_lwjgl_Window.h 1.4:
* src/native/common/org_lwjgl_input_Cursor.h 1.3:
* src/native/common/org_lwjgl_input_Keyboard.h 1.4:
* src/native/common/org_lwjgl_opengl_BaseGL.h 1.10:
* src/native/common/org_lwjgl_opengl_CoreGL.cpp 1.8:
* src/native/common/org_lwjgl_opengl_CoreGL.h 1.8:
* src/native/common/org_lwjgl_opengl_GL.cpp 1.8:
* src/native/common/org_lwjgl_opengl_GL.h 1.5:
* src/native/common/org_lwjgl_opengl_GLU.cpp 1.6:
* src/native/common/org_lwjgl_opengl_GLU.h 1.6:
* src/native/configure.in 1.14:
* src/native/linux/org_lwjgl_Display.cpp 1.37:
* src/native/linux/org_lwjgl_Sys.cpp 1.8:
* src/native/linux/org_lwjgl_input_Cursor.cpp 1.3:
* src/native/linux/org_lwjgl_input_Keyboard.cpp 1.25:
* src/native/linux/org_lwjgl_input_Mouse.cpp 1.29:
* src/native/win32/org_lwjgl_Display.cpp 1.41:
* src/native/win32/org_lwjgl_Sys.cpp 1.8:
* src/native/win32/org_lwjgl_input_Cursor.cpp 1.3:
* src/native/win32/org_lwjgl_input_Keyboard.cpp 1.20:
* src/native/win32/org_lwjgl_input_Mouse.cpp 1.24:
Ported OpenGL to Buffers
2003-06-17 matzon
* src/java/org/lwjgl/test/openal/PlayTestMemory.java 1.6:
using classloader to load files
* src/java/org/lwjgl/test/input/KeyboardTest.java 1.1:
add simple keyboard test - for completeness sake - needs to be
made better
* website/documents/links.html 1.3:
added AF link
* website/index.html 1.2:
now linking to puppygames forum
* src/java/org/lwjgl/test/openal/MovingSoundTest.java 1.10:
* src/java/org/lwjgl/test/openal/PlayTest.java 1.6:
using default file on no argument (allows easier JWS interaction)
* src/java/org/lwjgl/test/openal/WaveData.java 1.6:
* src/java/org/lwjgl/test/opengl/Grass.java 1.12:
old resource loading was buggy?
* src/java/org/lwjgl/test/input/ControllerCreationTest.java 1.6:
* src/java/org/lwjgl/test/input/MouseCreationTest.java 1.9:
reset displaymode when done
2003-06-16 matzon
* src/java/org/lwjgl/openal/BaseAL.java 1.13:
fix: linux findLibrary failed because invalid lib name was
passed
2003-06-16 elias_naur
* src/java/org/lwjgl/openal/BaseAL.java 1.14:
* src/java/org/lwjgl/opengl/CoreGL.java 1.14:
Cleaned up JWS openal loading
* src/java/org/lwjgl/opengl/CoreGL.java 1.15:
*** empty log message ***
2003-06-15 matzon
* src/java/org/lwjgl/openal/BaseAL.java 1.12:
fix: Java Web Start loading of OpenAL
2003-06-12 cix_foo
* src/java/org/lwjgl/Sys.java 1.19:
* src/java/org/lwjgl/Window.java 1.12:
* src/java/org/lwjgl/openal/BaseAL.java 1.10:
* src/java/org/lwjgl/openal/BaseAL.java 1.11:
* src/native/common/extal.cpp 1.4:
* src/native/common/extal.cpp 1.5:
* src/native/win32/org_lwjgl_Window.cpp 1.13:
*** empty log message ***
2003-06-08 elias_naur
* src/native/linux/org_lwjgl_input_Mouse.cpp 1.27:
* src/native/linux/org_lwjgl_input_Mouse.cpp 1.28:
Try to return a better minimum cursor size
2003-06-07 cix_foo
* src/native/win32/org_lwjgl_Window.cpp 1.11:
Minor tweaks to window creation.
* src/java/org/lwjgl/Window.java 1.11:
* src/java/org/lwjgl/input/Keyboard.java 1.22:
* src/native/common/org_lwjgl_input_Keyboard.h 1.3:
* src/native/win32/org_lwjgl_input_Keyboard.cpp 1.18:
*** empty log message ***
* src/native/win32/org_lwjgl_input_Mouse.cpp 1.22:
Early exit on failed mouse read.
* src/native/win32/org_lwjgl_Display.cpp 1.40:
* src/native/win32/org_lwjgl_Window.cpp 1.12:
* src/native/win32/org_lwjgl_input_Mouse.cpp 1.23:
We now restore display settings on minimize. Hurrah!
2003-06-07 elias_naur
* src/java/org/lwjgl/input/Cursor.java 1.5:
Doc update
* src/native/configure.in 1.13:
* src/native/linux/org_lwjgl_input_Keyboard.cpp 1.24:
* src/native/win32/org_lwjgl_input_Keyboard.cpp 1.19:
Fixed win9x keyboard translation
2003-06-04 cix_foo
* src/java/org/lwjgl/Window.java 1.10:
* src/native/common/org_lwjgl_Window.h 1.3:
* src/native/win32/org_lwjgl_Window.cpp 1.10:
* src/native/win32/org_lwjgl_opengl_BaseGL.cpp 1.22:
*** empty log message ***
2003-06-01 matzon
* src/java/org/lwjgl/opengl/Pbuffer.java 1.2:
* src/java/org/lwjgl/test/DisplayConfigurationTest.java 1.2:
* src/java/org/lwjgl/test/input/HWCursorTest.java 1.3:
fix: removed superfluous import statement
2003-06-01 elias_naur
* src/native/configure.in 1.12:
* src/native/linux/org_lwjgl_Display.cpp 1.36:
* src/native/linux/org_lwjgl_input_Keyboard.cpp 1.23:
* src/native/linux/org_lwjgl_input_Mouse.cpp 1.26:
Linux fixes
* src/java/org/lwjgl/Display.java 1.29:
Added gamma debug output
2003-05-30 elias_naur
* src/native/linux/org_lwjgl_opengl_BaseGL.cpp 1.18:
Extra checks in window creation
* src/native/linux/org_lwjgl_Display.cpp 1.35:
More Display checks
* src/native/linux/org_lwjgl_opengl_BaseGL.cpp 1.19:
Added USEGLX13 to BaseGL.cpp
2003-05-27 elias_naur
* src/java/org/lwjgl/Display.java 1.28:
* src/java/org/lwjgl/test/DisplayConfigurationTest.java 1.1:
* src/native/common/org_lwjgl_Display.h 1.12:
* src/native/linux/org_lwjgl_Display.cpp 1.34:
* src/native/win32/org_lwjgl_Display.cpp 1.39:
Implemented gamma, brightness and contrast controls on win32 and linux
using a simplified gamma ramp API
2003-05-26 elias_naur
* src/java/org/lwjgl/Display.java 1.27:
Doc fix: gamma arrays are three arrays, not one consecutive
* src/java/org/lwjgl/Display.java 1.26:
Doc fix: Gamma changes are undone at resetDisplayMode
2003-05-23 cfxmarvin
* src/native/macosx/org_lwjgl_opengl_BaseGL.cpp 1.12:
oops missed double buffer attribute
* src/native/macosx/org_lwjgl_Display.cpp 1.15:
fixed sporadic Bus Error in GetAvailableDisplayModes
2003-05-20 cfxmarvin
* src/native/macosx/org_lwjgl_opengl_BaseGL.cpp 1.11:
fixed some more initialization issues
* src/native/common/org_lwjgl_openal_eax_EAXBufferProperties.cpp 1.2:
* src/native/common/org_lwjgl_openal_eax_EAXListenerProperties.cpp 1.2:
* src/native/macosx/org_lwjgl_Display.cpp 1.14:
minor cleanup
* src/native/macosx/org_lwjgl_Window.cpp 1.1:
Stubs for OS X
2003-05-20 elias_naur
* src/java/org/lwjgl/Window.java 1.9:
* src/java/org/lwjgl/input/Cursor.java 1.4:
* src/java/org/lwjgl/input/Mouse.java 1.20:
* src/java/org/lwjgl/opengl/BaseGL.java 1.20:
* src/java/org/lwjgl/opengl/Pbuffer.java 1.1:
* src/java/org/lwjgl/test/input/HWCursorTest.java 1.2:
* src/java/org/lwjgl/test/opengl/PbufferTest.java 1.1:
* src/native/common/org_lwjgl_input_Cursor.h 1.2:
* src/native/common/org_lwjgl_input_Mouse.h 1.5:
* src/native/common/org_lwjgl_opengl_Pbuffer.h 1.1:
* src/native/linux/Makefile.am 1.5:
* src/native/linux/Window.h 1.3:
* src/native/linux/org_lwjgl_input_Cursor.cpp 1.2:
* src/native/linux/org_lwjgl_input_Mouse.cpp 1.25:
* src/native/linux/org_lwjgl_opengl_BaseGL.cpp 1.17:
* src/native/linux/org_lwjgl_opengl_Pbuffer.cpp 1.1:
* src/native/win32/Window.h 1.5:
* src/native/win32/org_lwjgl_Window.cpp 1.9:
* src/native/win32/org_lwjgl_input_Cursor.cpp 1.2:
* src/native/win32/org_lwjgl_input_Mouse.cpp 1.21:
* src/native/win32/org_lwjgl_opengl_BaseGL.cpp 1.21:
* src/native/win32/org_lwjgl_opengl_Pbuffer.cpp 1.1:
Implemented Pbuffers on win32 and linux (render to texture will be done later)
Implemented native cursor caps (one bit transparancy, alpha translucency and animations)
* src/native/linux/extxcursor.cpp 1.3:
* src/native/linux/extxcursor.cpp 1.4:
Native cursor fixes
* src/native/linux/extxcursor.cpp 1.2:
Cursor fixes
2003-05-19 cfxmarvin
* src/native/macosx/org_lwjgl_opengl_BaseGL.cpp 1.10:
fixed some initialization issues
2003-05-19 elias_naur
* src/java/org/lwjgl/input/Cursor.java 1.2:
* src/java/org/lwjgl/input/Cursor.java 1.3:
* src/java/org/lwjgl/opengl/BaseGL.java 1.19:
Fixes
2003-05-17 elias_naur
* src/native/linux/org_lwjgl_input_Mouse.cpp 1.24:
Min cursor size 1, not 0
2003-05-17 cfxmarvin
* src/native/common/extal.cpp 1.3:
* src/native/common/extal.h 1.18:
Mac OS X Support - untested
2003-05-16 elias_naur
* src/java/org/lwjgl/input/Cursor.java 1.1:
* src/java/org/lwjgl/input/Mouse.java 1.19:
* src/java/org/lwjgl/test/input/HWCursorTest.java 1.1:
* src/native/common/extgl.c 1.17:
* src/native/common/org_lwjgl_input_Cursor.h 1.1:
* src/native/common/org_lwjgl_input_Mouse.h 1.4:
* src/native/linux/Makefile.am 1.4:
* src/native/linux/Window.h 1.2:
* src/native/linux/extxcursor.cpp 1.1:
* src/native/linux/extxcursor.h 1.1:
* src/native/linux/org_lwjgl_Window.cpp 1.4:
* src/native/linux/org_lwjgl_input_Cursor.cpp 1.1:
* src/native/linux/org_lwjgl_input_Keyboard.cpp 1.22:
* src/native/linux/org_lwjgl_input_Mouse.cpp 1.23:
* src/native/win32/Window.h 1.4:
* src/native/win32/org_lwjgl_Window.cpp 1.8:
* src/native/win32/org_lwjgl_input_Controller.cpp 1.12:
* src/native/win32/org_lwjgl_input_Cursor.cpp 1.1:
* src/native/win32/org_lwjgl_input_Keyboard.cpp 1.17:
* src/native/win32/org_lwjgl_input_Mouse.cpp 1.20:
Native cursors implemented
2003-05-11 elias_naur
* src/native/common/extgl.c 1.16:
Added debug output when dynamic library load fails
2003-05-10 gregorypierce
* src/native/macosx/RenderingContext.cpp 1.9:
* src/native/macosx/RenderingContext.h 1.9:
* src/native/macosx/org_lwjgl_Display.cpp 1.10:
* src/native/macosx/org_lwjgl_opengl_BaseGL.cpp 1.6:
Finishing up changes to the Display and BaseGL classes.
* src/native/macosx/org_lwjgl_Sys.cpp 1.5:
Updated to be up to date with current release. Still no support
for setting process priority.
* src/native/macosx/org_lwjgl_input_Mouse.cpp 1.5:
Updated to use CG API for mouse capture and deltas. OS handles
Deltas itself so using that as opposed to tracking it myself.
* src/native/macosx/org_lwjgl_Display.cpp 1.13:
Change to use the actual refresh rate from the display in the
init call instead of setting it to 60. It doesn't really matter
since OSX could care less, but for others maintaining the port,
they may want code that looks the same.
* src/native/macosx/org_lwjgl_Display.cpp 1.12:
* src/native/macosx/org_lwjgl_opengl_BaseGL.cpp 1.8:
Changed the location of the CGDisplayCapture from the GL code to
the Display code. A side effect of this is that calling
resetDisplayMode() is required - not optional. Not calling
resetDisplayMode() may result in a non-responsive machine.
* src/native/macosx/org_lwjgl_opengl_BaseGL.cpp 1.9:
Added in double buffering and added in the capability to
actually swapBuffers with CGFlushDisplay() which will copy the
back to the front.
* src/native/macosx/org_lwjgl_opengl_BaseGL.cpp 1.7:
Removed unnecessary struct. No point consuming memory for
something that's unnecessary.
* src/native/macosx/org_lwjgl_Display.cpp 1.11:
Updated the display init function so that the OSX version plays
nicely with the other versions.
2003-05-09 gregorypierce
* src/native/macosx/org_lwjgl_input_GamePad.cpp 1.3:
* src/native/macosx/org_lwjgl_input_Joystick.cpp 1.2:
Removed as interface to HID devices has changed
* src/native/macosx/RenderingContext.cpp 1.8:
* src/native/macosx/RenderingContext.h 1.8:
* src/native/macosx/org_lwjgl_input_Mouse.cpp 1.4:
Updated to use CGL as opposed to AGL
2003-05-08 gregorypierce
* src/native/macosx/RenderingContext.cpp 1.7:
* src/native/macosx/RenderingContext.h 1.7:
* src/native/macosx/org_lwjgl_Display.cpp 1.9:
* src/native/macosx/org_lwjgl_Sys.cpp 1.4:
Revamped architecture replacing AGL nastiness with cleaner CGL
API
2003-05-08 matzon
* src/java/org/lwjgl/input/Keyboard.java 1.21:
back to 1.19 - silly me
* src/java/org/lwjgl/input/Keyboard.java 1.20:
* src/java/org/lwjgl/test/input/ControllerTest.java 1.4:
new test, based on MouseTest
* src/native/win32/org_lwjgl_input_Controller.cpp 1.11:
fix: Controller now works again (window.h was being included,
and setting dx version to 3, which doesn't support joysticks)
2003-05-07 matzon
* src/native/win32/org_lwjgl_input_Keyboard.cpp 1.16:
fix: increased buffersize to correct size (buffering +
translation can increase needed size to 200 bytes at most)
w00t!
Is the 'static implementation' making all of the OpenGL functions, currently methods of GL, into static methods?
Noooo!
Fuseboy
Hmm, why the "NOOO!"? I guess it's kind of strange "java-wise", but then opengl is not "java" - it's not even object oriented. As opengl is "static" (?) - atleast my initial reaction was that a singleton (NOOO - not that discussion again ;) class with static access methods should be fine?
I'm opining here as someone who hasn't done any of the hard work involved to bring this API to life. Having said that, I'd love it if LWJGL made use of Java idioms as fully as possible.
As long as sufficient similarity so the C API is retained that LWJGL users can still make use of existing OpenGL resources (e.g. porting code small examples easily, making use of OpenGL books, etc.) there seem to be two big advantages to embracing Java idioms: ease of use and flexibility.
My guess is that most LWJGL users (especially future ones) are in my situation of being more familiar with Java than with OpenGL. (Coming from J2EE, I find the extensive static code blocks in org.lwjgl.test.opengl.Game quite bizarre.) I think the more Java-like the API, the easier it is to learn, and consequently the more likely it is to increase in popularity.
My LWJGL wish list is (it's a lot to ask, but hey, it's a wish list):
- Don't make all the methods static. This way it leaves it accessible to extension for various purposes, but particularly mock objects-based automated unit testing. (I have unit tests for everything else in my fledgling game, but not the graphics rendering.) Even better, make GL into an interface - that way it can be done through a dynamic proxy much less work.
- Make the constant parameters type safe so that, apart from the usual benefits, the API is much more explorable through Javadoc.
- Wrap it with the thinnest layer of OO to encapsulate GL's "object" handles (e.g. textures, vertex programs, etc.) as Java objects.
Fuseboy
Quote- Don't make all the methods static. This way it leaves it accessible to extension for various purposes, but particularly mock objects-based automated unit testing. (I have unit tests for everything else in my fledgling game, but not the graphics rendering.) Even better, make GL into an interface - that way it can be done through a dynamic proxy much less work.
- Extensions: I guess it's pretty hard to extend opengl from java? Maybe I don't understand your point though. :)
. Mock-objects: You've got a point, It would be trivial though with the help of e.g. Eclipse to generate a "forwarding class" from the static class (which forward an instance's method calls to the standard class static ones) - thus "simulating an object"?
Quote- Make the constant parameters type safe so that, apart from the usual benefits, the API is much more explorable through Javadoc.
Good point - probably java 1.5 enum's would be great here? (i.e. the typesafe enum pattern built into the language)
Shouldn't be that hard to build a "parser" to create an enum class with all the relevant constants and substitute method signatures to the enum type. (doesn't make it totally type safe - but it prevents missuse of ints though)
Quote- Wrap it with the thinnest layer of OO to encapsulate GL's "object" handles (e.g. textures, vertex programs, etc.) as Java objects.
Static access methods that take clearly defined java objects (textures etc) and ByteBuffers (pure "data") - I like it ;)
I'm just a newbie in opengl land though :)[/quote]
There is no extension to GL through Objects. GL is not performing operations on an Object, or anything even remotely resembling an Object. GL performs operations on a thread-local context and the way you model this in Java, or any other OO language, is static methods.
If you try and make all your problems look like nails and whack them with a hammer you'll end up being a really bad brain surgeon. Just let go all this "Java" paradigm and think good and hard about what we're asking the language to achieve for us, and you'll realise that the GL-is-an-object paradigm is wholly wrong.
Cas :)
Heh.. maybe the scales will fall from my eyes at some point, but I resent the implication :-) - mainly because I think it's a design decision that isn't entirely black and white.
There are API's that use instance methods provide access to thread-local state, just as there are API's that manipulate stateful entities through static methods.
Whether GL is "truly" an "object" or not isn't my main issue; although I think the static approach has more disadvantages than benefits, I'm primarily trying to solve a practical problem. AndersD's idea was a good one; I can use a code generator to create a forwarder (which is best done in the build script somehow, I think, rather than by an IDE, to avoid maintance issues).
Parts of GL's internal state, however, are very much object-like - there are bits of it that are instantiated and reclaimed which have attributes and operations, and are in fact referred to in the man pages as objects.
Fuseboy
....and they're the things that you encapsulate. GLTexture, GLDisplayList, etc.
Cas :)
Hi,
There's a problem with LWJGL 0.7. Vertex_Buffer_Object extension, when enabled, changes the way glVertexPointer, glNormalPointer etc, work. Instead of accepting pointers, they accept offsets on the buffer. That is, instead of (in C code):
glVertexPointer(4, FLOAT, 0, data);
glColorPointer(4, UNSIGNED_BYTE, 0, data+256);
it works like this:
glVertexPointer(4, FLOAT, 0, 0);
glColorPointer(4, UNSIGNED_BYTE, 0, 256);
LWJGL defines glVertexPointer(int size, int type, int stride, Buffer pointer), which works fine the old way, but it's useless if you want to use VBO. Maybe a new method glVertexPointer(int size, int type, int stride, int offset) should be defined, just for this case.
And another suggestion, it's not really a problem, just something a personally dislike. Generally with 0.7 my code looks cleaner, except for a few cases. Especially gluUnProject really sucks! The method signature is gluUnProject(double winx, double winy, double winz, DoubleBuffer modelMatrix, DoubleBuffer projMatrix, IntBuffer viewport, DoubleBuffer objx, DoubleBuffer objy, DoubleBuffer objz). I'd really appreciate it if a new method could be defined like this:
gluUnProject(double winx, double winy, double winz, DoubleBuffer modelMatrix, DoubleBuffer projMatrix, IntBuffer viewport, DoubleBuffer obj)
that works like this (in C code):
JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_GLU_gluProject(JNIEnv * env, jclass clazz, jdouble p0, jdouble p1, jdouble p2, jobject buffer, jobject buffer2, jobject buffer3, jobject buffer4)
{
const GLdouble *address = (const GLdouble *)env->GetDirectBufferAddress(buffer);
const GLdouble *address2 = (const GLdouble *)env->GetDirectBufferAddress(buffer2);
const GLint *address3 = (const GLint *)env->GetDirectBufferAddress(buffer3);
GLdouble *address4 = (GLdouble *)env->GetDirectBufferAddress(buffer4);
jint ret = (jint) gluProject((GLdouble) p0, (GLdouble) p1, (GLdouble) p2, address, address2, address3, address4, address4 + 8, address4 + 16);
CHECK_GL_ERROR
return ret;
}
I hate having 3 Buffers for just 3 doubles (really 3 sliced Buffers). If you decide to make something like this, I think this could be applied to other "ugly" methods too.
The VBO case is already fixed in CVS to be released in 0.7 final. The gluUnproject case looks like it be improved, what do others think? It would be nice if you provided us with a list of "ugly" methods you want improved, BTW.
- elias
I'd particularly like to see all the glColor*v methods removed. And all of the other *v methods, as they are simply not relevant to a Java implementation. They were provided for performance in C but have exactly the opposite effect in Java. They also make your code fantastically ugly.
Cas :)
The only other similar method I could find is gluProject. It has the same problem. And I guess Cas is right about the *v methods.
I also found a problem with the extensions booleans (of GL class). 0.6 had a:
String ext = st.nextToken();
if (ext.startsWith("GL_"))
ext = ext.substring(3);
which worked OK, but now it's gone and it can't match the fields, because the extensions booleans don't have the "GL_" prefix (i.e. ARB_imaging instead of GL_ARB_imaging). I guess you should either restore those 3 lines or add the "GL_" prefix (I prefer the later).
Thanx, the extension names now have a GL_ prefix.
- elias
And now all superfluous *v methods are removed too.
- elias
Cool, I hope this makes the library a bit smaller and simpler.
Cas :)
Another problem has occured. 0.6 had glMultiDrawArrays and worked fine, but 0.7 has both glMultiDrawArrays and glMultiDrawArraysEXT and only the EXT version works. Actually there's no native implementation (or even declaration) of the standard glMultiDrawArrays version. And I was wondering why glMultiDrawElements does not exist (actually commented out). Is there a reason for this? That "GLvoid **indices" maybe?
Any idea about when final 0.7 will be ready?
The glMultiDrawElements is commented out because of the GLvoid ** issue which I can't readily convert to Buffers.
But I'm not following you regarding glMultiDrawArrays? There's a native implementation in common/org_lwjgl_opengl_CoreGL.cpp, right?
- elias
You're right. It's in CoreGL and I was looking in GL And that's really strange because I'm getting a "java.lang.UnsatisfiedLinkError:glMultiDrawArrays" whenever I call glMultiDrawArrays. glMultiDrawArraysEXT works fine.
oh, then it's fixed in the second conversion round I did yesterday. Wait for 0.7 final.
- elias
Hi,
I have to agree with Fuseboy. I am not a game programmer and I do not know GL and so on, but I do know about programming.
I downloaded the 0.7 release just to poke around to see if I can create something with it. My excitement quickly turned into disbelief when I saw how the stuff was ported to Java.
I understand your point about it being hard to make C-interface look like OO Java. That's fine, if your goal was just to make the bridge to the Java world using this interface, and nothing else.
If your aim is to directly use this interface for game programming in Java, then I completely disagree with the current approach. It gives little or no advantage from the design/programming point of view and brings the same problems from the C world that you tried to avoid with Java!
It would be great if there was some layer design to this. Your current design would be bottom layer just to interface with the system level services via GL etc. It would rarely be used directly by the game programmer. On top of this interface, there would be an object abstraction layer that would model everything as objects.
Only after you do this, can you really start to see the benefits of Java. It's fine that Java takes care of so many things for you, but ultimately, your benefits will melt away if you do not model things in objects. The idea with objects is to model things to concrete classes so that you can understand your program better. An apple would be an apple, instead of pulp + seeds + peel + juice. Do you see an apple in a pile of pulp, seeds, peel and juice? That's the difference.
Anyway, it's good to see that Java gaming is becoming a reality.
Yep, a full object layer can be very, very useful - but that's out of the scope of LWJGL. The community is encouraged to produce whatever layers on top they require, however.
Many C/C++ development houses these days touch OpenGL/Direct3D very little, and instead delegate all the "graphics stuff" to a piece of middleware, a scenegraph etc. Anyone who wants to write a scenegraph on top of LWJGL may do so, and that's basically the stage of development LWJGL is at.
I personally see the next stage as a very primitive object layer to encapsulate the OpenGL-defined objects - Textures etc - and the various utility code that everyone has to write. Then, scenegraphs, tile renderers, model loaders etc. I'm sure in time all these things will exist.