Releases: alienkitty/alien.js
Releases · alienkitty/alien.js
v1.2.0
- Three.js r155, r157 and r163 updates
- Space.js v1.2 updates
- Readded Rollup config when using
Thread
from Space.js - Changed
three
directory structure - OGL entry point
- Updated MindNode image
- ESLint v9
- Examples
- Many formatting and comment updates, including simplified comment dividers and inline shaders for material classes.
- OGL FXAA.
- Readded barrel distortion.
- Radial blur.
- 3D infinite stars.
- 3D Stripe gradient (akella version).
- Fluid distortion.
- Motion blur (per-object and camera), plus debug display options (Default, Velocity, Geometry, Matcap1, Matcap2, Depth, Luma and Bloom).
- 3D black holes.
- Utils
OimoPhysics
updates, including support for additional geometry types (ConeGeometry
,CylinderGeometry
,CapsuleGeometry
andConvexHullGeometry
).- Renamed
TextGeometry
toText
. - Added
Fluid
based on @PavelDoGreat's WebGL Fluid Simulation and @gordonnl's Post Fluid Distortion example from OGL. - Added
MotionBlur
based on @gkjohnson's Per-Object Motion Blur Render Pass and Shader Replacement.
- Materials
- Reverted video glitch material updates.
ColorMaterial
alpha parameter.- Scene composite material updates, including new materials for
SceneCompositeAddMaterial
,SceneCompositeDistortionMaterial
, and dithering parameter. - Added
MaskMaterial
. - Added
DepthMaterial
with dither. - Added
ACESFilmicToneMappingMaterial
based on @WestLangley's ACES Filmic Tone Mapping Shader from three.js (ACESFilmicToneMapping
). - Added motion blur materials (
MotionBlurVelocityMaterial
andMotionBlurCompositeMaterial
) based on @gkjohnson's Per-Object Motion Blur Render Pass and Shader Replacement. - Removed previous
CameraMotionBlurMaterial
. - Removed
FlowMaterial
. - Removed transmission materials and examples.
- Shader modules
- Encodings shader module updates, including ACES tone mapping from the three.js ACES Filmic Tone Mapping Shader and
linearToSRGB
from OGL. - Added radial blur shader modules based on the OGRE Radial Blur Shader and question from SO.
- Added
map
from @msfeldstein's glsl-map. - Readded
levels
from Active Theory's Gist.
- Encodings shader module updates, including ACES tone mapping from the three.js ACES Filmic Tone Mapping Shader and
v1.1.0
- Three.js r151 and r152 updates
- Space.js v1.1 updates
- Added NPM Downloads and Discord badges
- Updated MindNode image
- Examples
- SMAA.
- Renderer antialiasing on by default.
- Unreal Bloom with HDR.
- 3D Backdrop.
- Readded transmission.
- Transmission render group.
- Transmission material panels.
- Panel tangent helper error workaround for three.js r151.
- 3D Ripple canvas resize fix for three.js r135.
- Utils
OimoPhysics
andOimoPhysicsController
computes the bounding sphere for instanced meshes.
- Materials
- Normal material WebGL2 fix.
- Video glitch material updates.
- Added SMAA materials (
SMAAEdgesMaterial
,SMAAWeightsMaterial
andSMAABlendMaterial
) based on @vanruesc's SMAAEffect from Post Processing and @mpk's SMAA pass from three.js. SMAAWeightsMaterial
path and optional loader parameters.PoissonDiscBlurMaterial
blue noise texture resolution and optional loader parameters.- Added
DiscardMaterial
based on DiscardMaterial from drei. - Added
MeshTransmissionMaterial
based on @N8python's MeshTransmissionMaterial from drei. - Added
GammaCorrectionMaterial
based on @WestLangley's Gamma Correction Shader from three.js (linearToSRGB
).
- Shader modules
- Added encodings shader module with
linearToSRGB
from the three.js encodings function.
- Added encodings shader module with
v1.0.0
Alien.js has divided into two separate libraries, Space.js for UI, Panel components, Tween, Web Audio, loaders, utilities, and Alien.js for 3D utilities, materials, shaders and physics.
- Reverted to library
- Removed Config classes
- Refactored
Stage
to be more minimal - Refactored shaders into combined modules
- Separate module entry points for
@alienkitty/alien.js/three
and@alienkitty/alien.js/three/oimophysics
- Moved
script
tags intohead
- Removed fallback page and logic
- Updated linting config with warnings
- Fullscreen triangle scene not needed
- Prefer three.js internal classes over custom
- Removed use of three.js
Uniform
- Blur resolution correction
- Improved reflections
- House cleaning
- Always use latest dependencies
- Replaced LGTM with DeepScan
- Replaced Mermaid diagram with MindNode image
- Renamed
master
tomain
- Materials
- Added
VolumetricLightMaterial
based on @BKcore's Three.js experiments, @netpraxis's volumetric light example and @peterhry's Holographic Projection CodePen. - Added
LensflareMaterial
based on mu6k's Lens Flare Example and TheNosiriN's Anamorphic Lens flare 1. - Added
VolumetricLightLensflareMaterial
, a combination of bothVolumetricLightMaterial
andLensflareMaterial
in one pass.
- Added
- Shader modules
- Blue noise shader module updates.
- Updated noise shader modules based on morgan3d's 1D, 2D & 3D Value Noise.
- Added fBM functions from morgan3d's 1D, 2D & 3D Value Noise.
- Added
lensflare
function based on mu6k's Lens Flare Example.
r20
- WebGL 2 only, now that Safari support is enabled by default
- Replaced GSAP with standalone animation and easing classes
- Replaced Oimo.js and examples with OimoPhysics classes
- Replaced UIL with standalone UI components and panel system
- Replaced
Utils
math functions with the three.jsMathUtils
functions, reexported directly from the three.js source file - Improved fast 3D audio system
- Improved reflections
- Implemented pointer events
- Implemented binary websockets
- House cleaning
- Updated dependencies
- Updated browser support check to just a simple
nomodule
fallback, now that Safari supports the latest features - Added geometry and sounds attribution files
- Added dark mode favicon
- Removed Babel from build (no more transpiling needed), now that Safari supports static class fields
- Removed linting from
package.json
to keep dependencies low, and can be manually installed when needed - Removed Travis CI and David, added LGTM
- Config
- Added
Styles
reference class and CSS variables for colours.
- Added
- Loaders
- Updated
BufferGeometryLoader
with support foruv2
. - Removed spherical loaders and examples.
- Updated
- Tween
- Readded
Render
asTicker
. - Added
BezierEasing
based on @gre's bezier-easing, used through theEasing
API, a CSScubic-bezier(0.42, 0, 0.58, 1.0)
can be added with a reference nameEasing.addBezier('inOut1', 0.42, 0, 0.58, 1)
, and then accessed by the nameEasing['inOut1']
, or in any tweentween(shader.uniforms.uTransition, { value: 1 }, 1500, 'inOut1')
. - Added
Easing
based on an aggregate of multiple sources, @danro's easing.js, @CreateJS's TweenJS, @tweenjs's tween.js, and common names for easing functions from the Easing Functions Cheat Sheet. - Readded
MathTween
asTween
.
- Readded
- Utils
- Updated
headsTails()
to optionally return a boolean with empty arguments.
- Updated
- Audio
- Updated
WebAudio
withenabled
getter andget()
method. - Updated
WebAudioParam
withset()
method. - Removed legacy code, now that Safari supports the latest features.
- Updated
- Panel
- UI
- 3D
- Updated
TextGeometry
with upstream updates. - Added
getScreenSpaceBox()
helper function. - Added
getFrustumFromHeight()
helper function. - Added
lerpCameras()
helper function. - Added
SoftShadows
based on @spidersharma03's Percent Closer Soft-Shadows (PCSS) three.js example. - Added
Point3D
. - Removed
SpherizeImage
.
- Updated
- Physics
- Added
OimoPhysics
based on @VBT-YTokan'sOimoPhysics
class and three.js example, and @lo-th's Phy. - Added
OimoPhysicsBuffer
. - Added
OimoPhysicsController
.
- Added
- Extras
- Added
Color
, reexported directly from the three.js source file. - Added
Vector2
, reexported directly from the three.js source file. - Added
Smooth
based on @jesperlandberg'sSmooth
class and smooth.js gist. - Added
SmoothSkew
based on @jesperlandberg'sSmooth
class and CodePen example. - Added
SmoothViews
based on the old Slide video examples. - Added
Magnetic
based on @jesperlandberg'sMagnetic
class and magnetic.js gist.
- Added
- Materials
- Updated
BloomCompositeMaterial
with dithering disabled by default. - Added
ShadowTextureMaterial
based on @gordonnl's Skinning example from OGL. - Added
FresnelMaterial
based on @michaeldll's Simple Fresnel Shader from OGL. - Added
TiltShiftMaterial
based on @spite's Codevember 2016 examples. - Added
ReflectorBlurMaterial
based on @spite's Codevember 2016 examples. - Added
ReflectorMaterial
based on @Slayvin'sReflector
class and three.js mirror example. - Added
ReflectorDudvMaterial
based on @Mugen87's three.js refraction example. - Added
AfterimageMaterial
based on @HypnosNova's three.js example. - Removed film grain materials.
- Updated
- Shader modules
- Replaced transformation shader modules with
rotateUV
andscaleUV
. - Renamed path for easing shader modules from
eases
toeasing
. - Updated HSV shader modules based on @yuichiroharai's glsl-y-hsv functions.
- Added
fresnel
withgetFresnel()
helper function. - Added
smootherstep
function from v_coda's smootherstep. - Removed
range
functions. - Removed
spherize
.
- Replaced transformation shader modules with
r19
- Examples
- Updated dependencies
- Updated browser support check
- House cleaning
- Config
- Simplified
Device
andwebgl
check no-longer callsWEBGL_lose_context
.
- Simplified
- Loaders
- Updated
TextureLoader
with caching support. - Added
SpherizeTextureLoader
andSphericalCubeTextureLoader
for simulating an equirectangular image from a regular texture. - Added
EnvironmentTextureLoader
for generating an environment diffuse texture with PMREMGenerator. - Added
BufferGeometryLoader
andBufferGeometryLoaderThread
for loading .json files exported with BufferGeometry.toJSON (requiresposition
,normal
anduv
attributes). - Added
TextGeometryLoader
andTextGeometryLoaderThread
for loading MSDF assets exported with msdf-bmfont.
- Updated
- Utils
- Updated
Component
with improvedObject3D
detection. - Updated
Interface
with SVG support plusline()
andload()
methods. - Updated
Tween
with support for GSAP's updateRoot(). - Renamed
getConstructorName()
togetConstructor()
which now returns an object with properties forname
,code
andisInstance
. - Readded
queryString()
helper function. - Readded additional math functions.
- Updated
- Audio
- Updated
WebAudioParam
withfade()
method. - Added
WebAudio3D
based on @mrdoob's AudioListener. - Added
Sound3D
based on @mrdoob's PositionalAudio with an option to use just stereo and gain by calculating the object's screen position and distance.
- Updated
- UIL
- Added helper classes and query string parameters to display the interface (
ui
) and orbit controls (orbit
). - Added
UIL
which manages the creation and addition of new uil groups. - Added
WorldUIL
with options for scene background color and tone mapping. - Added
CameraUIL
with a slider forlerpSpeed
. - Added
RenderUIL
with options forLuminosityMaterial
andBloomCompositeMaterial
. - Added
MeshStandardMaterialUIL
with options forcolor
,emissive
,roughness
,metalness
,flatShading
,wireframe
andenvMapIntensity
(work in progress, no image support yet).
- Added helper classes and query string parameters to display the interface (
- 3D
- Updated
getFullscreenTriangle()
with only two vertices. - Added
getSphericalCube()
helper function. - Added
getFrustum()
helper function. - Added
Wobble
for adding 3D movement with Perlin ImprovedNoise. - Added
Flowmap
based on @gordonnl's Mouse Flowmap from OGL. - Added
Reflector
based on @Slayvin's Reflector with fast Gaussian blur added (FastGaussianBlurMaterial
). - Added
SpherizeImage
based on the GEGL Spherize image processing operation in GIMP. - Added
TextGeometry
based on @gordonnl's MSDF Text Glyphs from OGL.
- Updated
- Materials
- Added
NormalMaterial
. - Added
ColorMaterial
. - Added
BasicMaterial
texture map. - Added
FlowMaterial
for use withFlowmap
. - Added
CopyMaterial
blit pass. - Added
FXAAMaterial
based on @mattdesl's FXAA v2. - Added
BadTVMaterial
based on @felixturner's Bad TV Shader. - Added
RGBMaterial
based on @felixturner's RGB Shift Shader. - Added
FilmGrainMaterial
based on @alteredq's Film grain & scanlines shader. - Added
FilmGrainFXAAMaterial
combination of bothFXAAMaterial
andFilmGrainMaterial
in one pass. - Added
BlurMaterial
9-tap Gaussian blur based on @zz85's Horizontal and vertical blur shaders. - Added
FastGaussianBlurMaterial
13-tap Gaussian blur based on @mattdesl's Fast Gaussian blur. - Added
LuminosityMaterial
based on @bhouston's Luminosity high pass shader. - Added
UnrealBloomBlurMaterial
based on @spidersharma03 and @bhouston's Unreal bloom pass seperable blur material. - Added
UnrealBloomCompositeMaterial
based on @spidersharma03 and @bhouston's Unreal bloom pass composite material. - Added
BloomCompositeMaterial
simplified version ofUnrealBloomCompositeMaterial
. - Added
SceneCompositeMaterial
for additive blending of a bloom composite texture. - Added
PoissonDiscBlurMaterial
12-tap Poisson disc blur based on @spite's Poisson disc blur pass from Wagner. - Added
CameraMotionBlurMaterial
based on @blaze33's Motion blur pass from DroneWorld. - Added
BokehBlurMaterial1
andBokehBlurMaterial2
based on battlebottle's DOOM 2016 Style DOF bokeh blur. - Added
ChromaticAberrationMaterial
based on battlebottle's DOOM 2016 Style DOF bokeh blur 2 Chromatic aberration pass. - Added
VideoGlitchMaterial
based on dyvoid's Video Glitch. - Added
DepthMaskMaterial
based on @vanruesc's DepthMaskMaterial from Post Processing. - Added
TextMaterial
based on @gordonnl's MSDF Text Glyphs from OGL.
- Added
- Shader modules
- Added
aastep
from @mattdesl's glsl-aastep. - Added
badtv
based on @felixturner's Bad TV Shader. - Added
blending
based on @vanruesc's blending functions from Post Processing. - Added
blur
shader modules (Gaussian, Poisson disc and Unreal bloom seperable blur). - Added
brightness-contrast
based on @spite's Brightness contrast pass from Wagner. - Added
conditionals
from glsl-conditionals. - Added
depth
functions based on @mattdesl's depth texture example. - Added
desaturate
from the Color saturation in GLSL thread. - Added
dither
based on hornet's Color Banding Removal. - Added
eases
from glsl-easings. - Added
fxaa
from @mattdesl's glsl-fxaa. - Added
hsv
functions from sam's Fast branchless RGB to HSV conversion in GLSL. - Added
noise
shader modules (Blue noise, glsl-noise and 2D noise functions). - Added
parabola
functions from Inigo Quilez. - Added
random
from @mattdesl's glsl-random. - Added
range
functions based on Active Theory's. - Added
rgbshift
based on @felixturner's RGB Shift Shader. - Added
spherize
based on the GEGL Spherize image processing operation in GIMP. - Added
transform
functions from Good's 2D Canvas with UI.
- Added
- Library
all
module entry point for materials and extra dependencies.