- flat varyings
- inferring data texture size
- integer textures (require explicit uniform declaration for now)
- devicePixelRatio handling in examples
- (LargeLenia)[https://google.github.io/swissgl/#LargeLenia] demo)
Inc
can be a list of strings (to avoid long string concatenations every frame)- Removed hooks mechanism (using wrapper functions instead)
- Async texture fetch support (see (FancyLenia)[https://google.github.io/swissgl/#FancyLenia] demo)
- Samplers support (see TextureSamplers demo)
varying
's can be declared in-place inVP
argumentsglsl.adjustCanvas()
should be explicitly called inglsl.loop()
callback
glsl.adjustCanvas()
helperglsl.loop()
helpertiny.html
minimalistic example
- Physarum3d demo
- (breaking) Default texture filtering is now
nearest
. This is a workaround for iOS devices, wheretexelFetch
stopped working for float32 textures when filtering islinear
.
- (breaking)
VOut
->VPos
readSync
method for fetching textures to CPU
- `DotCamera example
- `ReactionDiffusion example
- `Springs example
- Array uniforms support (#4), see NeuralCA.js for the usage example
- Depth attachments (
depth
texture format and target parameter) - Texture arrays (
layern
target parameter) - DeferredShading example
- (breaking) removed
code
argument. Shader is passed throughVP
,FP
andInc
parameters. Shortcut syntax can be used inVP
andFP
independently. - (breaking)
vertex()
function now returnsvoid
, output should be written intovec4 VPos
variable.fragment()
output now should be stored invec4 FOut
. - (breaking)
tag
attribute it now obligatory for newly created render targets.
- WebXR support in the demo
- ParticleLife3d example
- replaced
includes
mechanism with hooks
VERT
/FRAG
definestorus()
glsl functionFace
option to control face culling- Shadowmap example
Grid
can be 3D (ColorCube example)
depth
texture format- removed
Perspective
option
- Mesh rows alternate diagonal direction (see MeshGrid example)
- wireframe() helper
- CubeDeform example
SURF(f)
macro to estimate surface normalcubeVert
function to simplify cube creation
- (breaking) removed
uv
argument fromvertex()
- (breaking) removed
P
, addedUV
andXY
special variables - (breaking)
float isoline(float v)
function (available in fragment shaders) - MeshGrid example
'mirror'
(gl.MIRRORED_REPEAT
) texture wrapping mode (commit)