sábado, 24 de junio de 2017

SDL multiplatform graphic library

Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games.
SDL officially supports Windows, Mac OS X, Linux, iOS, and Android. Support for other platforms may be found in the source code.
SDL is written in C, works natively with C++, and there are bindings available for several other languages, including C# and Python.
SDL 2.0 is distributed under the zlib license. This license allows you to use SDL freely in any software.

jueves, 22 de junio de 2017

SFML: Simple and Fast Multimedia Library

SFML is multi-media

SFML provides a simple interface to the various components of your PC, to ease the development of
games and multimedia applications. It is composed of five modules: system, window, graphics, audio and network.

Discover their features more in detail in the tutorials and the API documentation.



SFML is multi-platform
With SFML, your application can compile and run out of the box on the most common operating systems: Windows, Linux, Mac OS X and soon Android & iOS.

Pre-compiled SDKs for your favorite OS are available on the download page.


SFML is multi-language
SFML has official bindings for the C and .Net languages. And thanks to its active community, it is also available in many other languages such as Java, Ruby, Python, Go, and more.

Learn more about them on the bindings page.


https://www.sfml-dev.org

GLFW Open Source library

GLFW is an Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan
development on the desktop. It provides a simple API for creating windows, contexts and surfaces, receiving input and events.

GLFW is written in C and has native support for Windows, macOS and many Unix-like systems using the X Window System, such as Linux and FreeBSD.

GLFW is licensed under the zlib/libpng license.


Gives you a window and OpenGL context with just two function calls


Support for OpenGL, OpenGL ES, Vulkan and related options, flags and extensions


Support for multiple windows, multiple monitors, high-DPI and gamma ramps


Support for keyboard, mouse, gamepad, time and window event input, via polling or callbacks


Comes with guides, a tutorial, reference documentation, examples and test programs


Open Source with an OSI-certified license allowing commercial use


Access to native objects and compile-time options for platform specific features


Community-maintained bindings for many different languages


http://www.glfw.org/







http://www.glfw.org/

Allegro 5: A game programming library

Allegro is the Italian for «quick, lively, bright». It is also a recursive acronym which stands for «Allegro Low LEvel Game ROutines». Allegro was started by Shawn Hargreaves in the mid-90's but has since received contributions from hundreds of people over the net.

 Allegro 5

Allegro 5 is the latest major revision of the library, designed to take advantage of modern hardware (e.g. hardware acceleration using 3D cards) and operating systems. Although it is not backwards compatible with earlier versions, it still occupies the same niche and retains a familiar style.
Allegro 5.0 supports the following platforms:

•Unix/Linux
•Windows (MSVC, MinGW)
•MacOS X
•iPhone
Allegro 5.1 also adds support for:
•Android

You can see the functionality Allegro provides by browsing the online reference manual.
Allegro only supports 2D graphics primitives natively, but it is perfectly reasonable to use Allegro alongside a 3D API (e.g. OpenGL, Direct3D, and higher level libraries), while Allegro handles the other tasks. Allegro is also designed to be modular; e.g. if you prefer, you can substitute another audio library.
http://liballeg.org/ 


Prex: An Open Source, Royalty-free, Real-time Operating System

What is Prex?

Prex is an open source, royalty-free, real-time operating system for embedded systems. It is designed and implemented for resource-constrained systems that require predictable timing behavior. The highly portable code of Prex is written in 100% ANSI C based on traditional microkernel architecture.
The Prex microkernel provides only fundamental features for task, thread, memory, IPC,
exception, and synchronization. The other basic OS functions - process, file system, application loading, and networking, are provided by the user mode servers. In addition, Prex provides a POSIX emulation layer in order to utilize existing *NIX applications. This design allows the system to perform both of the native real-time task and the generic POSIX process simultaneously without degrading real-time performance. It also helps platform designers to construct OS by choosing suitable system servers for their target requisition.

Project goals:

The project targets the following goals:
  • To provide a small, portable, real-time, secure, and robust operating system.
  • To provide simple and clean source codes for education and an experimental test-bed.
  • To conform to open standards as much as possible.
  • To enjoy our life with kernel hacking. ;-)

http://prex.sourceforge.net/

Vulkan Graphics System

Vulkan is an API (Application Programming Interface) for graphics and compute hardware. The API consists of many commands that allow a programmer to specify shader programs, compute kernels, objects, and operations involved in producing high-quality graphical images, specifically color images of three-dimensional objects.

Vulkan is a low-overhead, cross-platform 3D graphics and compute API. Vulkan targets high-performance realtime 3D graphics applications such as video games and interactive media across all platforms. Compared with OpenGL and Direct3D 11 and like Direct3D 12 and Mantle, Vulkan can offer higher performance and more balanced CPU/GPU usage. Other major differences from Direct3D (prior to version 12) and OpenGL are Vulkan being a considerably lower level API and offering parallel tasking. Vulkan also has the ability to render 2D graphics applications,[11] however it is generally suited for 3D. In addition to its lower CPU usage, Vulkan is also able to better distribute work amongst multiple CPU cores. (https://en.wikipedia.org/wiki/Vulkan_%28API%29)

https://arstechnica.com/gadgets/2015/03/khronos-unveils-vulkan-opengl-built-for-modern-systems/

https://www.khronos.org/

http://www.glfw.org/

LunarG® Vulkan™ SDK

As the first comprehensive Vulkan SDK for Windows® and Linux operating systems, the LunarG® Vulkan® SDK includes everything you need to get started in the Vulkan API development environment.

https://www.lunarg.com/vulkan-sdk/