20,741
edits
m (→Language Support: French update done.) |
m (→Development news: canvas) |
||
Line 17: | Line 17: | ||
If your language isn't supported by FlightGear's limited character set yet (i.e. Japanese, Chinese, Russian, ...) then please be patient - a rework of the GUI library, which will also improve support for arbitrary fonts and character sets, is already in progress. | If your language isn't supported by FlightGear's limited character set yet (i.e. Japanese, Chinese, Russian, ...) then please be patient - a rework of the GUI library, which will also improve support for arbitrary fonts and character sets, is already in progress. | ||
=== Canvas: Improved 2D drawing support === | |||
[[File:Cessna 172P Canvas Demo.png|380px|thumb|Demonstration of the new Canvas drawing API on the Cessna 172P.]] | |||
Tom is currently working on a 2D drawing API. The basic idea is to draw arbitrary 2D shapes and text to a texture and place this texture on some model in the scene (eg. display, HUD,...). This so called canvas should be controlled only by using the property tree. | |||
Currently it is possible to draw text, transform it, change style and all of this through the property tree. I have also added an experimental | |||
Nasal API which provides an object orientated wrapper around the property tree interface to the canvas. | |||
The code is already include into flightgear/next, but some fixes and the Nasal API are waiting to be merged into flightgear and fgdate respectively. | |||
Tom has already tested many scenarios but it would be great if you can try it out on your own and report bugs or provide some feedback :) | |||
The long term idea is to eventually port some other 2D elements to this backend (eg the HUD and 2D panels) so they use OSG (and osgText) natively, and hence | |||
reduce the amount of C++ code we have for these jobs. (And increase our chances of working with never OpenGL versions that forbid old style GL calls) | |||
Long-term here means 'after 2.8 at least'. | |||
In the meantime the more testing and feedback we can get the better. In particular this system should offer a much more efficient way to build CDU | |||
interfaces than many text animations, but as always it needs people to experiment and report what features are missing to make their life easier. | |||
Creating a 'fgcanvas' client analogous to 'fgpanel' should be doable too, since the canvas simply renders to a single osg-Camera. Unlike fgpanel this will | |||
require OSG instead of raw GL of course, but that's the price we pay for unifying the rendering backend. | |||
Please see [[Canvas Properties]] for more details. | |||
{{#ev:youtube|A7j-B0LgV-A}} | |||
== Interview with a contributor (Jon Berndt) == | == Interview with a contributor (Jon Berndt) == |