Re: OSG? was Re: [Flightgear-devel] Re: Graphics Engine
Hi, On Saturday 14 January 2006 19:07, Ampere K. Hardraade wrote: That was a suggestion. I current am not working on any document regarding the graphic engine, so I have nothing to share. However, I along with several others, are working on a document regarding the architecture of FG. If you have concrete plans, you need to put them in a document so those people who want to help can understand what you are trying to do, then make addition or proposal modifications to some of your ideas. Well not that concrete. :) It is just that I have already a plan in my desk if we want to do that. A plan which has prooven good in an other projekt. I have for example a list of things just required to be done before. I believe it is out of discussion that the ac reader must just work like the plib one does. The idea is to get the design and analysis done before writing a single line of code. For a project as big as FlightGear, writing design reports should not be an option; it should be a must. Well, a scenegraph is a scenegraph - more or less. At least in this direction. There is nothing I know of you can do with plib you cannot do with osg. There are aprioriate callbacks in osg so that you can implement the animation infrastructure like we have it with ssg*. So there is not much design to do in this area. Given that the precautions are are all satisfied, that is - all required loaders for osg work like expected, - we have an additional loader for the scenery files - we have a good tri/quad striper for osg geometries. - we have a short proof of concept to see how this interacts with pui and most important - *we* have *decided* to do that(!) then, I think the plan would be as follows: - build up a very thin envelope around the ssg* calls just taking scenegraph independent datastructure which could be translated to the aprioriate scenegraph. The best case is here that the datatypes are scenegraph independent but fit directly into the ssg functions directly. That is how I designed that vectors this discussion started from. Consequently no copying needs to be done. The envelope calls will be inlined and optimized away. - From that point we will not have any direct ssg call in the sources except in that envelop classes. - Now we can provide a set of envelop classes with osg as backend. - Now see how we can integrate our direct OpenGL calls into that stuff to make it work with both envelopes. - Past that we can play with that and can even easily go back if there are some unsolvable problems (I do not expect them). - If osg turns out the way to go, one can remove the ssg envelopes and may remove the indirections through the osg envelope. - Now you are really free to just use the cool features osg provides. Greetings Mathias -- Mathias Fröhlich, email: [EMAIL PROTECTED] Mathias Fröhlich, email: [EMAIL PROTECTED] --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_idv37alloc_id865op=click ___ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel
Re: OSG? was Re: [Flightgear-devel] Re: Graphics Engine
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Mathias Fröhlich schrieb: The sg* vectors and matrices are created in such a way that they'll offer the higest possible performance and compatability for using OpenGL. column major like fortran :) Well, I worked, together with some collegues, on getting a linux cluster into the top500 some time ago :) Good to hear. (BTW: my diploma thesis [= roughly a masters thesis] was the creation of cache oblivious matrix operations in C++ using the space filling Peano curve; I could beat the Intel Math Kernel Library in optimal cache use - und even performance wise when I used only x87 instructions :) I put the code and the thesis at http://tifammy.sf.net/ Space filling curves have very interesting properties for high performance computing - not only for cache efficiency but also for partitioning of problems for parallel computers / clusters) Yep, I believe that this small vector set will even provide more performance since it will just work with all ss?g* functions natively. Instead of that horrible mix of sg* and simgear point3d datatypes we have at the moment, which do not interface well and thus needs masses of hand coded copies from one datatype to the other. You can just use such a thing as a drop in replacement for any sg type. At the times I did active FGFS development I also didn't like the many different vector classes. It takes me regularily needless time to clearify what I have in my hands if I get a Point3D datatype. Different classes (or just class names) sound like an good idea. It might be interesting to offer the use of SSE values internally. This could give a little performance boost for modern IA-32 processors. CU, Christian --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_idv37alloc_id865op=click ___ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel
Re: OSG? was Re: [Flightgear-devel] Re: Graphics Engine
Hi, On Sunday 15 January 2006 12:54, Christian Mayer wrote: (BTW: my diploma thesis [= roughly a masters thesis] was the creation of cache oblivious matrix operations in C++ using the space filling Peano curve; I could beat the Intel Math Kernel Library in optimal cache use - und even performance wise when I used only x87 instructions :) I put the code and the thesis at http://tifammy.sf.net/ Space filling curves have very interesting properties for high performance computing - not only for cache efficiency but also for partitioning of problems for parallel computers / clusters) Sounds interresting. Downloaded that matrix kernels. ... let's see what I can make use of :) What did you study? Yep, I believe that this small vector set will even provide more performance since it will just work with all ss?g* functions natively. Instead of that horrible mix of sg* and simgear point3d datatypes we have at the moment, which do not interface well and thus needs masses of hand coded copies from one datatype to the other. You can just use such a thing as a drop in replacement for any sg type. At the times I did active FGFS development I also didn't like the many different vector classes. Yep, the aim is that you have an intuitive usable thing you can use directly with the scenegraph. It might be interesting to offer the use of SSE values internally. This could give a little performance boost for modern IA-32 processors. Well, wait for gcc 4.2. There is much work going on in the direction of autovectorization. The tree optimization infrastructure has brought many improovments for optimizations. But a patch which has arrived yesterday in the svn head revision makes now definitly use of that. Richard Günther has yesterday checked in a patch which makes gcc see that array elements of the same array with different indices cannot alias. This now opens the door to do autovectorizations for small arrays. There is a tunable maximum array length of 4, but first tests with 16 for the typical transform matrices have shown that gcc now uses some addp[sd]'s instead of the unpacked versions ... Greetings Mathias -- Mathias Fröhlich, email: [EMAIL PROTECTED] --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_idv37alloc_id865op=click ___ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel
Re: OSG? was Re: [Flightgear-devel] Re: Graphics Engine
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Mathias Fröhlich schrieb: Hi, On Sunday 15 January 2006 12:54, Christian Mayer wrote: (BTW: my diploma thesis [= roughly a masters thesis] was the creation of cache oblivious matrix operations in C++ using the space filling Peano curve; I could beat the Intel Math Kernel Library in optimal cache use - und even performance wise when I used only x87 instructions :) I put the code and the thesis at http://tifammy.sf.net/ Space filling curves have very interesting properties for high performance computing - not only for cache efficiency but also for partitioning of problems for parallel computers / clusters) Sounds interresting. Downloaded that matrix kernels. ... let's see what I can make use of :) What did you study? Technomathematik (= applied mathematics) Oh, I've just seen that I didn't link the thesis yet. Should be there under documentation in a few minutes It might be interesting to offer the use of SSE values internally. This could give a little performance boost for modern IA-32 processors. Well, wait for gcc 4.2. gcc isn't the only compiler though. For the IA-32 are at least the MSVC++ and the Intel ICC important, too. And my expericence (with ICC) are, that the vectorisation does only work for loops. The code of my thesis uses recursions and explicitly coded operations. The ICC wansn't able to auto vectorise any of those. CU, Christian -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.0 (MingW32) iD8DBQFDyj2LlhWtxOxWNFcRAtuRAJ9UXqusko5friqZfIWRXwcYElst7gCgpEyK xsMhESvH1STx6Y7K+9oF5fc= =V/7g -END PGP SIGNATURE- --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_idv37alloc_id865op=click ___ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel
Re: OSG? was Re: [Flightgear-devel] Re: Graphics Engine
Hi, On Sunday 15 January 2006 13:18, Christian Mayer wrote: Technomathematik (= applied mathematics) Karlsruhe? Mathematician from Tübingen, did numerical analysis, mostly timestepping. Oh, I've just seen that I didn't link the thesis yet. Should be there under documentation in a few minutes Thanks! It might be interesting to offer the use of SSE values internally. This could give a little performance boost for modern IA-32 processors. Well, wait for gcc 4.2. gcc isn't the only compiler though. :) For the IA-32 are at least the MSVC++ and the Intel ICC important, too. And my expericence (with ICC) are, that the vectorisation does only work for loops. The code of my thesis uses recursions and explicitly coded operations. The ICC wansn't able to auto vectorise any of those. Ok, interresting. I heared that MSVC does vectorization for some time. But as long as I am that used to unix in contrast to windows, MSVC is not an option for me :) ICC is something I play with at some times. But I never tried how it vectorizes. Also the gcc development is much more interresting since you can watch that development including the internal comments. With closed compilers you can see marketing headlines which mostly do not have any technical relevance ... ... 'see now you have only two clicks to refactor whatever' :) Greetings Mathias -- Mathias Fröhlich, email: [EMAIL PROTECTED] --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_idv37alloc_id865op=click ___ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel
Re: OSG? was Re: [Flightgear-devel] Re: Graphics Engine
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Mathias Fröhlich schrieb: Hi, On Sunday 15 January 2006 13:18, Christian Mayer wrote: Technomathematik (= applied mathematics) Karlsruhe? Nope, TU München Mathematician from Tübingen, did numerical analysis, mostly timestepping. Numerics is also the stuff that I do most (as well as lots of fluid dynamics). And my expericence (with ICC) are, that the vectorisation does only work for loops. The code of my thesis uses recursions and explicitly coded operations. The ICC wansn't able to auto vectorise any of those. Ok, interresting. I heared that MSVC does vectorization for some time. I've only used the .NET 2003 version (i.e. 7.1 IIRC). And that couldn't do any vectorisation. It could use the scalar SSE instructions instead of the x87 though (they are faster for the Pentium 4; my Pentium M was a bit slower) Also the gcc development is much more interresting since you can watch that development including the internal comments. With closed compilers you can see marketing headlines which mostly do not have any technical relevance ... Yes, but at least a shot time ago the IIC was supposed to do better optimisations (I *think* that's still true - but have no measurements) CU, Christian -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.0 (MingW32) iD8DBQFDykD8lhWtxOxWNFcRAg0vAJ4oGTbTR87EUl5kHAM0zSjOkeO6fQCgjVVZ URw5Mepsztd5voZAZAbzVTg= =RXXx -END PGP SIGNATURE- --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_idv37alloc_id865op=click ___ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel
Re: OSG? was Re: [Flightgear-devel] Re: Graphics Engine
Hi, On Sunday 15 January 2006 13:33, Christian Mayer wrote: Numerics is also the stuff that I do most (as well as lots of fluid dynamics). Ok, so you are actually writing on your PHD? Ok, interresting. I heared that MSVC does vectorization for some time. I've only used the .NET 2003 version (i.e. 7.1 IIRC). And that couldn't do any vectorisation. It could use the scalar SSE instructions instead of the x87 though (they are faster for the Pentium 4; my Pentium M was a bit slower) Ok, just the scalar ones is not something really interresting ... Greetings Mathias -- Mathias Fröhlich, email: [EMAIL PROTECTED] --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_idv37alloc_id865op=click ___ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel
Re: OSG? was Re: [Flightgear-devel] Re: Graphics Engine
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Mathias Fröhlich schrieb: Hi, On Sunday 15 January 2006 13:33, Christian Mayer wrote: Numerics is also the stuff that I do most (as well as lots of fluid dynamics). Ok, so you are actually writing on your PHD? Nein. Ich muß erst noch die Hauptdiplomprüfungen im Februar/März überstehen. Dann mach evtl. bei BMW einen Dr. (falls die endlich mit der Stelle in die Gänge kommen...) oder suche mir eine normale Anstellung. CU, Christian -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.0 (MingW32) iD8DBQFDykvJlhWtxOxWNFcRAiHcAKCgul5yHNBTNnG+4DXW7LHrQAO4XACfZ2/a lYC6WXncQr718+wvIWCN4dA= =7FF2 -END PGP SIGNATURE- --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_idv37alloc_id865op=click ___ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel
Re: OSG? was Re: [Flightgear-devel] Re: Graphics Engine
Hi Aem, sorry for that noise, As Christian started to reply in german, I thought that we have private mails Sorry! Mathias -- Mathias Fröhlich, email: [EMAIL PROTECTED] --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_idv37alloc_id865op=click ___ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel
Re: OSG? was Re: [Flightgear-devel] Re: Graphics Engine
Mathias Fröhlich wrote: Hi Aem, sorry for that noise, As Christian started to reply in german, I thought that we have private mails Sorry! I was reading through the thread this morning and as it progressed there were more and more german words intermixed and then wham all german. I've been working on a large vehicle steering and guidance controller (snowplow/truck) for my day job and if pavement==english and grass==german, the language use of this thread, closely approximates what my truck does if I try to drive through a corner too fast. :-) Curt. -- Curtis Olsonhttp://www.flightgear.org/~curt HumanFIRST Program http://www.humanfirst.umn.edu/ FlightGear Project http://www.flightgear.org Unique text:2f585eeea02e2c79d7b1d8c4963bae2d --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click ___ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel