1
0
Fork 0
Commit graph

78 commits

Author SHA1 Message Date
ehofman
ef099d3cad Why this didn't ring any alarm bells during my previous test compile is beyond me, but this should get FlightGear in a compilable state again. 2005-07-26 20:12:03 +00:00
curt
40170cb722 The view frustum is defined in plib apps using calls to ssgSetFOV() and
ssgSetNearFar().  This by default creates a symmetric view frustum which is
typically what an application wants.

However, to get control of the view frustum in order to build support for
asymmetric view frustums, we need to wrap these calls with a bit of our own
logic.

This set of changes wraps all calls to ssgSetFOV() and ssgSetNearFar() with
FGRenderer methods.

I also standardized how the FGRenderer class is handled in globals.[ch]xx.
This led to some cascading changes in a variety of source files.

As I was working my way through the changes, I fixed a few warnings along
the way.
2005-02-25 19:41:53 +00:00
curt
d05121ef46 Fix my mailing address by replacing it with my web page. 2004-11-19 22:10:41 +00:00
curt
4214cd6c10 Migrate FlightGear code to use "#include SG_GL*" defined in
"#include <simgear/compiler.h>".
2004-11-18 19:53:00 +00:00
curt
2acdd02879 Clean up various compiler warnings that have crept into the code. This
by no means get's them all, but it's a start.
2004-04-01 15:27:53 +00:00
ehofman
7de581bf8f Changes to tke sky dome coloring 2004-02-18 14:33:50 +00:00
ehofman
491e7c6fea Fix a posible devide by zero situation 2004-01-15 18:10:00 +00:00
ehofman
1fa7a1464f Name the property sun-angle-rad instead of sun-pos-rad to make it a bit more descriptive 2004-01-07 22:51:28 +00:00
ehofman
f279f4b065 Chnage the name to reflect the real unit of radians instead of degrees 2004-01-07 09:26:17 +00:00
ehofman
519fd99106 Make the position of the sun above the horizon available in the proprty tree 2004-01-07 09:21:35 +00:00
ehofman
b61c3fa11c Initialize some variables, re-order the function calls in updeate() and reread the interpoltation tables upoj reinit() 2003-09-23 08:27:06 +00:00
ehofman
e0dda6ad52 A small fix to have a smoot transition of cloud colors when in time warp mode 2003-09-20 11:05:12 +00:00
ehofman
a33ad90ed7 Convert fgLIGHT to FGLight and make it FGSubsystem compatible. Let the subsystem manager handle it and let FGLight::update() handle the repositioning of the sun and the moon. 2003-09-20 09:38:32 +00:00
ehofman
6fd6d7eb06 Remove the test property to check the difference between the old and the new behavior 2003-09-17 19:21:57 +00:00
ehofman
3e98bccbaf Remove unused gamma corrections 2003-09-03 18:47:48 +00:00
ehofman
7a29fc0613 Average sunlight and ambient light instead of multiplying it 2003-08-29 22:13:05 +00:00
curt
27a36e6059 - The latest volley in the FlightGear lighting wars.
- Ambient is based off the lookup table only.
- Diffuse is based off of the lookup table, but multiplied by a combination
  of sun/fog colors.

The result is a bit more ambient light at dusk and night since the world is
never 100% dark.  And we still get nice sunset/sunrise colored illumination
of surfaces that are directly illuminated by the sun.
2003-08-29 21:24:13 +00:00
ehofman
5ae096b225 Reorganization of main.cxx 2003-08-17 09:54:41 +00:00
curt
bcb10efa50 Remove several unneeded glut dependencies. Note, this doesn't signal an
immediate end to glut, only that I'm going through and cleaning up (and
taking inventory of the actual glut dependencies in case I want to investigate
SDL.)
2003-08-11 21:50:22 +00:00
ehofman
7ede111d12 Add a /test/scene_lighting property to switch between new and old behavior 2003-08-04 09:34:55 +00:00
ehofman
3d07fa8bda Update the ambient, diffuse and specular scenery colors to match the real world more closely 2003-08-03 09:54:02 +00:00
ehofman
a315df50f8 Update scene lighting 2003-08-02 12:45:15 +00:00
ehofman
455b2b3a91 Use sqrt(x) and x*x instead of pow(x, 0.5) and pow(x, 2.0) 2003-06-27 21:29:48 +00:00
ehofman
3433dbce55 Take the visibility in account for the sky color 2003-06-15 11:30:25 +00:00
ehofman
a3e660703a Remove some now depreciated lighting code 2003-06-07 10:34:34 +00:00
curt
21b317ff21 Move simgear/sky/ to simgear/scene/sky as part of the consolodation of
graphics code.
2003-05-30 15:16:57 +00:00
ehofman
66bfe04c26 Lighting updates for non PC hardware 2003-05-22 13:51:19 +00:00
ehofman
6be8042a01 Updates for a better sunrise/sunset effect 2003-05-21 17:20:55 +00:00
ehofman
154ab45912 Latest cosmetic updates to the sunrise code. I still have to figure out why the colors on a PC are much nrighter in some places and much darker in others, but the color itself matches nicely now. 2003-05-18 11:40:57 +00:00
ehofman
959996f17c Fix a view offset bug in some external views 2003-05-18 09:04:14 +00:00
ehofman
ebaa19f1d6 Changes needed after adding the gamma correction. I think it needs (atleast) one round of updates to get it right, but I've got to go now 2003-05-17 14:29:34 +00:00
ehofman
5b2e9467be Add gamma correction to the sky color functions 2003-05-17 12:45:27 +00:00
ehofman
119559597f Small, time related color adjustments for the sunrise/sunset code 2003-05-16 22:50:08 +00:00
ehofman
9c05297660 Make the sunset color view direction dependent again. 2003-05-16 20:32:21 +00:00
ehofman
93487f06b3 Darken the clouds near sunrise/sunset 2003-05-16 17:35:48 +00:00
ehofman
ff7408fdf2 Adjust sunset/sun rise color scheme 2003-05-16 16:33:23 +00:00
ehofman
e1f96243ec Update the sunset colors 2003-05-14 19:22:04 +00:00
ehofman
db8cc2aba9 Update the fog color based on the color of the sun. This is a first attempt and probably needs tweaking 2003-05-13 19:00:27 +00:00
ehofman
2c10f3c878 Update the red and green fog colors for better matching cloud edges 2003-05-12 09:31:55 +00:00
ehofman
9b2ff882af Make the sky colour brighter, change the fog colour accordingly and add support for macintosh 2003-05-05 12:40:37 +00:00
ehofman
b520fd18ac Updated sky colour, after comparing it to the colours on an sgi monitor. This must be *much* closer to the real colour 2003-05-03 12:52:50 +00:00
ehofman
89bdf9657b Another attempt to get the right colour on PC hardware, this time tested with default monitor settings 2003-05-02 10:05:49 +00:00
ehofman
11b48c1b54 Lucky I got debian working on a PC today. Give PC hardware a normal sky colour 2003-05-01 17:37:14 +00:00
ehofman
e825649d72 Use a seperate path for sgi and PC hardware for cloud colouring for now. I'm still investigatng the problem 2003-05-01 09:11:37 +00:00
ehofman
248835272d Update to more natural sky dome colours 2003-04-25 12:27:39 +00:00
curt
43e48070fe - Some refactoring of the configure.ac script.
- Better Mac OS X support (they put glut.h in GLUT/glut.h) :-(
2002-12-10 20:50:48 +00:00
curt
f330ae1234 Patch to explicitely control the specular lighting component. 2002-07-21 15:40:51 +00:00
curt
d15d3652b1 Bernie Bright:
- Added initial_value argument, in milliseconds, that specifies when
  event is first run.  The default value of -1 triggers the event
  immediately as per the existing behaviour.  A repeat_value greater than
  zero runs the event no less than every 'repeat_value' milliseconds
  afterwards.  A repeat_value of zero deletes the event.
- Modified run queue behaviour such that only one event per frame is
  run.
2002-04-25 20:31:14 +00:00
david
38c705b6c0 Viewer patches from Jim Wilson:
Think my brain is getting clogged with matrices :-).  Well I've got the funky
orientation offset bug out of the model code.  In the process the model.cxx
got optimized a bit.  At some point we'll need to liberate model.cxx from the
viewer class, but it is no longer hard coded to access the  "pilot view" to
get it's data. Instead it uses whatever the "current" view happens to be.  I
may try and do that final bit of having models rotate independant of the view
tomorrow night, or start right in on the viewmgr and get a tower view up and
running.  You guys have any preference?  My brother's family is coming to
visit for a few days so what I don't get done tomorrow night probably won't
get done until after the weekend.
2002-03-27 14:52:19 +00:00
david
4d4cd16012 Major viewer-code overhaul from Jim Wilson:
Description:

This update includes the new viewer interface as proposed by David M. and
a first pass at cleaning up the viewer/view manager code by Jim W.

Note that I have dropped Main/viewer_lookat.?xx and Main/viewer_rph.?xx and
modified the Makefile.am accordingly.


Detail of work:

Overall:
The code reads a little easier.  There are still some unnecessary bits in
there and I'd like to supplement the comments in the viewer.hxx with a tiny
bit on each interface group and what the groupings mean (similar but briefer
than what you emailed me the other day).  I tried not to mess up the style,
but there is an occasional inconsistency.  In general I wouldn't call it done
(especially since there's no tower yet! :)), but I'd like to get this out
there so others can comment, and test.

In Viewer:
The interface as you suggested has been implemented.  Basically everything
seems to work as it did visually.  There is no difference that I can see in
performance, although some things might be a tiny bit faster.

I've merged the lookat and rph (pilot view) code into the recalc for the
viewer.  There is still some redundancy between the two, but a lot has been
removed.  In some cases I've taken some code that we'd likely want to inline
anyway and left it in there in duplicate.  You'll see that the code for both
looks a little cleaner.  I need to take a closer look at the rotations in
particular.  I've cleaned up a little there, but I suspect more can be done
to streamline this.

The external declaration to the Quat_mat in mouse.cxx has been removed.  IMHO
the quat doesn't serve any intrinsic purpose in mouse.cxx, but I'm not about
to rip it out.  It would seem that there more conventional ways to get
spherical data that are just as fast.  In any case all the viewer was pulling
from the quat matrix was the pitch value so I modified mouse.cxx to output to
our pitchOffset input and that works fine.

I've changed the native values to degrees from radians where appropriate.
This required a conversion from degrees to radians in a couple modules that
access the interface.  Perhaps we should add interface calls that do the
conversion,  e.g. a getHeadingOffset_rad() to go along with the
getHeadingOffset_deg().

On the view_offset (now headingOffset) thing there are two entry points
because of the ability to instantly switch views or to scroll to a new view
angle (by hitting the numeric keys for example).   This leaves an anomaly in
the interface which should be resolved by adding "goal" settings to the
interface, e.g. a setGoalHeadingOffset_deg(), setGoalPitchOffset_deg(), etc.

Other than these two issues, the next step here will be to look at some
further optimizations, and to write support code for a tower view.  That
should be fairly simple at this point.  I was considering creating a
"simulated tower view" or "pedestrian view" that defaulted to a position off
to the right of whereever the plane is at the moment you switch to the tower
view.  This could be a fall back when we don't have an actual tower location
at hand (as would be the case with rural airports).

ViewManager:
Basically all I did here was neaten things up by ripping out excess crap and
made it compatible as is with the new interface.

The result is that viewmanager is now ready to be developed.  The two
preexisting views are still hardcoded into the view manager.  The next step
would be to design configuration xml (eg /sim/view[x]/config/blahblah) that
could be used to set up as many views as we want.  If we want to take the easy
way out, we might want to insist that view[0] be a pilot-view and have
viewmanager check for that.
2002-03-20 17:43:28 +00:00