Overview of Graphics

On this website we demonstrate graphics using a range of software:
  • 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.
This page provides links so that you can make comparisons more easily and decide which material could be most useful to you when you use graphics in your own projects. For example, using the links we are able to compare routines for outputting text such as write (Crt), outText (Graph/WinGraph), glutBitmapCharacter (SDL), DrawString (C# and Oxygene for Java) and fillTextF (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 (Crt) and Delphi (WinCrt) demonstrations.


Lazarus and Delphi  demonstrations of moving characters.
Student programs such as MazePlus (also available as web version) and PascalPokemon.

  Ascii3D (also available as web version)
  Graph/WinGraph

Lazarus (Graph) and Delphi (WinGraph)  demonstrations.
Sierpinski carpet and Sierpinski curve
Mandelbrot Set in Lazarus and Delphi
WaveInterference, also available as web preview

Demonstrations of rebounding and bouncing ball in Lazarus and Delphi.
Student programs such as Roller, GameOfLife and Knowledge (available as web preview).

  SuperHappyFunland (also available as web preview) and 3D-Driving (and its web version)
  SDL/SDL2 Introduction to SDL

Jason McMillen's Artillery tutorial.
Student programs such as Invader, also available as web preview, My_first_sdl2

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.
Delphi version including printing of graphics.
Drawing on canvas of PaintBox, Image and of StringGrid.
Using OpenGL with the OpenGL component.

Solo Pong and Shoot Translation and rotation in Rotating Tetrahedra in TOpenGLControl

Rotating Tetrahedra in TOpenGLControl
GLScene

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
flexing curve
SpaceShooter
PenApplet

Demonstrations of rotation, shear, and translation.  
  Applications   SpaceShooter path translation (converted from applet)  
  Android Apps   Game Framework    
RemObjects C# for Java Applets

Drawing lines
Drawing rectangle, oval, triangle, pentagon, arc and text

PenApplet Demonstration of rotation  
Oxygene for .Net

Drawing lines, rectangle, rounded rectangle,  ellipse, triangle, pentagon, arc and text on a coded form.
Drawing line, rounded rectangle, ellipse, pentagon, arc and text using WPF.

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
Exclusion Zones
Using Sprites
Box2D
Rendering within the Animate procedure of Pixi.js
Student programs such as MovingBallWithParticles, BlendingEllipses, BallTrajectory and PlatformDemo.
Most of the converted student programs.

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.
Programming - a skill for life!

Overviews of site content and general information, tips and tricks for student programmers