|
|
User Desktop
Ambient
Ambient is the native graphical shell of MorphOS. As its name suggests, the metaphor of an abstract enviroment is used rather than a traditional desktop which is often specifically associated with business and work.
- fully asynchronous, multi-threaded design
- 64-bit arithmetic to handle big storage devices
- virtual file system functionality which allows to browse archives and disk images
- bookmark system which provides easy and fast access to your favorite folders
- advanced file-types system
- customizable panels
- configurable toolbars
- configurable hotkeys
- built-in image viewer
- built-in music player
- built-in text viewer
- fast file I/O functions
|
- visual effects: transparency, blurring, color imposing, alpha channels...
- supports a variety of icon formats (single- and dual-state PNG icons, GlowIcons, NewIcons, etc.)
- direct true-color rendering (no pen allocations)
- support for deficons (devices)
- real-time icons scaling
- thumbnail mode
- file notifications
- ARexx port (optional)
- built-in disk formatting
- built-in commodities manager
- support for appwindows / appicons
|
|
|
|
|
|
|
3D Graphics
TinyGL
TinyGL was originally created by Fabrice Bellard as a subset of OpenGL® for embedded systems and games. It was designed with no hardware acceleration in mind at this time. Only the main OpenGL calls were implemented.
The MorphOS version of TinyGL is only loosely based on the original implementation. It was rewritten to take full advantage of 3D hardware acceleration. Furthermore, it contains several carefully chosen MESA features. TinyGL on MorphOS provides a much richer feature set and surpasses the original's speed at the same time.
- |
Big set of implemented functions with high degree of OpenGL® compliance |
|
- |
Easy to use system layer API |
- |
Highly configurable |
- |
Fast and robust pipeline which was tightly optimized for lots of common cases |
- |
Non-blocking rendering (no context locking required) |
- |
Multitexturing, mipmapping and palette texture handling |
- |
Cube mapping |
- |
Stencil buffer |
- |
Vertex arrays |
- |
Display lists |
- |
User clipping planes |
- |
Selection buffer |
- |
Evaluators |
- |
GLUT implementation |
- |
All primitives are supported, including lines and points (smooth or not) of variable sizes. |
Goa
Goa is included with MorphOS for compatibility reasons and represents a reimplementation of the Warp3D.library as well as the Warp3DPPC.library. It sits on top of MorphOS' native 3D API and allows to use various applications and games that were primarily written for PowerUP accelerator cards by Phase5 & DCE.
Goa's main features are as follows:
|
Very accurate emulation. All known applications that make use of the original library, can be used. |
|
Extremely optimized. On the same hardware, Goa is always faster than the original. |
|
Handles misaligned data sent by buggy applications without relying on the built-in kernel emulation. |
|
|
|
|
|
|
|
|
External Devices
Poseidon USB
The Poseidon USB Stack is a software solution that unleashes the possibilities of the Universal Serial Bus (USB) and the devices with USB interface, ranging from mice, keyboards, tablets, touch screens, joysticks, joypads, printers, scanners, webcams, digicams, flash card readers, zip drives, floppy disk drives, harddisks, memory sticks, ethernet adapters, scanners and audio adapters to less common things like power supplies, GPS location devices or finger print readers.
For more extensive information about the supported USB devices, please visit our hardware compatibility section. |
|
|
|
|
|
Media Streaming
Reggae
Reggae is a new approach to media stream processing in MorphOS. Unlike the older datatypes system, Reggae features full support of streaming and is highly modularized. The term streaming refers to media files which are not fully buffered in memory. Instead, small portions of data are passed through a chain of connected objects, i.e. a pipeline. This way, the library can deal with extremely big media objects (or continuous streams) while keeping the memory footprint down to a minimum.
Reggae's modularity lowers its memory usage even further. An old datatype class usually contained a format recognition, a demultiplexer (if any), a decoder and occasionally an encoder in a single shared library. Reggae, on the other hand, divides functionality into smaller modules which are being loaded independently. As a result, applications load only those specific modules which they actually require.
Another advantage compared to datatypes would be stream abstraction. Stream handlers are separate modules now, and the system can be easily expanded to support new stream types. Developers are not strictly limited to the use of file and clipboard streams, but may still use them if they choose to.
The library is able to handle compound streams such as video ones. A demultiplexer splits audio and video data, so every stream has its own decoder (loaded as a separate module), filters and a renderer. The entire decoding structure can be built automatically, including format and subformats recognition, with a single API call.
Filters is another new concept not offered by datatypes which delegated the processing of decoded data to each application. Reggae filters enables the sharing of code of common audio and video processing algorithms. In addition, Reggae filters take advantage of AltiVec vector processing units, as found in Freescale G4 processors, which makes them very fast. Another useful feature is the built-in debugging system designed to simplify third-party development.
Reggae supports following media formats:
Images: PNG, JPEG, GIF, BMP, ICO, PCX, Targa, PBM, PPM, PGM, IFF ILBM, IFF DEEP, Atari Degas, SunRaster, ZX Spectrum screen dump
Audio: AIFF, WAVE, MP3, 8SVX, 16SV, Amos bank, raw
Data sources: file, memory, HTTP
|
|
|
|
|
|
GUI Toolkit
MUI
Basically, MUI is a collection of libraries which allows programmers to easily create and maintain graphical user interfaces. Besides from a few very simple approaches, MUI was the first tool of this category to go a completely new and object oriented way. Constant development and continued support from users and programmers over the past years have made MUI by far the most successfull available GUI toolkit for the Amiga platform.
MUI always went one step further as other products, consequently implementing and further developing modern guidelines of user interface design. The basic philosophy behind MUI lies within the following short sentence:
Offer as much freedom as possible to users by taking away as much work as possible from programmers.
This simple guideline has always been and will always be the major point in MUI. A programmer only specifies very few aspects about his user interfaces directly, thus reducing his work and leaving lots of room for later customization by the user.
MUI reaches its goals by following modern, object oriented approaches in specifying window layouts. Elements are not placed directly to some fixed locations but are instead grouped in special containers which then dynamically control display and positioning. During this process, MUI has the chance to take the users preferences into account, making all applications look like the user likes it best.
MUI's modern concepts enable a great number of powerful features, reaching from resolution and font sensitivity to an unmatched number of configuration options.
|
|
|
|
|
|
User Interface
Skinning
In contast to many mainstream operating systems, the technical design of MorphOS was based on the modern concept of an individualized user interface. This culminated first and foremost in the outstanding customizability as offered by MUI which spawns from the global system down to the application level. Bringing personalization to the extreme, you can customize single applications individually.
Apart from MUI, MorphOS includes many other advanced technologies that further this approach. MorphOS windows can have a variety of different designs including transparent shadows, hardware-accelerated colour gradients, rounded edges, and much more. Likewise, Ambient supports a wide variety of icon formats which maximizes your freedom to choose your preferred icon theme from a diverse pool of source and / or to develop your very own icon theme with a minimum of restrictions.
|
|
|
|
|