Skip to content

genericptr/GLCanvas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GLCanvas - Minimalistic rendering library

GLCanvas provides a minimalistic rendering API in the same vein as raylib or libGDX.

A simple program with GLCanvas:

program Test;
uses
  CThreads, GLCanvas;
const
  window_size_width = 600;
  window_size_height = 600;
var
  texture: TTexture;
begin
  SetupCanvas(window_size_width, window_size_height);
  texture := TTexture.Create('deer.png');
  while IsRunning do
    begin
      ClearBackground;
      DrawTexture(texture, RectMake(50, 50, texture.GetSize));
      SwapBuffers;
    end;
  QuitApp;
end.

Features:

  • Flat procedural API
  • Standard vector types and matrix math
  • Texture loading (only supports PNG format currently)
  • Bitmap and Freetype fonts
  • Shaders (optional)
  • Frame buffers (optional)
  • GLUI for many common UI elements like windows, buttons etc...

Platforms:

  • GLPT enable using -dPLATFORM_GLPT (GLPT is the default platform)
  • SDL enable using -dPLATFORM_SDL

Installing on Windows:

  • Download and install the latest release of SDL2 for mingw. For example at the time of writing this SDL2-devel-2.26.3-mingw.zip is most recent. See https://github.com/libsdl-org/SDL/releases. Copy the SDL2.dll from \SDL2-2.24.1\i686-w64-mingw32\bin into the directory which contains the compiled executable (Use i686 for if you're using the i386-win32 32-bit compiler).

  • Download FreeType libraries from https://github.com/ubawurinna/freetype-windows-binaries. Copy /release dll/win32/freetype.dll into the directory which contains the compiled executable.

About

OpenGL drawing library for Free Pascal

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages