Overview of Graphics
- Delphi/Lazarus canvas and Lazarus PaintBox and Image;
- Delphi with WinCrt and Lazarus with Crt or WinCrt;
- Delphi with WinGraph and Lazarus with Graph or WinGraph;
- Delphi/Lazarus with SDL and Lazarus with SDL2;
- Lazarus with PasSFML, OpenGL and the TGLCanvas;
- Oxygene for Java applets, applications and Android apps;
- RemObjects C# for Java applets;
- Oxygene for .Net
- C# (for .Net)
- Smart Pascal.
The bulk of our graphics pages can be categorised in this table. See the section below it for assorted additional topics.
Application | 2D Graphics | 2D Motion Graphics | Transformations | 3D Graphics and Motion Graphics |
---|---|---|---|---|
Lazarus/Delphi | ||||
Crt/WinCrt | Lazarus and Delphi demonstrations of moving characters. |
Ascii3D (also available as web version) | ||
Graph/WinGraph | Lazarus (Graph) and Delphi (WinGraph) demonstrations. |
Demonstrations of rebounding and bouncing ball in Lazarus and Delphi. |
SuperHappyFunland (also available as web preview) and 3D-Driving (and its web version) | |
SDL/SDL2 | Introduction to SDL | Jason McMillen's Artillery tutorial. |
See, for example, Unit gameObjectsSprite of SpaceShooter for use of the routines glTranslateF, glScaleF and glRotateF. | TesterGameEngine and The Curious Case of Mr Snugglekins and the Giant Sack of Catnip |
PasSFML | Drawing Shapes, Drawing Text, Drawing Textures (Images), Using OpenGL, Using Shaders | Motion Graphics, Using OpenGL for Motion Graphics | scale, rotate and move, Using OpenGL for Motion Graphics | Using OpenGL, Using OpenGL for Motion Graphics |
TGLCanvas | Drawing background objects in Box2D | Drawing moving circles and rectangles in Box2D | Use of SetRotation, SetTranslateX and SetTranslateY in Box2D | |
Form-based | Drawing line, ellipse, circle, rectangle, polygon, arc, chord, text and saving bitmap to file. |
Solo Pong and Shoot | Translation and rotation in Rotating Tetrahedra in TOpenGLControl | Rotating Tetrahedra in TOpenGLControl |
Oxygene for Java | ||||
Applets | Drawing lines, rectangle, oval and text, triangle, pentagon and arc, individual pixels (Mandelbrot Set), use of colour including GradientPaint. | Moving image |
Demonstrations of rotation, shear, and translation. | |
Applications | SpaceShooter | path translation (converted from applet) | ||
Android Apps | Game Framework | |||
RemObjects C# for Java Applets | Drawing lines |
PenApplet | Demonstration of rotation | |
Oxygene for .Net | Drawing lines, rectangle, rounded rectangle, ellipse, triangle, pentagon, arc and text on a coded form. |
Animation using WPF | For translation, rotation and scaling, see the last cell of Drawing on a Coded Form and the pentagon of Drawing on a WPF Canvas. |
3D Graphics using WPF |
C# (for .Net) | Drawing lines, rectangle, rounded rectangle, ellipse, triangle, pentagon, arc and text | See the last cell of Drawing on a Form for translation, rotation and scaling | ||
Smart Pascal | Tutorial: introduction, drawing routines (for rectangles, ellipses, straight lines, arcs, text and images), use of colour and fonts. Drawing a Julia Set fractal on a PaintBox on a form.
Rendering with Pixi.js |
Collision Detection |
Demonstrations of translation and scale and rotation. See also rotation and translation in the drawing units of RandomPlatformScroller and TowerOfArcher. | Our WebGL tutorial has introductory pages, rotating triangle, tetrahedra and cubes, a cube with textures on its faces and the effect of ambient lighting. |
Further Graphics Topics
Changing a colour in a bitmap file (Lazarus/Delphi)
Copying part of one bitmap file to another (Lazarus/Delphi)
Hiding data within a graphics file (Lazarus/Delphi)
Output to Scalable Vector Graphics (SVG) File (Lazarus)