Added:
- New shader-based lighting and shadow systems added to Ardor3D (requires glsl 4)
- Supports spotlight, directional and point lights.
- Includes new examples
SpotLightExample
,DirectionalLightExample
,PointLightExample
- Ambient lighting values are now part of the scenegraph
- Added additional subdivision methods and injection of stop logic to
TrianfleSubdivisionUtil
- Added for injection of an Authenticator for URLResourceSource and the HttpImageCache
- Ability to read the contents of a texture back from the graphics card.
- Added access to the last frame time in Timer
- Added new
HashUtil
andEqualsUtil
classes inardor3d-math
and standardized use of these across math classes. - Added accessor for
Camera
axes asMatrix3
- Added support for Texture arrays, including Rendering to Texture
- New
lookAt
method added toSpatial
- Terrain geometry can now be updated in real-time - see new example
UpdatingTerrainExample
- New
UICompassExample
to show offRectLayout
Fixed:
- Fixed SWT Return key encoding
- Order of magnitude improvement to
TriangleSubdivisionUtil
- Support added for some mouse movement during clicking to improve accessibility
BMText
text scaling improved- Line rendering: Corrected winding on anti-aliased lines to have the correct facing of polygons.
- Line rendering: Updated geometry shader to clip lines that extend behind the viewer to avoid some nasty artifacts.
- Line rendering: Improved line clamping to view plane
- Line rendering: Scrolling texture support
AWTImageLoader
now handles more image data types - float, int, short, byteMatrix4.toMatrix3
now returns the matrix and handles store in the same way as the rest of the math library
Changed:
- Updated junit to 4.13.2
- Updated org.easymock to 4.3
- Now using maven central for lwjglx-swt dependency.
MathUtils
moved to new packagecom.ardor3d.math.util
- Removed class
FastMath
- Math
isValid
static methods renamed toisFinite
to better clarify their function - Cone constructor params changed to double to match other shapes
- Standardized buffer order when storing values
Camera
and renderer MVP matrices toMatrix
/fromMatrix
methods now force specifying rowMajor to avoid confusion.- Allow set title for
GLFWCanvas
before init and show - Lighting:
- Lights are now derived from Spatial, meaning they exist directly in the Scenegraph and can move and rotate accordingly.
LightState
is no more. Lights are gathered by aSceneIndexer
and managed by aLightManager
in the indexer.- Lights no longer have an ambient or specular color - diffuse is now just
color
andintensity
- The phong light shader is updated to work with the lighting changes.