Thanks for the help. Now that wasn't hard, I could have done that myself :P 
It works now!

I get a warning for the metar.h in simgear: inconsistent dll linkage: dll 
export assumed. Do I have to worry about that?

Well, it certainly is a pleasure to fly at 40-80 fps I have to say. To be 
fair though, FS2K2 has quite a bit more detail...

I was following the discussion on the random placed 3D objects. I have one 
comment after having seen it in action. It seems as if there is a threshold 
for distance, and if an object is close enough it gets rendered. I don't 
know how it's done in detail, but it seems to be computationally expensive. 
FS2K2 uses a quadtree and renders whole blocks or not. This approach should 
be much faster, but then again maybe something similar is done here already.

I have also spent some time thinking about a CLOD approach. As I wrote 
already there are 2 ways to tackle this problem, one more suited for low 
end systems and one for high end systems, maybe I'll program both. One 
thing I'd like comments on though is the following: One of the big 
framerate savers is frustrum culling, this means terrain only in front of 
you gets rendered. This makes quite a bit of sense because mainly you'll be 
looking ahead and it really saves a lot of framerates. fs2k2 uses frustrum 
culling and it annoys the hell out of me on landing approaches. If you fly 
a pattern, you often want to check where the runway is by looking over your 
left shoulder. Since only the scene in front of you is filled with 
elevations, the scenery engine has to suddenly run the CLOD computations on 
the scenery to your left, and it really takes some time (you'll get a 
pause). The 'front scenery' remains cached (otherwise you'd get constant 
pauses when switching between left and front view), but since you get at 
least double the polygon count (and CLOD calculations) the framerate drops 
significantly. Hence, on landing approaches you get a quite noticeable 
framerate drop which is quite annoying. The bad news is that even top 
performing systems (>2GHz + GF4) are probably still not fast enough for 
highly detailed terrain elevations without frustrum culling (I'll buy such 
a system in a few weeks time so I can do some experimenting, once I 
actually have a CLOD algorithm running). After some thinking I came up with 
a solution. Maybe there can be 2 modes, one highres terrain with frustrum 
culling and one lowres terrain without frustrum culling, and you can switch 
to the lowres just before entering the traffic pattern. In most cases you 
won't need highres elevations anyway when landing, but framerates are much 
more important. The only time you actually want highres terrain when 
landing is probably when the terrain is 'part' of the landing approach, eg 
in New Zealand, Milford Sound or Quintin airstrip. Any comments?

Before I dive into the CLOD stuff though, I'll do some work on the bgl and 
mdl loaders. I know a lot about both formats (especially FS2K2) and this 
should be a nice project to get me comfortable with the FG / plib source 
code...

Cheers, Christian


At 04:18 PM 24/07/2002 +0200, you wrote:
>To second what Richard is saying, verify that all your projects ( all plib 
>projects, metakit, simgear and flightgear, possibly zlib ) generate the 
>same kind of code. Look at Project -> Settings... then in the C/C++ tab 
>choose Category = Code Generation and then look at the combo 'Use run-time 
>library:' . You have to choose the same value for all. I use preferably 
>'Debug Multithreaded DLL'.
>
>FYI:
>LIBCMT.lib is 'Multithreaded',
>LIBCMTD.lib is 'Debug Multithreaded',
>MSVCRT.lib is 'Multithreaded DLL',
>MSVCRTD.lib is 'Debug Multithreaded DLL',
>LIBC.lib is 'Single-Threaded' and
>LIBCD.lib is 'Debug Single-Threaded'
>
>Cheers,
>
>-Fred
>
> >Messsage du 24/07/2002 10:07
> >De :  <[EMAIL PROTECTED]>
> >A :  <[EMAIL PROTECTED]>
> >Copie � :
> >Objet : RE: [Flightgear-devel] still not able to compile
> >
> > Recompile all projects using multithreaded apartment (of sigle threaded
> > if you would like) but you sannot combine them. All means SimGear, Plib,
> > Metakit, FlightGear...
> >
> > Richard Kis
> >
> >
> > -----Original Message-----
> > From: Christian Stock [mailto:[EMAIL PROTECTED]]
> > Sent: Wednesday, July 24, 2002 9:53 AM
> > To: [EMAIL PROTECTED]
> > Subject: [Flightgear-devel] still not able to compile
> >
> >
> > I just had a big compiling session (once again, VC6.0). I tried the
> > default
> > workspace and the one I've been sent yesterday from Jonathan. Everything
> >
> > compiles (SimGear, plib, etc...) until Flightgear tries to link. Here's
> > what I get:
> >
> > MSVCRT.lib(MSVCRT.dll) : error LNK2005: strchr already defined in
> > LIBCMTD.lib(strchr.obj)
> > MSVCRT.lib(MSVCRT.dll) : error LNK2005: memmove already defined in
> > LIBCMTD.lib(memmove.obj)
> > MSVCRT.lib(MSVCRT.dll) : error LNK2005: strrchr already defined in
> > LIBCMTD.lib(strrchr.obj)
> > MSVCRT.lib(MSVCRT.dll) : error LNK2005: strpbrk already defined in
> > LIBCMTD.lib(strpbrk.obj)
> > MSVCRT.lib(MSVCRT.dll) : error LNK2005: strstr already defined in
> > LIBCMTD.lib(strstr.obj)
> > MSVCRT.lib(MSVCRT.dll) : error LNK2005: strcspn already defined in
> > LIBCMTD.lib(strcspn.obj)
> > MSVCRT.lib(MSVCRT.dll) : error LNK2005: free already defined in
> > LIBCMTD.lib(dbgheap.obj)
> > MSVCRT.lib(MSVCRT.dll) : error LNK2005: realloc already defined in
> > LIBCMTD.lib(dbgheap.obj)
> > MSVCRT.lib(MSVCRT.dll) : error LNK2005: malloc already defined in
> > LIBCMTD.lib(dbgheap.obj)
> > MSVCRT.lib(MSVCRT.dll) : error LNK2005: strdup already defined in
> > LIBCMT.lib(strdup.obj)
> > MSVCRT.lib(MSVCRT.dll) : error LNK2005: fclose already defined in
> > LIBCMTD.lib(fclose.obj)
> > MSVCRT.lib(MSVCRT.dll) : error LNK2005: fread already defined in
> > LIBCMTD.lib(fread.obj)
> > MSVCRT.lib(MSVCRT.dll) : error LNK2005: fwrite already defined in
> > LIBCMTD.lib(fwrite.obj)
> > MSVCRT.lib(MSVCRT.dll) : error LNK2005: fseek already defined in
> > LIBCMTD.lib(fseek.obj)
> > MSVCRT.lib(MSVCRT.dll) : error LNK2005: ftell already defined in
> > LIBCMTD.lib(ftell.obj)
> > MSVCRT.lib(MSVCRT.dll) : error LNK2005: time already defined in
> > LIBCMTD.lib(time.obj)
> > MSVCRT.lib(MSVCRT.dll) : error LNK2005: getosfhandle already defined
> > in
> > LIBCMTD.lib(osfinfo.obj)
> > MSVCRT.lib(MSVCRT.dll) : error LNK2005: fdopen already defined in
> > LIBCMTD.lib(fdopen.obj)
> > MSVCRT.lib(MSVCRT.dll) : error LNK2005: open already defined in
> > LIBCMTD.lib(open.obj)
> > MSVCRT.lib(MSVCRT.dll) : error LNK2005: fflush already defined in
> > LIBCMTD.lib(fflush.obj)
> > MSVCRT.lib(MSVCRT.dll) : error LNK2005: stricmp already defined in
> > LIBCMTD.lib(stricmp.obj)
> > LINK : warning LNK4098: defaultlib "LIBCMT" conflicts with use of other
> > libs; use /NODEFAULTLIB:library
> > LINK : warning LNK4098: defaultlib "MSVCRT" conflicts with use of other
> > libs; use /NODEFAULTLIB:library
> > Release/FlightGear.exe : fatal error LNK1169: one or more multiply
> > defined
> > symbols found
> >
> > This looks really silly to me. Why are LIBCMT and MSVCRT both default
> > libs,
> > when they conflict?!? I'm sure the mistake is somewhere else though...
> > BTW,
> > disabling the default libs won't help...
> >
> > Any help?
> >
> > Cheers, Christian
> >
> >
> >
> > Flightgear-devel mailing list
> > [EMAIL PROTECTED]
> > http://mail.flightgear.org/mailman/listinfo/flightgear-devel
> >
> >
> >
> > Flightgear-devel mailing list
> > [EMAIL PROTECTED]
> > http://mail.flightgear.org/mailman/listinfo/flightgear-devel
> >
>
>
>_______________________________________________
>Flightgear-devel mailing list
>[EMAIL PROTECTED]
>http://mail.flightgear.org/mailman/listinfo/flightgear-devel


_______________________________________________
Flightgear-devel mailing list
[EMAIL PROTECTED]
http://mail.flightgear.org/mailman/listinfo/flightgear-devel

Reply via email to