For a new release, especially one with version number 1.0, we
should provide some new screenshots for the website. Normally,
Curt would ask for that, but as he is/was away for a few days,
I start with this reminder. Screenshots should ...
- use maximum quality (antialiasing!)
- disable gui parts (menu/frame rate counter, unless that's what
you want to demonstrate, of course)
- ideally (but not necessarily) show something that is new in this
release: one of the aircraft shipped in the default package for
the first time, or a new feature (or at least something that is
in context with a new feature, so that a subscription text can
explain the feature)
Please don't just make random snapshots of random flights, but
aim for a good view angle, appropriate weather effects (not only
default weather, unless that's the most appropriate :-), ideal
sun angle (shadow angle -> self-shadowing), etc. Look at some
of the last screenshots, most of which were quite good.
The contents of a screenshot shouldn't be (totally) cheated. That
is: one should be able to see the same scene with a default fgfs
if the weather, daytime etc. is the same (and one has a graphics
card good enough for real-time antialiasing). But some "cheating" is
acceptable, if it follows this principle. It's OK to use terrain/objects
that aren't in the default tiles (e.g. using KNID is fine), as
long as that's available from Jon's ObjectDB. It's *not* OK to show,
for example, a Jeep in a Hercules, as this isn't something we can
do with a flyable Hercules.
Unfortunately, my FX5500 isn't good enough for live antialiasing,
so I use an acceptable cheating method: from a local key binding
(Meta-d) I call a function dump_aircraft_snapshot() that saves
a snapshot, similar to what ac_state.nas does. This allows me to
make a normal ("aliasing") flight with my target aircraft. When I
found a nice situation, I pause fgfs, then press the snapshot key,
and get a snapshot file, e.g ~/.fgfs/snapshot-KNID-A-10-1.xml
(automatically inserting the nearest airport and aircraft, as well
as an index number that prevents overwriting old files).
Now I turn on full anti-aliasing, and run fgfs again with
$ fgfs --aircraft=ufo ~/.fgfs/snapshot-KNID-A-10-1.xml
And now the A-10 hangs there like it did in the prior run, and
I can use the UFO to find a good viewing angle, good sun angle,
good weather etc. With full antialiasing that's still sluggish,
but workable.
Here's the result of a quick test with the A-10 near KNID. It
isn't spectacular, but you can see that there's full antialiasing
and still a nice shadow effect. This would have been quite hard
(though possible!) with a real A-10 flight.
http://members.aon.at/mfranz/a10.jpg [32.9 kB]
m.
var uniquefilename = func(format) {
for (var i = 1; i; i += 1) {
var name = sprintf(format, i);
if (io.stat(name) == nil)
return name;
}
}
var dump_aircraft_snapshot = func {
var ac = getprop("/sim/aircraft");
var apt = airportinfo().id;
var filename = uniquefilename("snapshot-" ~ apt ~ "-" ~ ac ~ "-%d.xml");
var save = props.Node.new({ filename: filename });
var data = save.getNode("data", 1);
var lat = getprop("/position/latitude-deg");
var lon = getprop("/position/longitude-deg");
var alt = getprop("/position/altitude-ft");
var m = data.getNode("sim/presets", 1);
m.getNode("latitude-deg", 1).setDoubleValue(lat);
m.getNode("longitude-deg", 1).setDoubleValue(lon);
m.getNode("altitude-ft", 1).setDoubleValue(alt);
var m = data.getNode("position", 1);
m.getNode("latitude-deg", 1).setDoubleValue(lat);
m.getNode("longitude-deg", 1).setDoubleValue(lon);
m.getNode("altitude-ft", 1).setDoubleValue(alt);
var m = data.getNode("models/model", 1);
m.getNode("path", 1).setValue(getprop("/sim/model/path"));
m.getNode("latitude-deg", 1).setDoubleValue(lat);
m.getNode("longitude-deg", 1).setDoubleValue(lon);
m.getNode("elevation-ft", 1).setDoubleValue(alt);
m.getNode("heading-deg",
1).setDoubleValue(getprop("/orientation/heading-deg"));
m.getNode("pitch-deg",
1).setDoubleValue(getprop("/orientation/pitch-deg"));
m.getNode("roll-deg",
1).setDoubleValue(getprop("/orientation/roll-deg"));
var g = props.globals;
props.copy(g.getNode("sim/model", 1), data.getNode("sim/model", 1));
props.copy(g.getNode("surface-positions", 1),
data.getNode("surface-positions", 1));
props.copy(g.getNode("controls", 1), data.getNode("controls", 1));
props.copy(g.getNode("engines", 1), data.getNode("engines", 1));
props.copy(g.getNode("rotors", 1), data.getNode("rotors", 1));
props.copy(g.getNode("gear", 1), data.getNode("gear", 1));
data.getNode("sim/model").removeChild("path", 0);
fgcommand("savexml", save);
print("snapshot written to ", filename);
}
-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services
for just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel