Asphyre Sphinx is a framework for developing 2D/3D video games and interactive business applications. It aids the developer with resource management, displaying 2D and 3D graphics in real-time, receive keyboard, mouse and joystick input, and multiplayer capabilities. It has been superseded by Asphyre Sphinx 3.
This release supersedes all previous Asphyre releases and is under continuous development. It requires Delphi XE 2 with Update 4 or FPC/Lazarus. Several development platforms are supported including 32-bit Windows, 64-bit Windows, Mac OS and iOS.
The applications powered by Asphyre Sphinx on Windows platform can use many providers including DirectX 7, DirectX 9, DirectX 9 Ex (Vista), DirectX 10, DirectX 10.1, DirectX 11 and/or OpenGL for displaying real-time graphics. The developer can decide whether to use one of the mentioned providers or let the user choose the provider at run-time. This feature is particularly useful for casual game developers where the game is required to run on the majority of consumer hardware. No external files and DLLs are required for Asphyre Sphinx applications to run. Applications developed for other platforms such as Mac OS and iOS use OpenGL and OpenGL ES 2.0 technologies respectively.
2D Graphics Features
- Image transformation including rotation, skew, mirroring and so on.
- Multiple blending effects including add, subtract, multiply, shadow among others.
- Buffered drawing calls deliver extremely high rendering performance in real-time.
- Many different drawing primitives such as rectangles, ellipses, arcs, ribbons and holes.
- Multiple image pixel formats to maximize quality and minimize video memory consumption.
- Images can be loaded from compressed Asphyre archives, external files and streams.
- Patterns (small sub-images) can be distributed among different textures to reduce memory footprint.
- Dynamic textures allow fast pixel access for effects such as plasma and destructible terrain.
- Rendering targets allow dazzling visual effects such as motion blur, glows and other effects.
- Proper handling of lost focus, surviving Alt+Tab, Win+L, screen resolution change, laptop undocking and other rare events.
- Bitmap text drawing with Unicode support, color gradient tags and alignment options.
- Multiple display support showing full-screen graphics on all monitors.
- Shader effects for blazing visuals that are easy to use and optimized for performance.
- Support of different image formats including PNG, TGA, JPEG, BMP and so on.
- Native GUI support with WYSIWYG GUI designer to display fully featured interfaces with forms, buttons, edit boxes, lists and so on.
3D Graphics Features
- Easy to use 3D mesh drawing even for inexperienced developers.
- Mesh instancing for improved performance when many small meshes are drawn.
- Illumination models including Phong, Blinn-Phong, Minneart, Cook-Torrance, Oren-Nayer, Isotropic and Anisotropic Ward.
- Optimized 3D pipeline with hidden surface removal and triangle sorting.
- Transparent support for different providers across multiple platforms.
- Billboard rendering for particle effects, explosions and smoke.
- Load meshes from 3D Studio Max using the conversion tool, which can read 3DS and ASE formats.
- Mesh generation code for 3D planes, spheres, round boxes, torus, torus knots and super ellipsoids.
- Multiplayer support using UDP protocol.
- Capture the state of all keyboard keys, read multiple joysticks and mouse displacement.
- Store all images, sounds and other files using ZIP-like compression in a single Asphyre archive for easier deployment. In fact, you can even store this file inside application's executable to distribute only one single file!
- Set password for Asphyre archive to encrypt the contents using XTEA 128-bit cipher to protect your copyrighted artwork and confidential content.
- Complete set of mathematical types and functions with operator overloading for 2D and 3D vectors and matrices.
- High-precision timer for independent graphics rendering and object movement.
Asphyre Sphinx v2.0.4 - Complete Package (August 18, 2012)
This is a complete Asphyre Sphinx package, which contains source code, examples, tools and documentation - everything you need to start the development.
Vampyre Imaging Library - Optional Add-On
Normally, you can load different image formats such as PNG, TGA and JPEG in Asphyre applications by using LoadFromFile methods and manually by using BitmapManager (from AsphyreBitmaps.pas). This is achieved by adding AsphyrePNG, AsphyreJPG and AsphyreTGA to your application's USES list.
However, Delphi's PNG implementation has an issue in alpha-channel. An alternative solution is to use Vampyre Imaging Library and add AsphyreVampyre to USES list. You should download the latest snapshot from the link below.
Alternatively, you can download the snapshot that was verified to be working from the links below. However, the snapshot mirrored here might not be the latest one.