taccgl™ Version 0.62
Introduces automatic allocation and packing of textures using a texture atlas.
This saves texture space and removes various limitations
- on page height and width and
- on overlapping HTML elements.
It simpifies writing complex animations and elimiates the need to do manual texture
allocation to save texture space.
Added method in this context is alloc.
Transitions created with the a method now per default do not have a texture space allocated.
They have to either
- call paint to implicitly allocate texture space and paint an HTML element on it,
- use color (or bgColor and alpha(0)) to assign a color
and to set the background opacity to 0 to go without a texture,
- call alloc to explictly allocate texture space and to use 2D canvas drawing functions to create a texture, or
- use material to reuse / share the texture space of another transition.
Old scripts that use a without one of these need an additional call to material.
The actor method now automatically allocates texture
space by implicitely calling alloc. The canvas
parameter of actor and paint is removed because the canvas number
is now determined automatically, by the texture atlas allocation.
mapActor now automatically allocates texture space.
Added methods opaqueShadow,
clipT, clipTFrom, clipTTo, clipR, clipRFrom, clipRTo.
mapFrom, mapT, mapTFrom, mapTTo.
restrict was renamed to clip, map1 was renamed to mapTo,
hvec was renamed to hV, hVFrom was added, hvec1 was renamed to hVTo
wvec was renamed to wV, wVFrom was added, wvec1 was renamed to wVTo
dvec was renamed to dV, dVFrom was added, dvec1 was renamed to dVTo.
The old names are still available but should not be used for new projects. mapA and clipA are depricated and
will be removed.
Clip and map functions now accept Position Specifications.
The methods acceleration, vBegin, and vEnd now accept vector and scalar arguments.
So the scalarAcceleration method is no longer needed and will be removed.
Added and Changed matrix functions
The epilepsy warning message does no longer contain a
checkbox (which was used in previous versions to suppress the
message on subsequent page requests) since this functionality
the start method can be used.
taccgl™ Version 0.61
This release mainly contains many bug fixes and performance
improvements. Also the tutorial was revised and many new
pages added. New features are Position Specifications
to simplify specification of coordinates and
methods alpha and texCan. For
taccgl_Multi the methods mult, getI,
length, add, and union were
Changes for improving performance, mainly on mobile devices:
taccgl™ now automatically switches to per-vertex shading on slow GPUs
and if this does not suffice also reduces rendering resolution.
It also automatically enables and disables various features like shadows and per-fragment
lighting, adjusts the 3D canvas size and selects among various
taccgl™ uses the new disjoint_timer webGL extension, if available, to measure the GPU performance.
Otherwise it constantly monitors the frame rate an adjust accordingly. See Performance.
taccgl™ now automatically detects device pixel ratio, browser zoom and pinch
zoom and determines the required 3D-canvas and texture resolution.
Texture resolution is automatically reduced to meet maximal texture
size requirements of the GPU. taccgl™ also now detects a
changed browser zoom level and triggers the onresize event,
which is normally used to restart animations after resizing the window.
If available taccgl™ uses the new visualViewport browser interface.
Various compatibility bugs were resolved, e.g. taccgl™ now detects the
floating point precision of the GPU and adapts shaders accordingly.
Some parts of the interface were cleaned up:
and taccglOBJFile.read were newly introduced and
functionality of taccgl.objFile was moved
into taccglOBJFile.read. Methods flyIn
and flyOut were renamed into from and
to. color was renamed into
bgColor, since this function actually sets the
background color. A new version of color now makes
sure that the color is indeed visible by setting alpha to 0.
taccgl™ Version 0.60 - Built 150902
Is a maintenance release fixing various bugs, adding normal calculation to the flip effect
and a tutorial page on Using Custom Fragment Shaders.
taccgl™ Version 0.60
Besides various bug fixes, additional functionality for parallax scrolling and
animations while scrolling have been added, see
new blog article Parallax scrolling with 3D Acceleration:
- Using absStartScroll, startScroll, and
distance a taccgl™ transition can
be played while the user scrolls down the page.
- The taccglFlexiBorder Class has been
improved calculating normals per vertex in
- Methods freeze, and permanent (perm) have been added.
- New methods for 3D objects and materials: material, blend, mapActor, mapElement
, map, , mapA, mapMirrorX, mapMirrorY,
mapRelative, mapClip, mapScale.
- The interface for controlling the eye point has been changed using the new class Eye Class.
- Shader code for shadows has been improved for performance.
taccgl™ Version 0.59
taccgl™ Version 0.58 09/15/2014
- The transformController Class was added that allows the user
to rotate and move an object or multiple objects as part of a scene with the mouse.
This is demonstrated using the torus example on the home page.
- A global/selected translation matrix (TM) was added that is useful for animating / transforming
a set of transitions/elements/3D objects selected using useTM.
- Some additional mathematical matrix operations were added. Most of the new and of the old not yet
documented matrix operations were documented, see Matrix.
- A taccgl_shadowFactor option was added to control darkness of the shadows, see Library Options
- Some bug fixes and some fixes to the documentation.
- A german version of the home page was published under www.taccgl.de.
taccgl™ Version 0.57 07/25/2014
Includes some important bug fixes, please update.
taccgl™ Version 0.56 New Features 06/19/2014
- Now the development of mobile and responsive sites is explicitely supported and
a beta, mobile version of the taccgl™ home page
demonstrates this. Read more about development of Responsive and Mobile Layouts.
Also the taccgl™ tutorial and most of the documentation pages now have a
- The library now also works locally on file:/ / urls (see Installing the Library)
and can so be tested without the need of a web server (local or remote).
- The library now supports retina displays and can handle values of devicePixelRatio other than 1.
- Newly documented methods NQCanvas, NQCanvas, LQCanvas and LQCanvas.
taccgl™ Version 0.55 New Features 05/20/2014
- Modified semantics of actor, cont, and visAtEnd as detailed below
to simplify running animations in parallel to other animations.
Modified taccgl.org homepage, to permanently display (and animate) 3D objects and shadows using taccgl™ and
WebGL™. Mouseovers and examples now run in parallel to these animations. See also Animations and Transitions.
- Various additional methods:
setEndStyle, hideAtBegin, opacityAtBegin, taccgl3DObject.opacity3D,
- Slightly modified visibility semantics of actor.
Animated HTML elements become visible after the animation step (and used to become visible
after the complete animation in version 0.54 and before).
cont now makes sure that animated HTML elements created
with actor or using visAtEnd become visible after the continuing animation step.
See also Animations and Transitions.
- Improved timing detection and quality swtiching. taccgl™ now more precisely measures/estimates the frame rate
and selects a quality level based on the result.
- Methods like foreground, visatend, opacityatend formerly
were required to be called after duration, absStartTime and starttime.
Now they can be called in any order.
- taccglMTLFile.ambientAdjust(0.6,0.6) is automatically called
for material files produced with Blender and so there is no longer a
need to call it explicitely.
- w and h parameters of mapRelative can now be optional.
- taccglMTLFile.ambientAdjust has second parameter.
- the following methods have been renamed to follow the correct camelCase convention
visAtEnd, opacityAtEnd, showBefore, showAfter, and
startTime. The old names visatend, opacityatend etc. are still
supported for the time being but should no longer be used and are considered depricated.
- Bug fixes in stop, lightAmbDiff (for multiface), opacityAtBegin
- Revised debugging output
taccgl™ Version 0.54 11/14/2013
supports WebGL™ in Internet Explorer starting with IE 11.
Also fixes a bug that made previous taccgl™
versions stop working with WebGL™ on Chrome version 31.
taccgl™ Version 0.53 10/29/2013 New Features
- Display of shadows casted from 3D Objects on each other,
from 3D Objects on HTML elements, and from HTML elements on each other and on 3D objects.
See Shadows, Light and Shadow
- Drawing of HTML elements with shadows thereon and drawing of shadows for being blended
on top of HTML elements, see Shadow Only
- Shadow control methods shadowOnly and castShadow
- Methods for adjusting HTML elements in 3D space, posZ, resizeZ
- LightSource Class with LightSource.setPos method
- Improved taccgl.org homepage with examples using shadows
- Various Bug Fixes
taccgl™ Version 0.52 8/27/2013 New Features
- Updating of running animations: start can update animation steps while running
begin no longer clears pending animation steps, but
starts new steps running simultaneously. Animations can now be
stopped with stop (taccgl Class) and animation steps
with stop (taccglAnim Class).
- Extended Mapping and Painting: allows you to paint elements on user defined
coordinates (to animate long scrollable pages) and to paint enlarged elements
to avoid quality degradation on resizing, see paint (see Note), mapScale.
- Dynamic Resize of Vertex Buffers (in case the allocated size is too small)
- Controller Class for processing of mouse events,
new methods: useController, blockingController, forwardingController
opacity, opacityatend, opacityFinal, instMouseOverFilter,
- Revised Home Page Layout and Revised Examples on Homepage, showing simultanous animations and stopping of animations
- Various Bug Fixes
taccgl™ Ver. 0.51 7/30/2013 New Features
taccgl™ Ver 0.5, 05/21/2013 New Features
- Automatic shader generation and Custom Shaders.
Custom Shaders allow users to extend the built-in shaders and so to create
a great variety of animations. See taccglShaderConfig Class,
ssc, sc and ShaderGeneration
- Improved Lighting with various configuration options, see defaultLighting,, Lighting Parameters
- Automatic handling of scroll and resize events to adjust a running animation, see setHandlers
- Various additional methods: mSingle, defaultEye, adjustEye,
- Various bug fixes
- New and improved examples
- ZIP file now contains compressed version of the library.
The current compressed library has about 119KB while the
uncompressed version has about 174KB and about 4700 lines.
Note that usually in addition the web server zips the
file before transmission needing still significantly less
bytes to transmit.
taccgl™ Version 0.4
Initial public beta version.
WebGL™ is a trademark of the Khronos Group Inc.