Algorithms for visual effects and animation on the ZX Spectrum

This section is dedicated to graphics programming techniques, visual effects algorithms, and animation methods used to create impressive graphics, 3D scenes, and demo productions on the ZX Spectrum. It brings together articles covering the mathematical foundations of computer graphics, Z80 optimization techniques, and practical implementations of effects that became hallmarks of the Spectrum demoscene.

The collection covers topics ranging from basic point, line, and circle drawing algorithms to advanced rendering systems featuring texture mapping, shading, and 3D transformations. Articles explore 3D object rendering, perspective projection, raycasting, voxel graphics, Z-buffering, Gouraud and Phong shading, as well as techniques for accelerating mathematical calculations on the ZX Spectrum.

A major part of the section focuses on classic demoscene effects, including rotators, rotozoomers, tunnels, plasma, fire, water simulations, image morphing, attribute effects, scrollers, border effects, and various screen transition techniques. Both well-known effects from famous demos and original experimental implementations are covered.

Additional articles discuss color processing and image generation techniques such as dithering, pseudo-color rendering, palette expansion, image smoothing, graphics conversion, color video playback, and methods for overcoming the limitations of the standard Spectrum display hardware. Topics also include animation packing, data compression, bitplane graphics, and display optimization.

The section contains practical tutorials on graphics mode programming, game engine development, texture mapping, fractal generation, spline mathematics, sine-based effects, and many other algorithms used in advanced visual productions of the era.
Algorithms for visual effects and animation on the ZX Spectrum

Articles (115)

Info Guide #13 01 April 2021
Info Guide #12 31 December 2017
Info Guide #11 05 July 2015
ACNews #55 18 May 2009
ACNews #52 16 September 2008
Info Guide #09 31 July 2006
Inferno - On the voxel flying elephant IG # 5.
Info Guide #07 31 May 2005
For Coderz - Programming for the video mode 384x304.
ZX Time #14 08 January 2005
Adventurer #15 31 July 2004
Tutorials - More color! Description packer color video from the demo Weed.
Tutorials - More colours!!! Description packer color video from the demo "Weed".
Tutorials - hewle splines - programs to create spline curves.
Info Guide #05 30 April 2004
For Coderz - RAYCASTING - make yourself a little DOOM'a. Tracing algorithm 3D maze in the game WOLF.
For Coderz - Nuances Raycasting-a.
Inferno #03 22 November 2002
Opportunities Spectrum - Pseudo-Color: Myth or Reality? Algorithm translation in black and white in color.
Opex #07 19 June 2002
TargeT #10 01 March 2002
Last 128 #03 01 January 2002
Plutonium #19 20 August 2001
Programming - the formation of the image on the monitor screen.
Programming - the formation of images on the screen (continued).
Inferno #02 01 May 2001
Gameland - How to write a play. Volume 3. Part One.
Subliminal Extacy #03 01 April 2001
TargeT #08 01 February 2001
Coding - revision for the ZX-WORD of Belarusian language.
Deja Vu #0A 30 September 2000
DonNews #11 21 April 2000
Coding - Fill the closed area on the screen.
ZX Power #04 09 January 2000
Likbez - algorithms for fast 3D-graphics № 2. Additions and comments.
Scenergy #02 31 December 1999
Coding - Texture Mapping - Implementation of SaiR00S/EI.
Coding - Texture mapping + Phong shading implementation of the Senat / Eternity Industry.
Coding - The principle of packing animations in the demo JAM.
Coding - parsing intro Daingy from Cryss / Razzlers.
Virtual Worlds #01 31 December 1999
Assembler - Circles on the water: The algorithms simulate the effect of a well-known on other platforms, called "ripples."
RUSH #02 30 November 1999
Creative - Algorithms and code: clipping of lines and Bezier curves.
Plutonium #14 01 November 1999
Polesse #10 04 September 1999
Laboratory - Gluck on the color chart.
KrNews #10 20 August 1999
CODING - Why did he cut? (On the withdrawal of the pictures on the screen).
Demo or Die #02 31 July 1999
Demo-Building - Phong Shading.
ZX Pilot #34 20 July 1999
Coding - Super-puper-fast algorithm for constructing circles and circles, the rapid division of 16/16, the square root of the register pair, the square root of three-byte number; protsedurka calculate addresses attribute to the coordinates of familiarity.
Miracle #03 16 July 1999
kodit Who's there? - Chanky flame: a description of the algorithm chankovogo fire.
kodit Who's there? - Attribute bump mapping: bump mapping for those who have not entered.
Scenergy #01 31 May 1999
Coding - the implementation of Phong Bump Mapping on the Speccy.
RUSH #01 29 May 1999
Spectrum programming - Fast 3D-calculations: an advanced algorithm.
Adventurer #09 30 April 1999
Exchange of experience - The procedure for generating sine.
Buzz #17 10 April 1999
GOURAUD - Likbez in 3D-shading (shading algorithm faces by GOURAUD).
Odyssey paper #07 17 March 1999
Algorithms - Just about 3D programming: 3D coordinates and normals.
Demo or Die #01 28 February 1999
Demo-Building - Proetsirvoanie 3D> 2D.
Odyssey paper #04 11 January 1999
Bysterenko! - the fastest algorithm / procedure for drawing a line.
ZX Guide #01 27 November 1998
Oberon #05 06 November 1998
Deja Vu #06 30 September 1998
CODING - Lessons from the encoder: Fractal paparatnik.
Adventurer #08 31 August 1998
Exchange of experience - Graphic effect IRIS (plasma).
Exchange of experience - The movement procedure of attribute labels in pixels (floating atrubuty).
Think #18 09 August 1998
Assembler - Indicator - twinkling strips.
ZX Element #02 06 June 1998
ZX Club #08 31 May 1998
Buzz #14 29 April 1998
Assembler - Description of the algorithms: 2D bump mapping, Gouraud Shading, Fast Phong Shading, Z Buffering, Flat Shading, Voxels.
Deja Vu #04 31 March 1998
CODING - The remix of some procedures in 1993: SCREEN APARAT, umbral path, LOOK BASIC PROGRAMM-2.
Spectrum Expert #02 31 March 1998
Buzz #13 12 February 1998
Assembler - Procedures: Stretch texture engine, Texture mapping engine, Texture mapping + gourauds hading engine, Gouraudmapping engine for Z80.
Adventurer #07 31 January 1998
Exchange of experience - Quick procedure line.
Deja Vu #03 31 December 1997
Coding - The procedure of the "floating attributes.
Impulse #02 31 December 1997
Programmers - Quick procedure drawing a circle.
ZX Power #03 31 December 1997
Likbez - a new algorithm for fast 3D graphics on SPECCY.
Deja Vu #07 31 December 1997
CODING - DITHERING - dithering as it is.
ZX Review #11-12 26 November 1997
Studies - Graphic effect "Plasma 2.
Studies - Graphic effect "Plasma 2.
Studies - Graphic effect "plasma".
Studies - remake of the procedures in 1993.
Studies - The effect of "flame".
ZX Forum #04 19 November 1997
screen effects - clearing the screen of Zynaps.
screen effects - "minimize" the screen from Comando Tracer.
screen effects - smooth "decay" of the screen Sommando Tracer.
screen effects - "running out the string" out of the game Rockstar.
screen effects - "pouring" the screen of the game Rockstar.
screen effects - a complex multi-effects from the game Bubbler.
New top 40 procedures - scrolling display, a fusion of two images, inverting screen, rotate characters, replacement of attributes, fill a closed loop, the calculation of addresses in the screen, copy of the screen, etc.
ZX Review #7-8-9-10 08 November 1997
Retro - 40 best procedures: an increase and up the screen.
Forum - Improve Art Studio. Ideas on file compression.
Studies - attribute scrolling text. "Gasilka" screen. A simplified version of the procedure, "Curtain". Procedure is enriched with pictures. Procedure display images on the points.
Studies - Graphic effect "color bars".
Studies - Program the output image.
Studies - The program plugs sprite.
Studies - The procedure for display pictures. Fade-OUT effect (picture goes beyond the edge of the screen). Visual effect "Fountain." Fade-OUT effect, mimicking the TV off. Procedure "Ignition" pictures. The program continuously drawing a picture.
Studies - The procedure for drawing a line.
Studies - scrolling lines of text in the specified window. Attribute scroller. Diagonal scrolling.
ZX Review #5-6 04 November 1997
Studies - A set of eight programs of "extension" screen. Two procedures are manifestations of the screen.
Spectrum Expert #01 31 October 1997
Buzz #11 22 October 1997
Assembler - The effect of "flame."
Lprint #17 06 September 1997
Move #09 02 August 1997
algorithm - One useful trick with ^ (an algorithm for the circle).
ZX Format #06 29 July 1997
Programmers - sharing experiences: "3-colour". Description of the effect of colors on 8-point ", help to the viewer, and how many words on the conversion of images in format "3-colour".
ZX Review #3-4 22 July 1997
Studies - I. Komandin. The program display screen.
Studies - I. Roshchin. Two graphic effect.
Move #08 18 July 1997
algorithm - The algorithm to draw lines.
Body #08 02 July 1997
PUSH HL - Press the MAGIC for BORDER-effect.
Impulse #01 31 March 1997
Echo #03 31 March 1997
Tricks-2 - How to throw a screen to one INT.
ZX News #03 28 February 1997
Rotating pictures - rotate the image, the algorithm with respect to a given center.
Smoothing Images - An algorithm of smoothing of static images.
morph pictures - The effect of soft peretikaniya one image to another.
Faultless #05 02 February 1997
Nicron #06 07 November 1996
Graphics - ANSI graphics.
Echo #01 31 October 1996
Assembler - The image of three-dimensional objects. Fast output point AT X, Y. The procedure of multiplication.
Speccy #06 31 August 1996
Programming - the effect of page turning the text on the sine.
Speccy #03 31 December 1995
Programming - the program allows to change the screen image in the mode of 48K in the form of vertical blinds with a simultaneous color change of the curb.
Subliminal Extacy #01 01 January 1995
Sinclair Town #02 31 December 1994
Beginners - the basic methods of image scaling: Approximation undertones.
Mirikom #02 31 July 1994
Cubism mustdie FAREVYR - the formula for constructing dodekaedra, icosahedron, tetradra.