diff options
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/design.md | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/doc/design.md b/doc/design.md index 22849b0..3508683 100644 --- a/doc/design.md +++ b/doc/design.md @@ -1,4 +1,31 @@ Design ====== +Introduction +------------ + +The purpose of l3dfs is bringing a 3D rendering service to Plan 9 from Bell +Labs, with the help of an external machine running a Linux-powered operating +system. L3dfs aims to bring all 3D rendering features and techniques to Plan 9 +at little to no cost, to do so in the clean fashion typical of Plan 9 software +design and code, and to abstract away from hardware-dependent interfaces by +employing existing de-facto standards. + +The main idea is to off-load the whole graphic processing from Plan 9 to Linux. +The external Linux machine comprises both the weakness and strength of such a +software architecture. On one hand, not only this architecture is dependent on +another operating system, but also on an external machine that is necessary in +order to maximise the speed of execution of graphic primitives. On the other, +though, this gives an immense advantage, which is being able to interface with +graphics hardware through software that already exists, is stable, and already +implements all (or most) features supported by the available graphics hardware, +thus requiring no further development on this side. + +Unfortunately, interfaces exposed by modern graphics hardware have become so +complex, diverse, and deficient in standards over time that the development of +drivers for them by a not-so-big community like Plan 9's in a useful time span +is simply not possible. In addition to this, most importantly, the complex +nature of these interfaces completely collides with Plan 9's philosophy of +simplicity of software. Unless graphics hardware interfaces will simplify and +standardise, drivers are not going to be part of Plan 9, and rightfully so. |