Skip to content
forked from pxscene/pxCore2

Portable framebuffer library and related projects

License

Notifications You must be signed in to change notification settings

anand-ky/pxCore

This branch is 962 commits behind pxscene/pxCore2:master.

Folders and files

NameName
Last commit message
Last commit date
Dec 11, 2017
Mar 2, 2018
Feb 16, 2018
Dec 15, 2014
Mar 5, 2018
Jan 18, 2018
Dec 15, 2014
Jan 31, 2018
Feb 26, 2018
Mar 5, 2018
Feb 27, 2018
Dec 19, 2017
Feb 27, 2018
Nov 7, 2017
Jan 20, 2015
Jan 26, 2018
Mar 1, 2017
Mar 2, 2015
Mar 2, 2015
Feb 9, 2017
Dec 11, 2017
May 1, 2017
Feb 27, 2018
Jan 8, 2018
Feb 10, 2017
Jan 18, 2018

Repository files navigation

pxCore

pxCore is a small opensource library that provides a portable framebuffer and windowing abstraction for C++. This library is intended to hide the complexity of writing rasterization code on multiple platforms and allows you to easily write the following sorts of things in a portable way.

  • 2d and 3d rasterizers
  • Transition Libraries
  • Filter Routines
  • Image Processing

In its design a few principles were followed:

  • Be Small – A simple windowed application can be built (on Windows) in as little as 8k.
  • Be Simple – The framebuffer abstraction supports 32bpp framebuffers and is intended to be minimal yet complete.
  • Don’t tightly couple the framebuffer and windowing functionality. Some other framebuffer libraries (PixelToaster for one) don’t separate out the framebuffer abstraction from the windowing abstraction. By loosely coupling the two abstractions this library becomes much more valuable because the framebuffer functionality can be used and integrated with other windowing toolkits easily, thereby making YOUR code more reusable.
  • Platform native surface construction
  • Policy free resizing support – No policy is baked into the window resizing support so that applications completely control their own resizing behavior.
  • Portable Keyboard, Mouse and Window events
  • Support for portable performance timers
  • Basic Animation Support - Support for a basic animation timer event (frames per second) is built into the windowing abstraction making it easy to write applications that animate their contents.
  • pxCore has been ported to Windows, pocketpc (arm4), linux(x11), OSX.

The most popular usage of pxCore is pxscene. pxscene is an application engine that exposes a scene graph API to a Javascript engine. It gives javascript applications access to the pxscene API for visual elements that can be used for composition. pxscene is written over top of pxCore. pxscene:

  • supports rich animation and alpha masking primitives
  • exposes a DOM-like programming model
  • supports promises for asynchronous behaviors
  • uses W3C event bubbling semantics

pxscene source code is in pxCore/examples/pxScene2d. Instructions for building pxscene are here: Building pxscene Instructions for debugging pxscene javascript applications using VSCode are here: Debugging applications

About

Portable framebuffer library and related projects

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 84.1%
  • C 7.7%
  • Shell 2.0%
  • Objective-C++ 2.0%
  • Java 1.9%
  • CMake 1.7%
  • Other 0.6%