libxd
libxd copied to clipboard
A simple 2D graphics library for C++.
A simple 2D graphics library for C++.
Links
Changelog
0.3.2
Added
- a function
tint()that allows to tint images. - the function
noTint(). - tint example.
- a cmake option to disable building the examples.
0.3.1
Added
- overloaded function
image()that allows to display subimages which could be very useful for spritesheets and animations. - the function
imageMode(). - spritesheet example.
Changed
- the function
loadImage()to returnnullptrand print an error message if anything went wrong loading the image. - the documentation by overhauling the section "Outline" and "Image".
0.3.0
Added
- support for custom shaders and renderpasses.
- several new examples, showcasing the capabilities of renderpasses.
Changed
- the way how stuff is rendered, allowing deferred rendering techniques.
- the attributes of Shape, i.e. removal of obsolete color attribute.
- the function signature of
image(). - the default shader, i.e. refactored the
image()related glsl code into a seperate shader.
Fixed
- default background color not being applied.
0.2.1
Fixed
- display density to be considered when rendering text.
0.2.0
Added
- support for text rendering.
Changed
- the way shaders are handled.
0.1.1
Added
- Quadtree example.
Changed
- the way memory is allocated for the settings stack.
Fixed
point()not being affected bystrokeWeight().
0.1.0
Added
- namespace xd.
- a small program that can be used to embed text-based resource files into headers.
- install targets.
- package targets.
- releases for Linux, macOS and Windows.
Changed
- shader version to GLSL 3.30.
- include directory folder structure.
- the way how shaders are loaded.
- the libxd logo.
- the documentation.
0.0.3
Added
- the possibility to define key event callbacks using the functions
keyPressed()andkeyReleased(). - keyboard interaction example.
Changed
- the documentation.
- some cmake build scripts.
0.0.2
Added
- the possibility to define mouse event callbacks using the functions
mouseMoved(),mousePressed(),mouseReleased()andmouseWheel(). - mouse interaction example.
- Google Analytics.
Changed
- the location of
include/stb_image.htolib/stb/stb_image.h. - the documentation.
- some cmake build scripts.
Fixed
- the lib folder being wrongly identified as a first party source folder by github's linguist.
0.0.1
This is the start of libxd as a remote repository. Prior to publishing libxd to github goes about 2 months of local development. These are rudimentary changelogs from the time before github:
Added
- the functions
setup(),draw()anddestroy()using forward declaration. - global variables
width,heightto retrieve the current width and height. - shape functions:
ellipse(),line(),point(),rect(),triangle(). - vertex, geometry and fragment shaders which contain e.g. the logic that allows to draw outlined shapes in a single render cycle.
- drawing style functions:
background(),clear(),ellipseMode(),fill(),noFill(),noStroke(),rectMode(),stroke(),strokeWeight(). - support of alpha channel for functions that deal with colors.
- transformation functions:
applyMatrix(),resetMatrix(),rotate(),scale(),translate(). - constants:
HALF_PI,PI,QUARTER_PI,TWO_PI. - the functions
push()andpop()which allow the current drawing style settings and matrix transformations to be temporarily saved on a stack. - the possibility to directly modify window pixels using the global variable
pixels. - support for image loading.
- the possibility to directly modify image pixels using the member variable
Image::pixels. - convenience functions like:
millis(),random(),randomSeed(). - functions that allow to alter the control flow:
loop(),noLoop(). - a function
redraw()that ought to be used in conjunction withnoLoop. - libraries:
glad,glfw,glm,stb_image. - a docsify documentation.
- cmake build scripts.
- fireworks example.