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
