You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(4) |
Jul
(1) |
Aug
|
Sep
(15) |
Oct
(32) |
Nov
(35) |
Dec
(48) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(46) |
Feb
(22) |
Mar
(65) |
Apr
(49) |
May
(22) |
Jun
(29) |
Jul
(51) |
Aug
(34) |
Sep
(32) |
Oct
(46) |
Nov
(30) |
Dec
(32) |
2002 |
Jan
(48) |
Feb
(4) |
Mar
(20) |
Apr
(28) |
May
(13) |
Jun
(34) |
Jul
(51) |
Aug
(15) |
Sep
(15) |
Oct
(35) |
Nov
(15) |
Dec
(20) |
2003 |
Jan
(31) |
Feb
(111) |
Mar
(41) |
Apr
(28) |
May
(36) |
Jun
(29) |
Jul
(27) |
Aug
(29) |
Sep
(47) |
Oct
(28) |
Nov
(7) |
Dec
(26) |
2004 |
Jan
(44) |
Feb
(9) |
Mar
(17) |
Apr
(26) |
May
(58) |
Jun
(13) |
Jul
(44) |
Aug
(64) |
Sep
(30) |
Oct
(11) |
Nov
(21) |
Dec
(28) |
2005 |
Jan
(29) |
Feb
(11) |
Mar
(11) |
Apr
(22) |
May
(85) |
Jun
(46) |
Jul
(17) |
Aug
(18) |
Sep
(14) |
Oct
(22) |
Nov
(1) |
Dec
(45) |
2006 |
Jan
(20) |
Feb
(36) |
Mar
(18) |
Apr
(24) |
May
(21) |
Jun
(48) |
Jul
(23) |
Aug
(20) |
Sep
(10) |
Oct
(41) |
Nov
(46) |
Dec
(40) |
2007 |
Jan
(40) |
Feb
(20) |
Mar
(13) |
Apr
(6) |
May
(24) |
Jun
(31) |
Jul
(30) |
Aug
(11) |
Sep
(11) |
Oct
(10) |
Nov
(56) |
Dec
(64) |
2008 |
Jan
(64) |
Feb
(22) |
Mar
(63) |
Apr
(28) |
May
(25) |
Jun
(36) |
Jul
(11) |
Aug
(9) |
Sep
(14) |
Oct
(41) |
Nov
(46) |
Dec
(130) |
2009 |
Jan
(95) |
Feb
(41) |
Mar
(24) |
Apr
(35) |
May
(53) |
Jun
(67) |
Jul
(48) |
Aug
(48) |
Sep
(86) |
Oct
(75) |
Nov
(64) |
Dec
(52) |
2010 |
Jan
(57) |
Feb
(31) |
Mar
(28) |
Apr
(40) |
May
(25) |
Jun
(42) |
Jul
(79) |
Aug
(31) |
Sep
(49) |
Oct
(66) |
Nov
(38) |
Dec
(25) |
2011 |
Jan
(29) |
Feb
(18) |
Mar
(44) |
Apr
(6) |
May
(28) |
Jun
(31) |
Jul
(36) |
Aug
(24) |
Sep
(30) |
Oct
(23) |
Nov
(21) |
Dec
(27) |
2012 |
Jan
(14) |
Feb
(11) |
Mar
(2) |
Apr
(48) |
May
(7) |
Jun
(32) |
Jul
(22) |
Aug
(25) |
Sep
(31) |
Oct
(32) |
Nov
(21) |
Dec
(17) |
2013 |
Jan
(44) |
Feb
(27) |
Mar
(3) |
Apr
(1) |
May
|
Jun
|
Jul
(3) |
Aug
(4) |
Sep
(1) |
Oct
(7) |
Nov
(5) |
Dec
(5) |
2014 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(3) |
Dec
(2) |
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
(7) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Bruce S. <Bru...@nc...> - 2012-06-09 23:37:13
|
Another option would be for someone to take responsibility for creating the VPython installer for the Mac Python of their choice. Only someone who uses that particular non-python.org version is in a position to create and test such an installer. As I've explained, it wouldn't help for the existing installer to recognize a non-python.org Python being available, because it and VPython won't match. I'm trying to enunciate a general principle. I'm able to make VPython installers that match the "official" Pythons distributed at python.org. VPython installers for any other flavor of Python must necessarily be the responsibility of users of those other flavors, unless and until someone creates a distutil-like VPython installer that is executed by the Python of your choice. I would of course be happy to host other-flavor VPython installers at vpython.org. Bruce Sherwood On Fri, Jun 8, 2012 at 11:55 AM, Bruce Sherwood <Bru...@nc...> wrote: > It's not simply a question of recognizing that some Python or other is > available. The core of VPython is written in C++ and is compiled > against a particular Python, with particular entry points. > > In principle it ought to be possible to create a distutils or similar > type of installer for Linux and Mac that you would run by executing > your particular Python, and it would invoke as necessary the C++ > compiler. I hope someone will create such a mechanism. I myself am > unlikely to be able to try this in the near future. > > This is not a viable option on Windows because most users don't have a > C++ compiler on their Windows machine. However, it could be a useful > way to build binary installers to distribute to Windows users. > > Bruce Sherwood |
From: Jerzy K. <jer...@un...> - 2012-06-09 19:49:20
|
Bruce Sherwood: > I agree that using units can be a good thing, especially if one gets > an error message when trying to add 5 kilograms to 3 meters. However, > among the very many academics I know who use VPython for research or > educational purposes, no one else has ever asked for VPython to > support physical units. (This may be a lack of imagination on their > part, of course.) There is a Python package "Magnitude" written by Juan Reyero. Did anybody try it? Physical units in a computational context is not a simple issue. For simple mechanical systems, OK, but when people have more "universal" ambitions, there are some natural conversions, e.g. meters ARE seconds if the speed of light is considered to be an universal constant. Many physicists use for years the unit system where c = h_slash = 1. So, I do not think that the reluctance to use explicit SI (or other) units has anything to do with the lack of imagination. Of course, typical VPython users are usually far from such dilemmas, but, despite a long history, a coherent introduction of units into a computational framework needs more work (in my opinion). Jerzy Karczmarczuk |
From: Bruce S. <Bru...@nc...> - 2012-06-09 18:52:49
|
I agree that using units can be a good thing, especially if one gets an error message when trying to add 5 kilograms to 3 meters. However, among the very many academics I know who use VPython for research or educational purposes, no one else has ever asked for VPython to support physical units. (This may be a lack of imagination on their part, of course.) I judge that implementing units in VPython would be a very major undertaking, and it would have to be done very carefully so as not to affect the execution speed of programs that don't use units. In fact, Kevin Karplus commented that Python with units is rather slow. There are hundreds of details that would have to be addressed in the C++ code, not to mention that numpy and the Boost libraries don't handle units. Unfortunately, very few people have ever contributed to the development and maintenance of the central C++ component of VPython, possibly because it is multithreaded C++ with connections to Boost libraries, numpy, and OpenGL, which means that it can be daunting. I personally see far more to do than I can accomplish within the domain of wants and needs that are important to all VPython users. That means that someone(s) would have to step forward and take on what is probably a very big task if units are to be supported in VPython. Bruce Sherwood |
From: Bruce S. <Bru...@nc...> - 2012-06-09 16:00:41
|
Actually, in my experience with students using VPython in intro physics, rate statements usually are necessary even for new programmers, because VPython is so fast that simple animations typically run too fast to be seen. At least in intro physics, it's pretty common for physicists to emphasize that all analyses should be done algebraically, with numbers put in only at the end, and units are not involved in most of the analysis. Typically it is only the final result for which the physicist cares that correct units be given. Bruce Sherwood On Sat, Jun 9, 2012 at 9:37 AM, Kevin Karplus <ka...@so...> wrote: > > I'm glad to see that Vpython has a future, and that you do have plans > to make it work on 64-bit Macs. > > I would find requiring "rate" statements a bit annoying, but > tolerable. I wonder whether it would become a major problem for new > programmers, though, as its necessity is not obvious. > > One thing I would like to see is a good integration of units into the > computation. I tell my students to keep units with their intermediate > results, and I suspect that most real physics teachers do also, so it > is a bit annoying that Vpython encourages (sometimes even requires) > unitless numbers. I've been using the Unum package, which works > fairly well but is rather slow (I also had to add a sqrt function for > it). > > See the simulation (without animation---just using visual for optional > graphs) in > http://gasstationwithoutpumps.wordpress.com/2012/06/04/soda-bottle-rocket-simulation-take-2 > for an example of using Unum > > The visual package does not play nicely with Unum, since all the > animation and graphing has to be unitless. I think that a little more > care in "duck typing" could have made the routines work just fine with > numbers that have units. > > > |
From: Kevin K. <ka...@so...> - 2012-06-09 15:37:18
|
I'm glad to see that Vpython has a future, and that you do have plans to make it work on 64-bit Macs. I would find requiring "rate" statements a bit annoying, but tolerable. I wonder whether it would become a major problem for new programmers, though, as its necessity is not obvious. One thing I would like to see is a good integration of units into the computation. I tell my students to keep units with their intermediate results, and I suspect that most real physics teachers do also, so it is a bit annoying that Vpython encourages (sometimes even requires) unitless numbers. I've been using the Unum package, which works fairly well but is rather slow (I also had to add a sqrt function for it). See the simulation (without animation---just using visual for optional graphs) in http://gasstationwithoutpumps.wordpress.com/2012/06/04/soda-bottle-rocket-simulation-take-2 for an example of using Unum The visual package does not play nicely with Unum, since all the animation and graphing has to be unitless. I think that a little more care in "duck typing" could have made the routines work just fine with numbers that have units. |
From: Bruce S. <Bru...@nc...> - 2012-06-09 15:14:46
|
Very interesting. There is much in your message about which I have no knowledge and no opinion. However, I can make some comments about the Big Picture. For a variety of reasons, I am personally committed to the further development and maintenance of both VPython and GlowScript. One of the reasons is more political than technical. With Ruth Chabay I am the co-author of a textbook and curriculum for intro physics (matterandinteractions.org) which includes an introduction to computational modeling, in which students write VPython programs to model physical systems. This reflects the fact that physics today isn't just theory and experiment, it's theory and experiment and computational modeling, but this important change has not been reflected in physics education, one of the serious problems we are addressing. Other problems include the fact that the intro physics course taken by engineering and science students in college stops around 1860, whereas we take a 20th-century perspective and even admit that atoms exist. There are a thousand excuses available to physics faculty for why one shouldn't bring the intro physics course up to date. One of them is that the physicist could probably find a card-carrying computer scientist ready to testify that computer language X rots the brain. Python however is in good esteem in the CS community, so it would be difficult to find a computer scientist ready to testify that it's terrible to use Python in the intro physics course. Another issue is that (as you point out) there is little infrastructure at present for the support of computation.in JavaScript. This may change, but certainly Python has a far richer computational ecology. VPython is attractive to scientists for visualization purposes, and many scientists know and use Python. Few scientists today know or use JavaScript. I agree that Python as a language is far more attractive than JavaScript. However, CoffeeScript (which is also supported in GlowScript) has the good features of Python but compiles instantly to JavaScript. In particular, CoffeeScript uses white space, thereby eliminating lots of cluttering of braces. Moreover, CoffeeScript makes it impossible to do the Bad Things that people regret about JavaScript. Recently I've been writing GlowScript examples in CoffeeScript, and I like it for the same reasons that I like Python. If you go to glowscript.org and click on "Example programs", you'll find some pairs of examples, one in JavaScript and one in GlowScript; also the Rug example is in CoffeeScript. Incidentally, I have no problem running GlowScript in Ubuntu, using the proprietary NVIDIA driver. As I've said, I'm dreaming of constructing a VPython+ that would require a modern graphics card. If possible, I'd like to build it on top of one of the newer Python frameworks that work cross-platform, in particular to solve the menacing problem that Carbon on the Mac is not available for 64-bit Python. I'm not able to tackle this immediately because I have some major responsibilities to work on a fourth edition of our physics textbook. I should mention that recently someone tried to build VPython on a pure Python framework but, as I expected, it ran about 50 times slower than VPython, so one has to choose the framework carefully. A very important simplification is possible. In GlowScript if you write an infinite loop you MUST include a rate or similar statement to allow the screen to be updated, as there is no interrupt possbility in JavaScript. Most VPython animations include a rate statement, so I judge it wouldn't be terrible to require one, thereby eliminating the rather complex threading that is currently at the heart of VPython, and which is the reason that David Scherer and I were unable to implement VPython in Cocoa on the Mac. On the first page of the Help at glowscript.org you'll find some comments addressed at those familiar with VPython, including side-by-side comparisons of Python and JavaScript elements. There is even a VPython -> GlowScript converter I wrote in Python which does much of the grunt work but still requires some manual conversion of the resulting JS code. This converter is much less sophisticated than pyjs, as my goal was just to assist, not do the enormous amount of work required to do the full job. I wasn't aware of the pypy.org project, and certainly running 5 times faster than CPython is important. What is "co", which you mention? Bruce Sherwood On Fri, Jun 8, 2012 at 10:50 PM, C Anthony Risinger <an...@xt...> wrote: > On Wed, Jun 6, 2012 at 6:40 PM, Bruce Sherwood <Bru...@nc...> wrote: >> >> [...] JavaScript is slower than C++ but >> considerably faster than Python. To my knowledge, there is no >> possibility for something like numpy, which runs at the speed of C. > > once numpy and co can run on pypy, will visual? pypy.org has been > raising money for the numpy port ... ~45k of 60k. > >> Another speed issue to consider is that because GlowScript uses WebGL, >> which requires the use of modern GPU-type graphics cards, many kinds >> of graphics can be significantly faster than in VPython, which >> currently uses GPUs only optionally, for textures. I've been dreaming >> of a VPython+ that would also require the use of a modern graphics >> card. > > so, as someone who as lurked this list for probably 4+ years now, this > is something i've been wondering since the inception of glowscript and > all the chatter/activity around it compared to vpython ... > > how does glowscript and vpython fit together in the "big picture"? > has interest in the python module diminished (none? some? all?) in > favor of JS? > > this is not really a criticism, whatever you answer; i'm mostly > curious because i'm doing a short presentation next week on vpython to > my company (~40-60 other developers, JS/Python/.NET/C#), and i'm > writing up a demo program (visualization of message queue data! yay!) > and supporting materials this weekend. i haven't actually ran > glowscript successfully on my archlinux machines, in any browser, but > i planned on giving it an honorable mention as i know several JS > developers will be interested. primarily, i just want to give a good > representation of what visual is, and what is to come. > > i know it's a pretty open ended question, but it's been on my mind for > awhile. i wrote JS for many years before learning (and instantly > embracing) python; it goes without saying that IMO ... > > Python > JS**10 > > ... alas, i'm almost assuredly biased, as i work on projects like > pyjs.org translating Python-to-JS (for the goodness of all ;-) ... i > was even considering implementing a pyjs wrapper to glowscript, > "theoretically" allowing vpython programs to run unmodified in the > browser. all-in-all, JS/ECMAscript, as implemented in browsers at > least, is a wonderfully powerful language but offers no supporting > infrastructure whatsoever. with the advent of pypy, any performance > gaps are probably not so large (unconfirmed), should they exist at all > (absolutely unfounded). > > what say you!?!? :-) again, while i prefer and champion the python > side of things, i completely understand the > benefit/opportunity/convenience of glowscript -- both are super-cool > and vpython is loads of fun. > > thanks, > > -- > > C Anthony > > aside: at pyjs.org we've tried to bring python to the web via > translation, but also direct bindings to the layout engine > (Trident/XULRunner/WebKit), some of which are very successful. we are > looking for a more universal way to achieve direct bindings, say via a > plugin toolkit like Firebreath, or similar. perhaps you can better > merge the two projects by doing the same -- use a browser to render > vpython. if you drive the browser's WebGL engine directly you can get > all the benefits (hardware accel/etc) in vpython for free. the > Trident engine (Windows) is the most stable for us, accessed via COM > interface, and the GObject WebKit bindings are the next promising > method for other platforms. there are also mature ObjC bindings to > WebKit. not sure how/if WebGL is exposed currently, but it might be > worth pursuing. |
From: C A. R. <an...@xt...> - 2012-06-09 05:19:03
|
On Wed, Jun 6, 2012 at 6:40 PM, Bruce Sherwood <Bru...@nc...> wrote: > > [...] JavaScript is slower than C++ but > considerably faster than Python. To my knowledge, there is no > possibility for something like numpy, which runs at the speed of C. once numpy and co can run on pypy, will visual? pypy.org has been raising money for the numpy port ... ~45k of 60k. > Another speed issue to consider is that because GlowScript uses WebGL, > which requires the use of modern GPU-type graphics cards, many kinds > of graphics can be significantly faster than in VPython, which > currently uses GPUs only optionally, for textures. I've been dreaming > of a VPython+ that would also require the use of a modern graphics > card. so, as someone who as lurked this list for probably 4+ years now, this is something i've been wondering since the inception of glowscript and all the chatter/activity around it compared to vpython ... how does glowscript and vpython fit together in the "big picture"? has interest in the python module diminished (none? some? all?) in favor of JS? this is not really a criticism, whatever you answer; i'm mostly curious because i'm doing a short presentation next week on vpython to my company (~40-60 other developers, JS/Python/.NET/C#), and i'm writing up a demo program (visualization of message queue data! yay!) and supporting materials this weekend. i haven't actually ran glowscript successfully on my archlinux machines, in any browser, but i planned on giving it an honorable mention as i know several JS developers will be interested. primarily, i just want to give a good representation of what visual is, and what is to come. i know it's a pretty open ended question, but it's been on my mind for awhile. i wrote JS for many years before learning (and instantly embracing) python; it goes without saying that IMO ... Python > JS**10 ... alas, i'm almost assuredly biased, as i work on projects like pyjs.org translating Python-to-JS (for the goodness of all ;-) ... i was even considering implementing a pyjs wrapper to glowscript, "theoretically" allowing vpython programs to run unmodified in the browser. all-in-all, JS/ECMAscript, as implemented in browsers at least, is a wonderfully powerful language but offers no supporting infrastructure whatsoever. with the advent of pypy, any performance gaps are probably not so large (unconfirmed), should they exist at all (absolutely unfounded). what say you!?!? :-) again, while i prefer and champion the python side of things, i completely understand the benefit/opportunity/convenience of glowscript -- both are super-cool and vpython is loads of fun. thanks, -- C Anthony aside: at pyjs.org we've tried to bring python to the web via translation, but also direct bindings to the layout engine (Trident/XULRunner/WebKit), some of which are very successful. we are looking for a more universal way to achieve direct bindings, say via a plugin toolkit like Firebreath, or similar. perhaps you can better merge the two projects by doing the same -- use a browser to render vpython. if you drive the browser's WebGL engine directly you can get all the benefits (hardware accel/etc) in vpython for free. the Trident engine (Windows) is the most stable for us, accessed via COM interface, and the GObject WebKit bindings are the next promising method for other platforms. there are also mature ObjC bindings to WebKit. not sure how/if WebGL is exposed currently, but it might be worth pursuing. |
From: Bruce S. <Bru...@nc...> - 2012-06-09 02:36:48
|
I was wrong. Firefox on my Windows 7 machine is also a 32-bit application, but it runs the gas program about twice as fast as Chrome. I also see the higher speed in Safari on a Macbook Pro of comparable speed. Bruce Sherwood On Fri, Jun 8, 2012 at 3:49 PM, Bruce Sherwood <Bru...@nc...> wrote: > Correction: I made my measurements with Chrome on a 64-bit Windows > machine, unaware that Chrome runs slowly on 64-bit machines because it > is a 32-bit application. Here are improved measurements, copied from > comments in the GlowScript program: > > On a 32-bit Windows computer running Chrome: VPython gas.py with 100 > atoms, dt = 1e-5, rate(100), no graphing: 100 iterations = 1 second. > > The similar Glowsript program with same conditions: 100 iterations = > 4.5 seconds. > > /With rate(300), VPython is 0.35 s, GlowScript remains 4.5 s. > > Presumably the big difference is the Python numpy library, which runs > at C speed, and which eliminates some explicit loops. > > Note that on a 64-bit Windows computer Chrome runs this program half > as fast as on a 32-bit computer, because Chrome is a 32-bit > application. On 64-bit Windows Firefox is a 64-bit application and > runs the program twice as fast as Chrome. > > Bruce Sherwood > > On Thu, Jun 7, 2012 at 10:47 PM, Bruce Sherwood <Bru...@nc...> wrote: >> I've now converted the VPython demo program gas.py to GlowScript: >> >> http://www.glowscript.org/#/user/GlowScriptDemos/folder/Examples/program/HardSphereGas >> >> To run the program, you need to have a WebGL-enabled browser and a >> modern graphics card. For details, see the Help at glowscript.org. >> >> As for speed, this is what I found: >> >> VPython gas.py with 100 atoms, dt = 1e-5, no graphing: 100 iterations >> = 1.1 seconds. This similar Glowsript program with same conditions: >> 100 iterations = 11.7 seconds. Presumably the big difference is the >> Python numpy library, which runs at C speed, and which eliminates some >> explicit loops. >> >> Bruce Sherwood |
From: Bruce S. <Bru...@nc...> - 2012-06-08 23:15:09
|
Correction: I made my measurements with Chrome on a 64-bit Windows machine, unaware that Chrome runs slowly on 64-bit machines because it is a 32-bit application. Here are improved measurements, copied from comments in the GlowScript program: On a 32-bit Windows computer running Chrome: VPython gas.py with 100 atoms, dt = 1e-5, rate(100), no graphing: 100 iterations = 1 second. The similar Glowsript program with same conditions: 100 iterations = 4.5 seconds. /With rate(300), VPython is 0.35 s, GlowScript remains 4.5 s. Presumably the big difference is the Python numpy library, which runs at C speed, and which eliminates some explicit loops. Note that on a 64-bit Windows computer Chrome runs this program half as fast as on a 32-bit computer, because Chrome is a 32-bit application. On 64-bit Windows Firefox is a 64-bit application and runs the program twice as fast as Chrome. Bruce Sherwood On Thu, Jun 7, 2012 at 10:47 PM, Bruce Sherwood <Bru...@nc...> wrote: > I've now converted the VPython demo program gas.py to GlowScript: > > http://www.glowscript.org/#/user/GlowScriptDemos/folder/Examples/program/HardSphereGas > > To run the program, you need to have a WebGL-enabled browser and a > modern graphics card. For details, see the Help at glowscript.org. > > As for speed, this is what I found: > > VPython gas.py with 100 atoms, dt = 1e-5, no graphing: 100 iterations > = 1.1 seconds. This similar Glowsript program with same conditions: > 100 iterations = 11.7 seconds. Presumably the big difference is the > Python numpy library, which runs at C speed, and which eliminates some > explicit loops. > > Bruce Sherwood |
From: Bruce S. <Bru...@nc...> - 2012-06-08 17:56:04
|
It's not simply a question of recognizing that some Python or other is available. The core of VPython is written in C++ and is compiled against a particular Python, with particular entry points. In principle it ought to be possible to create a distutils or similar type of installer for Linux and Mac that you would run by executing your particular Python, and it would invoke as necessary the C++ compiler. I hope someone will create such a mechanism. I myself am unlikely to be able to try this in the near future. This is not a viable option on Windows because most users don't have a C++ compiler on their Windows machine. However, it could be a useful way to build binary installers to distribute to Windows users. Bruce Sherwood |
From: Kevin K. <ka...@so...> - 2012-06-08 16:01:11
|
Seth Morton wrote: > I am trying to install VPython through Mac installer, and it is > telling me that I need to install the 32 bit Python from > Python.org. The problem is, I already have a 32-bit Python > installed (using homebrew), but it's not installed where the > Python.org binary installer would install to. As a result, VPython > is not detecting it. I have also noticed this issue on systems > using the Enthought Python Distribution (which has separate 64 and > 32 bit Pythons as well), and I would imagine that Python from > MacPorts and Fink would have the same issue, but I've never tried > these. > > Would it be possible to add a button to the installer that says "I > know what I'm doing" to bypass the need for the Python.org > installation? Or, better yet, if VPython does not detect the > 32-bit Python from Python.org, ask the user to give the path of > their 32-bit installation to verify that VPython will work. I found it sufficient to run vpython programs with arch -i386 python foo.py or arch -32bit python foo.py (depending which version of OS X I had). It seems that the recent Python installations do both 32bit and 64bit installations, so can be specified on the command line. Of course, long term, Vpython will have to move away from the 32-bit-only implementation on Macs, or it will become unusable. |
From: Yann G. <ygo...@is...> - 2012-06-08 14:58:50
|
Quoth Bruce Sherwood on Fri, Jun 08, 2012 at 07:52:34 -0600 > The Linux version of VPython is based on GTK. Ah, then there maybe some hope. I am running on Linux. What I want to do is to embed a VPython window within a bigger GTK GUI. What I'd thought I'd do was create a gtk.Socket() and use that to embed the VPython window. This works like a charm provided that the VPython window and the GUI window are created by different processes. The problem happens when I try to use threads -- yes, I know "I had a problem. Then I used threading. Now Iav he wto pbleroms." ... Still, I feel I am very close to it working. In the code below, I get: test_opengl.py:62: GtkWarning: gtksocket.c:886: Can't add non-GtkPlug to GtkSocket socket.add_id(long(self.OpenGLWindowID)) /usr/bin/ipython:62: GtkWarning: IA__gdk_error_trap_pop: assertion `gdk_error_traps != NULL' failed as an error. But if the code in GTKWindowThreadClass.run() is copied and pasted into its own script (with the correct value of OpenGLWindowID as given by xwininfo) then it works: the VPython window embeds into the GTK one. Can anyone see what I am doing wrong? Source code follows -- apologies for the spare commenting but it should be simple enough to follow. ================================================================================ #!/usr/bin/env python # -*- coding: utf-8 -*- import time from visual import * import threading import Queue import gtk import pygtk import re import subprocess class OPenGLThreadClass (threading.Thread): """Thread running the VPython code.""" def __init__(self, queue): threading.Thread.__init__(self) self.queue = queue self.name = 'OpenGLThread' def run (self): self.scene = display.get_selected() self.scene.title = 'OpenGL test' s = sphere() self.queue.put(self.find_window_id()) self.queue.task_done() def find_window_id (self): """Gets the OpenGL window ID.""" pattern = re.compile('0x[0-9abcdef]{7}') P = subprocess.Popen(['xwininfo', '-name', self.scene.title], stdout=subprocess.PIPE) for line in P.stdout.readlines(): match = pattern.findall(line) if len(match): ret = long(match[0], 16) print("OpenGL window id is %d (%s)" % (ret, hex(ret))) return ret class GTKWindowThreadClass (threading.Thread): """Thread running the GTK code.""" def __init__ (self, winID): threading.Thread.__init__(self) self.OpenGLWindowID = winID self.name = 'GTKThread' def run (self): """Draw the GTK GUI.""" gtk.threads_enter() window = gtk.Window() window.show() socket = gtk.Socket() socket.show() window.add(socket) window.connect("destroy", lambda w: gtk.main_quit()) print("Got winID as %d (%s)" % (self.OpenGLWindowID, hex(self.OpenGLWindowID))) socket.add_id(long(self.OpenGLWindowID)) gtk.main() gtk.threads_leave() def main (): thread = {} print("Embedding OpenGL/VPython into GTK GUI") queue = Queue.Queue() thread['OpenGL'] = OPenGLThreadClass(queue) thread['OpenGL'].start() winID = queue.get() print("Got winID as %d (%s)" % (winID, hex(winID))) gtk.gdk.threads_init() thread['GTK'] = GTKWindowThreadClass(winID) thread['GTK'].start() if __name__ == "__main__": main() ================================================================================ -- GPG Fingerprint 8666 7F9A 17E7 AC8E CC36 1D1E C707 D658 6685 2528 The views expressed in this e-mail may or may not reflect those of the author and do not necessarily reflect those of Isotek Oil and Gas Ltd. |
From: Seth M. <sm...@ps...> - 2012-06-08 14:01:03
|
Hello, I am trying to install VPython through Mac installer, and it is telling me that I need to install the 32 bit Python from Python.org. The problem is, I already have a 32-bit Python installed (using homebrew), but it's not installed where the Python.org binary installer would install to. As a result, VPython is not detecting it. I have also noticed this issue on systems using the Enthought Python Distribution (which has separate 64 and 32 bit Pythons as well), and I would imagine that Python from MacPorts and Fink would have the same issue, but I've never tried these. Would it be possible to add a button to the installer that says "I know what I'm doing" to bypass the need for the Python.org installation? Or, better yet, if VPython does not detect the 32-bit Python from Python.org, ask the user to give the path of their 32-bit installation to verify that VPython will work. Thanks! Seth Morton |
From: Bruce S. <Bru...@nc...> - 2012-06-08 13:53:05
|
The Linux version of VPython is based on GTK. Several years ago I attempted to build VPython on Windows using GTK, and here is a summary of my experience: http://vpython.org/gtkmm_on_windows.html Bruce Sherwood On Fri, Jun 8, 2012 at 12:23 AM, Yann Golanski <ygo...@is...> wrote: > Has anyone managed to embed VPython within GTK? Maybe using GtkGLExt python's > bindings? > > I know about the Windows wx example but was just wondering if there was > something on gtk. If not, I shall endeavour to make it work and if > successful will write a toy programme. > > -- > GPG Fingerprint 8666 7F9A 17E7 AC8E CC36 1D1E C707 D658 6685 2528 > The views expressed in this e-mail may or may not reflect those of the > author and do not necessarily reflect those of Isotek Oil and Gas Ltd. > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Visualpython-users mailing list > Vis...@li... > https://lists.sourceforge.net/lists/listinfo/visualpython-users > |
From: Yann G. <ygo...@is...> - 2012-06-08 06:23:48
|
Has anyone managed to embed VPython within GTK? Maybe using GtkGLExt python's bindings? I know about the Windows wx example but was just wondering if there was something on gtk. If not, I shall endeavour to make it work and if successful will write a toy programme. -- GPG Fingerprint 8666 7F9A 17E7 AC8E CC36 1D1E C707 D658 6685 2528 The views expressed in this e-mail may or may not reflect those of the author and do not necessarily reflect those of Isotek Oil and Gas Ltd. |
From: Bruce S. <Bru...@nc...> - 2012-06-08 04:47:43
|
I've now converted the VPython demo program gas.py to GlowScript: http://www.glowscript.org/#/user/GlowScriptDemos/folder/Examples/program/HardSphereGas To run the program, you need to have a WebGL-enabled browser and a modern graphics card. For details, see the Help at glowscript.org. As for speed, this is what I found: VPython gas.py with 100 atoms, dt = 1e-5, no graphing: 100 iterations = 1.1 seconds. This similar Glowsript program with same conditions: 100 iterations = 11.7 seconds. Presumably the big difference is the Python numpy library, which runs at C speed, and which eliminates some explicit loops. Bruce Sherwood |
From: Bruce S. <Bru...@nc...> - 2012-06-07 05:02:34
|
I should add for completeness that JavaScript does offer typed arrays such as Float32Array, in which all elements are 32-bit floats. A major use of these typed arrays is for communication between CPU and GPUs on the graphics card. Bruce Sherwood > On Wed, Jun 6, 2012 at 4:46 PM, K.-Michael Aye <kmi...@gm...> wrote: >> Dear all, >> >> I was wondering if the good old VPython gas simulation that uses numpy >> so efficiently will run as nicely in Glowscript? Does Glowscript offer >> efficient arrays? >> >> Best regards, >> Michael |
From: Bruce S. <Bru...@nc...> - 2012-06-06 23:40:13
|
The quick answer to "numpy in GlowScript" is "no". GlowScript (glowscript.org) is necessarily written in JavaScript, and GlowScript user programs are necessarily written in JavaScript (or CoffeeScript, which compiles to JavaScript). JavaScript is slower than C++ but considerably faster than Python. To my knowledge, there is no possibility for something like numpy, which runs at the speed of C. However, here is the stars program in GlowScript, a program which is very similar to the gas program: http://www.glowscript.org/#/user/GlowScriptDemos/folder/Examples/program/Stars (You need to enable WebGL in your browser; see the Help at glowscript.org.) As you see, it runs adequately fast. However, if you examine the code, you'll see that David Scherer pulled some unintuitive tricks to get the speed to be adequate. In fairness, you might say that the use of numpy in the VPython demo programs stars.py and gas.py is also pretty unintuitive. Another speed issue to consider is that because GlowScript uses WebGL, which requires the use of modern GPU-type graphics cards, many kinds of graphics can be significantly faster than in VPython, which currently uses GPUs only optionally, for textures. I've been dreaming of a VPython+ that would also require the use of a modern graphics card. I just released GlowScript 1.0 which includes some major new capabilities. A particularly interesting example is a pulse running along a rug: http://www.glowscript.org/#/user/GlowScriptDemos/folder/Examples/program/Rug For another capability that goes beyond VPython, here is transparency done right: http://www.glowscript.org/#/user/GlowScriptDemos/folder/Examples/program/Transparency In VPython, transparent objects are sorted by their pos attribute, with the result that intersecting transparent objects cannot be displayed correctly. I implemented "depth peeling" in GlowScript which uses the GPUs to do pixel-level sorting. Here are the details: http://www.khronos.org/message_boards/viewtopic.php?f=44&t=4905 Bruce Sherwood On Wed, Jun 6, 2012 at 4:46 PM, K.-Michael Aye <kmi...@gm...> wrote: > Dear all, > > I was wondering if the good old VPython gas simulation that uses numpy > so efficiently will run as nicely in Glowscript? Does Glowscript offer > efficient arrays? > > Best regards, > Michael |
From: K.-Michael A. <kmi...@gm...> - 2012-06-06 22:46:55
|
Dear all, I was wondering if the good old VPython gas simulation that uses numpy so efficiently will run as nicely in Glowscript? Does Glowscript offer efficient arrays? Best regards, Michael |
From: Yann G. <ygo...@is...> - 2012-06-01 12:00:35
|
We found what the problem was. If you have the mesa package installed, all the libraries will be installed in /usr/lib64. If you install the nvidia package of old, the libraries will be installed in the same /usr/lib64. Thus libGL.so would either the mesa one or the nvidia one depending on the order of installation. VPython is looking for libGL.so. In my case, it was finding the one in /usr/lib64/ (the mesa one). This one does not support the right call hence the segmentation fault. To fix it, just pointing it to the right library worked. In command line parlance: $ cd /usr/lib64 $ sudo mv libGL.so.1.2 MESA_libGL.so.1.2 $ sudo ldconfig $ sudo ln -si nvidia/libGL.so.1 libGL.so $ ipython In [1]: from visual import * In [2]: s = sphere() [... Sphere appears ...] -- GPG Fingerprint 8666 7F9A 17E7 AC8E CC36 1D1E C707 D658 6685 2528 The views expressed in this e-mail may or may not reflect those of the author and do not necessarily reflect those of Isotek Oil and Gas Ltd. |
From: Yann G. <ygo...@is...> - 2012-06-01 09:28:48
|
I forgot to mention that I can compile and run C programs using OpenGL just fine. But none of the VPython ones will run -- they all core dump. Quoth Yann Golanski on Fri, Jun 01,2012 at 09:41:53 +0100 > [...] glxinfo output is attached. [...] It appears that the list software stripped it. Here it is: name of display: :0 display: :0 screen: 0 direct rendering: Yes server glx vendor string: NVIDIA Corporation server glx version string: 1.4 server glx extensions: GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_video_sync, GLX_SGI_swap_control, GLX_EXT_swap_control, GLX_EXT_texture_from_pixmap, GLX_ARB_create_context, GLX_ARB_create_context_profile, GLX_EXT_create_context_es2_profile, GLX_ARB_create_context_robustness, GLX_ARB_multisample, GLX_NV_float_buffer, GLX_ARB_fbconfig_float, GLX_NV_swap_group client glx vendor string: NVIDIA Corporation client glx version string: 1.4 client glx extensions: GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context, GLX_SGI_video_sync, GLX_NV_swap_group, GLX_NV_video_out, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_swap_control, GLX_EXT_swap_control, GLX_ARB_create_context, GLX_ARB_create_context_profile, GLX_NV_float_buffer, GLX_ARB_fbconfig_float, GLX_EXT_fbconfig_packed_float, GLX_EXT_texture_from_pixmap, GLX_EXT_framebuffer_sRGB, GLX_NV_present_video, GLX_NV_copy_image, GLX_NV_multisample_coverage, GLX_NV_video_capture, GLX_EXT_create_context_es2_profile, GLX_ARB_create_context_robustness GLX version: 1.4 GLX extensions: GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_video_sync, GLX_SGI_swap_control, GLX_EXT_swap_control, GLX_EXT_texture_from_pixmap, GLX_ARB_create_context, GLX_ARB_create_context_profile, GLX_EXT_create_context_es2_profile, GLX_ARB_create_context_robustness, GLX_ARB_multisample, GLX_NV_float_buffer, GLX_ARB_fbconfig_float, GLX_NV_swap_group, GLX_ARB_get_proc_address OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: Quadro FX 550/PCIe/SSE2 OpenGL version string: 2.1.2 NVIDIA 295.53 OpenGL shading language version string: 1.20 NVIDIA via Cg compiler OpenGL extensions: GL_ARB_color_buffer_float, GL_ARB_compressed_texture_pixel_storage, GL_ARB_conservative_depth, GL_ARB_copy_buffer, GL_ARB_depth_clamp, GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_ES2_compatibility, GL_ARB_explicit_attrib_location, GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, GL_ARB_framebuffer_object, GL_ARB_get_program_binary, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_imaging, GL_ARB_internalformat_query, GL_ARB_map_buffer_alignment, GL_ARB_map_buffer_range, GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_occlusion_query2, GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_provoking_vertex, GL_ARB_robustness, GL_ARB_sampler_objects, GL_ARB_separate_shader_objects, GL_ARB_shader_objects, GL_ARB_shading_language_100, GL_ARB_shading_language_420pack, GL_ARB_shading_language_include, GL_ARB_shadow, GL_ARB_sync, GL_ARB_texture_border_clamp, GL_ARB_texture_compression, GL_ARB_texture_cube_map, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, GL_ARB_texture_float, GL_ARB_texture_mirrored_repeat, GL_ARB_texture_non_power_of_two, GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_storage, GL_ARB_texture_swizzle, GL_ARB_timer_query, GL_ARB_transpose_matrix, GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object, GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_window_pos, GL_ATI_draw_buffers, GL_ATI_texture_float, GL_ATI_texture_mirror_once, GL_S3_s3tc, GL_EXT_texture_env_add, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_compiled_vertex_array, GL_EXT_Cg_shader, GL_EXT_depth_bounds_test, GL_EXT_direct_state_access, GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_object, GL_EXT_gpu_program_parameters, GL_EXT_multi_draw_arrays, GL_EXT_packed_depth_stencil, GL_EXT_packed_pixels, GL_EXT_pixel_buffer_object, GL_EXT_point_parameters, GL_EXT_provoking_vertex, GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_separate_shader_objects, GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_texture3D, GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp, GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_format_BGRA8888, GL_EXT_texture_lod, GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_decode, GL_EXT_texture_storage, GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, GL_EXT_x11_sync_object, GL_EXT_import_sync_object, GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, GL_KTX_buffer_region, GL_NV_alpha_test, GL_NV_blend_minmax, GL_NV_blend_square, GL_NV_complex_primitives, GL_NV_copy_depth_to_color, GL_NV_depth_clamp, GL_NV_fbo_color_attachments, GL_NV_fence, GL_NV_float_buffer, GL_NV_fog_distance, GL_NV_fragdepth, GL_NV_fragment_program, GL_NV_fragment_program_option, GL_NV_fragment_program2, GL_NV_framebuffer_multisample_coverage, GL_NV_half_float, GL_NV_light_max_exponent, GL_NV_multisample_filter_hint, GL_NV_occlusion_query, GL_NV_packed_depth_stencil, GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_primitive_restart, GL_NV_register_combiners, GL_NV_register_combiners2, GL_NV_texgen_reflection, GL_NV_texture_barrier, GL_NV_texture_compression_vtc, GL_NV_texture_env_combine4, GL_NV_texture_expand_normal, GL_NV_texture_lod_clamp, GL_NV_texture_rectangle, GL_NV_texture_shader, GL_NV_texture_shader2, GL_NV_texture_shader3, GL_NV_vertex_array_range, GL_NV_vertex_array_range2, GL_NV_vertex_program, GL_NV_vertex_program1_1, GL_NV_vertex_program2, GL_NV_vertex_program2_option, GL_NV_vertex_program3, GL_NVX_conditional_render, GL_OES_depth24, GL_OES_depth32, GL_OES_depth_texture, GL_OES_element_index_uint, GL_OES_fbo_render_mipmap, GL_OES_get_program_binary, GL_OES_mapbuffer, GL_OES_packed_depth_stencil, GL_OES_rgb8_rgba8, GL_OES_standard_derivatives, GL_OES_texture_3D, GL_OES_texture_float, GL_OES_texture_float_linear, GL_OES_texture_half_float, GL_OES_texture_half_float_linear, GL_OES_texture_npot, GL_OES_vertex_array_object, GL_OES_vertex_half_float, GL_SGIS_generate_mipmap, GL_SGIS_texture_lod, GL_SGIX_depth_texture, GL_SGIX_shadow, GL_SUN_slice_accum 192 GLX Visuals visual x bf lv rg d st colorbuffer sr ax dp st accumbuffer ms cav id dep cl sp sz l ci b ro r g b a F gb bf th cl r g b a ns b eat ---------------------------------------------------------------------------- 0x021 24 tc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 0 0 None 0x022 24 dc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 0 0 None 0x024 24 tc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 0 0 None 0x025 24 tc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 0 0 None 0x026 24 tc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 0 0 None 0x027 24 tc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 0 0 None 0x028 24 tc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 0 0 None 0x029 24 tc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 0 0 None 0x02a 24 tc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 0 0 None 0x02b 24 tc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 0 0 None 0x02c 24 tc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 0 0 None 0x02d 24 tc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 0 0 None 0x02e 24 tc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 0 0 None 0x02f 24 tc 0 32 0 r y . 8 8 8 0 . . 4 0 0 16 16 16 16 0 0 None 0x030 24 tc 0 32 0 r y . 8 8 8 8 . . 4 0 0 16 16 16 16 0 0 None 0x031 24 tc 0 32 0 r . . 8 8 8 0 . . 4 0 0 16 16 16 16 0 0 None 0x032 24 tc 0 32 0 r . . 8 8 8 8 . . 4 0 0 16 16 16 16 0 0 None 0x033 24 tc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 2 1 Ncon 0x034 24 tc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 2 1 Ncon 0x035 24 tc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 4 1 Ncon 0x036 24 tc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 4 1 Ncon 0x037 24 tc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 2 1 Ncon 0x038 24 tc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 2 1 Ncon 0x039 24 tc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 4 1 Ncon 0x03a 24 tc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 4 1 Ncon 0x03b 24 tc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 2 1 Ncon 0x03c 24 tc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 2 1 Ncon 0x03d 24 tc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 4 1 Ncon 0x03e 24 tc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 4 1 Ncon 0x03f 24 tc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 2 1 Ncon 0x040 24 tc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 2 1 Ncon 0x041 24 tc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 4 1 Ncon 0x042 24 tc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 4 1 Ncon 0x043 24 tc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 2 1 Ncon 0x044 24 tc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 2 1 Ncon 0x045 24 tc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 4 1 Ncon 0x046 24 tc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 4 1 Ncon 0x047 24 tc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 2 1 Ncon 0x048 24 tc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 2 1 Ncon 0x049 24 tc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 4 1 Ncon 0x04a 24 tc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 4 1 Ncon 0x04b 24 tc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 8 1 Ncon 0x04c 24 tc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 8 1 Ncon 0x04d 24 tc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 16 1 Ncon 0x04e 24 tc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 16 1 Ncon 0x04f 24 tc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 8 1 Ncon 0x050 24 tc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 8 1 Ncon 0x051 24 tc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 16 1 Ncon 0x052 24 tc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 16 1 Ncon 0x053 24 tc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 8 1 Ncon 0x054 24 tc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 8 1 Ncon 0x055 24 tc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 16 1 Ncon 0x056 24 tc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 16 1 Ncon 0x057 24 tc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 8 1 Ncon 0x058 24 tc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 8 1 Ncon 0x059 24 tc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 16 1 Ncon 0x05a 24 tc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 16 1 Ncon 0x05b 24 tc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 8 1 Ncon 0x05c 24 tc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 8 1 Ncon 0x05d 24 tc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 16 1 Ncon 0x05e 24 tc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 16 1 Ncon 0x05f 24 tc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 8 1 Ncon 0x060 24 tc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 8 1 Ncon 0x061 24 tc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 16 1 Ncon 0x062 24 tc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 16 1 Ncon 0x063 24 dc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 0 0 None 0x064 24 dc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 0 0 None 0x065 24 dc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 0 0 None 0x066 24 dc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 0 0 None 0x067 24 dc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 0 0 None 0x068 24 dc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 0 0 None 0x069 24 dc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 0 0 None 0x06a 24 dc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 0 0 None 0x06b 24 dc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 0 0 None 0x06c 24 dc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 0 0 None 0x06d 24 dc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 0 0 None 0x06e 24 dc 0 32 0 r y . 8 8 8 0 . . 4 0 0 16 16 16 16 0 0 None 0x06f 24 dc 0 32 0 r y . 8 8 8 8 . . 4 0 0 16 16 16 16 0 0 None 0x070 24 dc 0 32 0 r . . 8 8 8 0 . . 4 0 0 16 16 16 16 0 0 None 0x071 24 dc 0 32 0 r . . 8 8 8 8 . . 4 0 0 16 16 16 16 0 0 None 0x072 24 dc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 2 1 Ncon 0x073 24 dc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 2 1 Ncon 0x074 24 dc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 4 1 Ncon 0x075 24 dc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 4 1 Ncon 0x076 24 dc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 2 1 Ncon 0x077 24 dc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 2 1 Ncon 0x078 24 dc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 4 1 Ncon 0x079 24 dc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 4 1 Ncon 0x07a 24 dc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 2 1 Ncon 0x07b 24 dc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 2 1 Ncon 0x07c 24 dc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 4 1 Ncon 0x07d 24 dc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 4 1 Ncon 0x07e 24 dc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 2 1 Ncon 0x07f 24 dc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 2 1 Ncon 0x080 24 dc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 4 1 Ncon 0x081 24 dc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 4 1 Ncon 0x082 24 dc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 2 1 Ncon 0x083 24 dc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 2 1 Ncon 0x084 24 dc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 4 1 Ncon 0x085 24 dc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 4 1 Ncon 0x086 24 dc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 2 1 Ncon 0x087 24 dc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 2 1 Ncon 0x088 24 dc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 4 1 Ncon 0x089 24 dc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 4 1 Ncon 0x08a 24 dc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 8 1 Ncon 0x08b 24 dc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 8 1 Ncon 0x08c 24 dc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 16 1 Ncon 0x08d 24 dc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 16 1 Ncon 0x08e 24 dc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 8 1 Ncon 0x08f 24 dc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 8 1 Ncon 0x090 24 dc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 16 1 Ncon 0x091 24 dc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 16 1 Ncon 0x092 24 dc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 8 1 Ncon 0x093 24 dc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 8 1 Ncon 0x094 24 dc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 16 1 Ncon 0x095 24 dc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 16 1 Ncon 0x096 24 dc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 8 1 Ncon 0x097 24 dc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 8 1 Ncon 0x098 24 dc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 16 1 Ncon 0x099 24 dc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 16 1 Ncon 0x09a 24 dc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 8 1 Ncon 0x09b 24 dc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 8 1 Ncon 0x09c 24 dc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 16 1 Ncon 0x09d 24 dc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 16 1 Ncon 0x09e 24 dc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 8 1 Ncon 0x09f 24 dc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 8 1 Ncon 0x0a0 24 dc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 16 1 Ncon 0x0a1 24 dc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 16 1 Ncon 0x023 32 tc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 0 0 None 0x0a2 32 tc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 0 0 None 0x0a3 32 tc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 0 0 None 0x0a4 32 tc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 0 0 None 0x0a5 32 tc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 0 0 None 0x0a6 32 tc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 0 0 None 0x0a7 32 tc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 0 0 None 0x0a8 32 tc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 0 0 None 0x0a9 32 tc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 0 0 None 0x0aa 32 tc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 0 0 None 0x0ab 32 tc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 0 0 None 0x0ac 32 tc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 0 0 None 0x0ad 32 tc 0 32 0 r y . 8 8 8 0 . . 4 0 0 16 16 16 16 0 0 None 0x0ae 32 tc 0 32 0 r y . 8 8 8 8 . . 4 0 0 16 16 16 16 0 0 None 0x0af 32 tc 0 32 0 r . . 8 8 8 0 . . 4 0 0 16 16 16 16 0 0 None 0x0b0 32 tc 0 32 0 r . . 8 8 8 8 . . 4 0 0 16 16 16 16 0 0 None 0x0b1 32 tc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 2 1 Ncon 0x0b2 32 tc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 2 1 Ncon 0x0b3 32 tc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 4 1 Ncon 0x0b4 32 tc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 4 1 Ncon 0x0b5 32 tc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 2 1 Ncon 0x0b6 32 tc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 2 1 Ncon 0x0b7 32 tc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 4 1 Ncon 0x0b8 32 tc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 4 1 Ncon 0x0b9 32 tc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 2 1 Ncon 0x0ba 32 tc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 2 1 Ncon 0x0bb 32 tc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 4 1 Ncon 0x0bc 32 tc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 4 1 Ncon 0x0bd 32 tc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 2 1 Ncon 0x0be 32 tc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 2 1 Ncon 0x0bf 32 tc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 4 1 Ncon 0x0c0 32 tc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 4 1 Ncon 0x0c1 32 tc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 2 1 Ncon 0x0c2 32 tc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 2 1 Ncon 0x0c3 32 tc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 4 1 Ncon 0x0c4 32 tc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 4 1 Ncon 0x0c5 32 tc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 2 1 Ncon 0x0c6 32 tc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 2 1 Ncon 0x0c7 32 tc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 4 1 Ncon 0x0c8 32 tc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 4 1 Ncon 0x0c9 32 tc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 8 1 Ncon 0x0ca 32 tc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 8 1 Ncon 0x0cb 32 tc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 16 1 Ncon 0x0cc 32 tc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 16 1 Ncon 0x0cd 32 tc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 8 1 Ncon 0x0ce 32 tc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 8 1 Ncon 0x0cf 32 tc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 16 1 Ncon 0x0d0 32 tc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 16 1 Ncon 0x0d1 32 tc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 8 1 Ncon 0x0d2 32 tc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 8 1 Ncon 0x0d3 32 tc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 16 1 Ncon 0x0d4 32 tc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 16 1 Ncon 0x0d5 32 tc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 8 1 Ncon 0x0d6 32 tc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 8 1 Ncon 0x0d7 32 tc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 16 1 Ncon 0x0d8 32 tc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 16 1 Ncon 0x0d9 32 tc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 8 1 Ncon 0x0da 32 tc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 8 1 Ncon 0x0db 32 tc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 16 1 Ncon 0x0dc 32 tc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 16 1 Ncon 0x0dd 32 tc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 8 1 Ncon 0x0de 32 tc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 8 1 Ncon 0x0df 32 tc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 16 1 Ncon 0x0e0 32 tc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 16 1 Ncon 251 GLXFBConfigs: visual x bf lv rg d st colorbuffer sr ax dp st accumbuffer ms cav id dep cl sp sz l ci b ro r g b a F gb bf th cl r g b a ns b eat ---------------------------------------------------------------------------- 0x0e1 24 tc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 0 0 None 0x0e2 24 dc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 0 0 None 0x0e3 24 tc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 0 0 None 0x0e4 24 dc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 0 0 None 0x0e5 24 tc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 0 0 None 0x0e6 24 dc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 0 0 None 0x0e7 24 tc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 0 0 None 0x0e8 24 dc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 0 0 None 0x0e9 24 tc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 0 0 None 0x0ea 24 dc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 0 0 None 0x0eb 24 tc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 0 0 None 0x0ec 24 dc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 0 0 None 0x0ed 24 tc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 0 0 None 0x0ee 24 dc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 0 0 None 0x0ef 24 tc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 0 0 None 0x0f0 24 dc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 0 0 None 0x0f1 24 tc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 0 0 None 0x0f2 24 dc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 0 0 None 0x0f3 24 tc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 0 0 None 0x0f4 24 dc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 0 0 None 0x0f5 24 tc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 0 0 None 0x0f6 24 dc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 0 0 None 0x0f7 24 tc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 0 0 None 0x0f8 24 dc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 0 0 None 0x0f9 24 tc 0 32 0 r y . 8 8 8 0 . . 4 0 0 16 16 16 16 0 0 None 0x0fa 24 dc 0 32 0 r y . 8 8 8 0 . . 4 0 0 16 16 16 16 0 0 None 0x0fb 24 tc 0 32 0 r y . 8 8 8 8 . . 4 0 0 16 16 16 16 0 0 None 0x0fc 24 dc 0 32 0 r y . 8 8 8 8 . . 4 0 0 16 16 16 16 0 0 None 0x0fd 24 tc 0 32 0 r . . 8 8 8 0 . . 4 0 0 16 16 16 16 0 0 None 0x0fe 24 dc 0 32 0 r . . 8 8 8 0 . . 4 0 0 16 16 16 16 0 0 None 0x0ff 24 tc 0 32 0 r . . 8 8 8 8 . . 4 0 0 16 16 16 16 0 0 None 0x100 24 dc 0 32 0 r . . 8 8 8 8 . . 4 0 0 16 16 16 16 0 0 None 0x101 24 tc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 2 1 Ncon 0x102 24 dc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 2 1 Ncon 0x103 24 tc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 2 1 Ncon 0x104 24 dc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 2 1 Ncon 0x105 24 tc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 4 1 Ncon 0x106 24 dc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 4 1 Ncon 0x107 24 tc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 4 1 Ncon 0x108 24 dc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 4 1 Ncon 0x109 24 tc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 2 1 Ncon 0x10a 24 dc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 2 1 Ncon 0x10b 24 tc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 2 1 Ncon 0x10c 24 dc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 2 1 Ncon 0x10d 24 tc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 4 1 Ncon 0x10e 24 dc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 4 1 Ncon 0x10f 24 tc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 4 1 Ncon 0x110 24 dc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 4 1 Ncon 0x111 24 tc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 2 1 Ncon 0x112 24 dc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 2 1 Ncon 0x113 24 tc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 2 1 Ncon 0x114 24 dc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 2 1 Ncon 0x115 24 tc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 4 1 Ncon 0x116 24 dc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 4 1 Ncon 0x117 24 tc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 4 1 Ncon 0x118 24 dc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 4 1 Ncon 0x119 24 tc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 2 1 Ncon 0x11a 24 dc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 2 1 Ncon 0x11b 24 tc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 2 1 Ncon 0x11c 24 dc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 2 1 Ncon 0x11d 24 tc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 4 1 Ncon 0x11e 24 dc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 4 1 Ncon 0x11f 24 tc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 4 1 Ncon 0x120 24 dc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 4 1 Ncon 0x121 24 tc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 2 1 Ncon 0x122 24 dc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 2 1 Ncon 0x123 24 tc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 2 1 Ncon 0x124 24 dc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 2 1 Ncon 0x125 24 tc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 4 1 Ncon 0x126 24 dc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 4 1 Ncon 0x127 24 tc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 4 1 Ncon 0x128 24 dc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 4 1 Ncon 0x129 24 tc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 2 1 Ncon 0x12a 24 dc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 2 1 Ncon 0x12b 24 tc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 2 1 Ncon 0x12c 24 dc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 2 1 Ncon 0x12d 24 tc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 4 1 Ncon 0x12e 24 dc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 4 1 Ncon 0x12f 24 tc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 4 1 Ncon 0x130 24 dc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 4 1 Ncon 0x131 24 tc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 8 1 Ncon 0x132 24 dc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 8 1 Ncon 0x133 24 tc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 8 1 Ncon 0x134 24 dc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 8 1 Ncon 0x135 24 tc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 16 1 Ncon 0x136 24 dc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 16 1 Ncon 0x137 24 tc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 16 1 Ncon 0x138 24 dc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 16 1 Ncon 0x139 24 tc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 8 1 Ncon 0x13a 24 dc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 8 1 Ncon 0x13b 24 tc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 8 1 Ncon 0x13c 24 dc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 8 1 Ncon 0x13d 24 tc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 16 1 Ncon 0x13e 24 dc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 16 1 Ncon 0x13f 24 tc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 16 1 Ncon 0x140 24 dc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 16 1 Ncon 0x141 24 tc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 8 1 Ncon 0x142 24 dc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 8 1 Ncon 0x143 24 tc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 8 1 Ncon 0x144 24 dc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 8 1 Ncon 0x145 24 tc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 16 1 Ncon 0x146 24 dc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 16 1 Ncon 0x147 24 tc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 16 1 Ncon 0x148 24 dc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 16 1 Ncon 0x149 24 tc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 8 1 Ncon 0x14a 24 dc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 8 1 Ncon 0x14b 24 tc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 8 1 Ncon 0x14c 24 dc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 8 1 Ncon 0x14d 24 tc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 16 1 Ncon 0x14e 24 dc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 16 1 Ncon 0x14f 24 tc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 16 1 Ncon 0x150 24 dc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 16 1 Ncon 0x151 24 tc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 8 1 Ncon 0x152 24 dc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 8 1 Ncon 0x153 24 tc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 8 1 Ncon 0x154 24 dc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 8 1 Ncon 0x155 24 tc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 16 1 Ncon 0x156 24 dc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 16 1 Ncon 0x157 24 tc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 16 1 Ncon 0x158 24 dc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 16 1 Ncon 0x159 24 tc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 8 1 Ncon 0x15a 24 dc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 8 1 Ncon 0x15b 24 tc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 8 1 Ncon 0x15c 24 dc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 8 1 Ncon 0x15d 24 tc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 16 1 Ncon 0x15e 24 dc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 16 1 Ncon 0x15f 24 tc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 16 1 Ncon 0x160 24 dc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 16 1 Ncon 0x161 32 tc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 0 0 None 0x162 32 tc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 0 0 None 0x163 32 tc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 0 0 None 0x164 32 tc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 0 0 None 0x165 32 tc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 0 0 None 0x166 32 tc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 0 0 None 0x167 32 tc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 0 0 None 0x168 32 tc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 0 0 None 0x169 32 tc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 0 0 None 0x16a 32 tc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 0 0 None 0x16b 32 tc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 0 0 None 0x16c 32 tc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 0 0 None 0x16d 32 tc 0 32 0 r y . 8 8 8 0 . . 4 0 0 16 16 16 16 0 0 None 0x16e 32 tc 0 32 0 r y . 8 8 8 8 . . 4 0 0 16 16 16 16 0 0 None 0x16f 32 tc 0 32 0 r . . 8 8 8 0 . . 4 0 0 16 16 16 16 0 0 None 0x170 32 tc 0 32 0 r . . 8 8 8 8 . . 4 0 0 16 16 16 16 0 0 None 0x171 32 tc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 2 1 Ncon 0x172 32 tc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 2 1 Ncon 0x173 32 tc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 4 1 Ncon 0x174 32 tc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 4 1 Ncon 0x175 32 tc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 2 1 Ncon 0x176 32 tc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 2 1 Ncon 0x177 32 tc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 4 1 Ncon 0x178 32 tc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 4 1 Ncon 0x179 32 tc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 2 1 Ncon 0x17a 32 tc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 2 1 Ncon 0x17b 32 tc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 4 1 Ncon 0x17c 32 tc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 4 1 Ncon 0x17d 32 tc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 2 1 Ncon 0x17e 32 tc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 2 1 Ncon 0x17f 32 tc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 4 1 Ncon 0x180 32 tc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 4 1 Ncon 0x181 32 tc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 2 1 Ncon 0x182 32 tc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 2 1 Ncon 0x183 32 tc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 4 1 Ncon 0x184 32 tc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 4 1 Ncon 0x185 32 tc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 2 1 Ncon 0x186 32 tc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 2 1 Ncon 0x187 32 tc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 4 1 Ncon 0x188 32 tc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 4 1 Ncon 0x189 32 tc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 8 1 Ncon 0x18a 32 tc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 8 1 Ncon 0x18b 32 tc 0 32 0 r y . 8 8 8 0 . . 4 16 0 16 16 16 16 16 1 Ncon 0x18c 32 tc 0 32 0 r y . 8 8 8 8 . . 4 16 0 16 16 16 16 16 1 Ncon 0x18d 32 tc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 8 1 Ncon 0x18e 32 tc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 8 1 Ncon 0x18f 32 tc 0 32 0 r . . 8 8 8 0 . . 4 16 0 16 16 16 16 16 1 Ncon 0x190 32 tc 0 32 0 r . . 8 8 8 8 . . 4 16 0 16 16 16 16 16 1 Ncon 0x191 32 tc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 8 1 Ncon 0x192 32 tc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 8 1 Ncon 0x193 32 tc 0 32 0 r y . 8 8 8 0 . . 4 24 0 16 16 16 16 16 1 Ncon 0x194 32 tc 0 32 0 r y . 8 8 8 8 . . 4 24 0 16 16 16 16 16 1 Ncon 0x195 32 tc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 8 1 Ncon 0x196 32 tc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 8 1 Ncon 0x197 32 tc 0 32 0 r . . 8 8 8 0 . . 4 24 0 16 16 16 16 16 1 Ncon 0x198 32 tc 0 32 0 r . . 8 8 8 8 . . 4 24 0 16 16 16 16 16 1 Ncon 0x199 32 tc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 8 1 Ncon 0x19a 32 tc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 8 1 Ncon 0x19b 32 tc 0 32 0 r y . 8 8 8 0 . . 4 24 8 16 16 16 16 16 1 Ncon 0x19c 32 tc 0 32 0 r y . 8 8 8 8 . . 4 24 8 16 16 16 16 16 1 Ncon 0x19d 32 tc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 8 1 Ncon 0x19e 32 tc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 8 1 Ncon 0x19f 32 tc 0 32 0 r . . 8 8 8 0 . . 4 24 8 16 16 16 16 16 1 Ncon 0x1a0 32 tc 0 32 0 r . . 8 8 8 8 . . 4 24 8 16 16 16 16 16 1 Ncon 0x1a1 0 sg 0 16 0 r y . 5 6 5 0 . . 4 16 0 16 16 16 16 0 0 None 0x1a2 0 sg 0 16 0 r . . 5 6 5 0 . . 4 16 0 16 16 16 16 0 0 None 0x1a3 0 sg 0 16 0 r y . 5 6 5 0 . . 4 24 0 16 16 16 16 0 0 None 0x1a4 0 sg 0 16 0 r . . 5 6 5 0 . . 4 24 0 16 16 16 16 0 0 None 0x1a5 0 sg 0 16 0 r y . 5 6 5 0 . . 4 24 8 16 16 16 16 0 0 None 0x1a6 0 sg 0 16 0 r . . 5 6 5 0 . . 4 24 8 16 16 16 16 0 0 None 0x1a7 0 sg 0 16 0 r y . 5 6 5 0 . . 4 0 0 16 16 16 16 0 0 None 0x1a8 0 sg 0 16 0 r . . 5 6 5 0 . . 4 0 0 16 16 16 16 0 0 None 0x1a9 0 sg 0 0 0 r . . 0 0 0 0 . . 4 16 0 16 16 16 16 0 0 None 0x1aa 0 sg 0 0 0 r . . 0 0 0 0 . . 4 24 0 16 16 16 16 0 0 None 0x1ab 0 sg 0 0 0 r . . 0 0 0 0 . . 4 24 8 16 16 16 16 0 0 None 0x1ac 0 sg 0 32 0 r . . 16 16 0 0 f . 4 0 0 16 16 16 16 0 0 None 0x1ad 0 sg 0 32 0 . . 16 16 0 0 f . 4 0 0 16 16 16 16 0 0 None 0x1ae 0 sg 0 32 0 r y . 16 16 0 0 f . 4 0 0 16 16 16 16 0 0 None 0x1af 0 sg 0 32 0 y . 16 16 0 0 f . 4 0 0 16 16 16 16 0 0 None 0x1b0 0 sg 0 32 0 r . . 32 0 0 0 f . 4 0 0 16 16 16 16 0 0 None 0x1b1 0 sg 0 32 0 . . 32 0 0 0 f . 4 0 0 16 16 16 16 0 0 None 0x1b2 0 sg 0 32 0 r y . 32 0 0 0 f . 4 0 0 16 16 16 16 0 0 None 0x1b3 0 sg 0 32 0 y . 32 0 0 0 f . 4 0 0 16 16 16 16 0 0 None 0x1b4 0 sg 0 64 0 r . . 16 16 16 16 f . 4 0 0 16 16 16 16 0 0 None 0x1b5 0 sg 0 64 0 . . 16 16 16 16 f . 4 0 0 16 16 16 16 0 0 None 0x1b6 0 sg 0 64 0 r y . 16 16 16 16 f . 4 0 0 16 16 16 16 0 0 None 0x1b7 0 sg 0 64 0 y . 16 16 16 16 f . 4 0 0 16 16 16 16 0 0 None 0x1b8 0 sg 0 128 0 r . . 32 32 32 32 f . 4 0 0 16 16 16 16 0 0 None 0x1b9 0 sg 0 128 0 . . 32 32 32 32 f . 4 0 0 16 16 16 16 0 0 None 0x1ba 0 sg 0 128 0 r y . 32 32 32 32 f . 4 0 0 16 16 16 16 0 0 None 0x1bb 0 sg 0 128 0 y . 32 32 32 32 f . 4 0 0 16 16 16 16 0 0 None 0x1bc 0 sg 0 32 0 r . . 16 16 0 0 f . 4 24 0 16 16 16 16 0 0 None 0x1bd 0 sg 0 32 0 . . 16 16 0 0 f . 4 24 0 16 16 16 16 0 0 None 0x1be 0 sg 0 32 0 r y . 16 16 0 0 f . 4 24 0 16 16 16 16 0 0 None 0x1bf 0 sg 0 32 0 y . 16 16 0 0 f . 4 24 0 16 16 16 16 0 0 None 0x1c0 0 sg 0 32 0 r . . 16 16 0 0 f . 4 24 8 16 16 16 16 0 0 None 0x1c1 0 sg 0 32 0 . . 16 16 0 0 f . 4 24 8 16 16 16 16 0 0 None 0x1c2 0 sg 0 32 0 r y . 16 16 0 0 f . 4 24 8 16 16 16 16 0 0 None 0x1c3 0 sg 0 32 0 y . 16 16 0 0 f . 4 24 8 16 16 16 16 0 0 None 0x1c4 0 sg 0 32 0 r . . 32 0 0 0 f . 4 24 0 16 16 16 16 0 0 None 0x1c5 0 sg 0 32 0 . . 32 0 0 0 f . 4 24 0 16 16 16 16 0 0 None 0x1c6 0 sg 0 32 0 r y . 32 0 0 0 f . 4 24 0 16 16 16 16 0 0 None 0x1c7 0 sg 0 32 0 y . 32 0 0 0 f . 4 24 0 16 16 16 16 0 0 None 0x1c8 0 sg 0 32 0 r . . 32 0 0 0 f . 4 24 8 16 16 16 16 0 0 None 0x1c9 0 sg 0 32 0 . . 32 0 0 0 f . 4 24 8 16 16 16 16 0 0 None 0x1ca 0 sg 0 32 0 r y . 32 0 0 0 f . 4 24 8 16 16 16 16 0 0 None 0x1cb 0 sg 0 32 0 y . 32 0 0 0 f . 4 24 8 16 16 16 16 0 0 None 0x1cc 0 sg 0 64 0 r . . 16 16 16 16 f . 4 24 0 16 16 16 16 0 0 None 0x1cd 0 sg 0 64 0 . . 16 16 16 16 f . 4 24 0 16 16 16 16 0 0 None 0x1ce 0 sg 0 64 0 r y . 16 16 16 16 f . 4 24 0 16 16 16 16 0 0 None 0x1cf 0 sg 0 64 0 y . 16 16 16 16 f . 4 24 0 16 16 16 16 0 0 None 0x1d0 0 sg 0 64 0 r . . 16 16 16 16 f . 4 24 8 16 16 16 16 0 0 None 0x1d1 0 sg 0 64 0 . . 16 16 16 16 f . 4 24 8 16 16 16 16 0 0 None 0x1d2 0 sg 0 64 0 r y . 16 16 16 16 f . 4 24 8 16 16 16 16 0 0 None 0x1d3 0 sg 0 64 0 y . 16 16 16 16 f . 4 24 8 16 16 16 16 0 0 None 0x1d4 0 sg 0 128 0 r . . 32 32 32 32 f . 4 24 0 16 16 16 16 0 0 None 0x1d5 0 sg 0 128 0 . . 32 32 32 32 f . 4 24 0 16 16 16 16 0 0 None 0x1d6 0 sg 0 128 0 r y . 32 32 32 32 f . 4 24 0 16 16 16 16 0 0 None 0x1d7 0 sg 0 128 0 y . 32 32 32 32 f . 4 24 0 16 16 16 16 0 0 None 0x1d8 0 sg 0 128 0 r . . 32 32 32 32 f . 4 24 8 16 16 16 16 0 0 None 0x1d9 0 sg 0 128 0 . . 32 32 32 32 f . 4 24 8 16 16 16 16 0 0 None 0x1da 0 sg 0 128 0 r y . 32 32 32 32 f . 4 24 8 16 16 16 16 0 0 None 0x1db 0 sg 0 128 0 y . 32 32 32 32 f . 4 24 8 16 16 16 16 0 0 None -- GPG Fingerprint 8666 7F9A 17E7 AC8E CC36 1D1E C707 D658 6685 2528 The views expressed in this e-mail may or may not reflect those of the author and do not necessarily reflect those of Isotek Oil and Gas Ltd. |
From: Yann G. <ygo...@is...> - 2012-06-01 08:42:05
|
I am trying to run the demo code (the bouncing ball) and I am getting a segmentation fault (core dumped). Debugging output and other system informations are included below and glxinfo output is attached. I suspect that it is a graphical driver error. I use the NVidia drivers and have included that top of the /var/log/Xorg.O.log files. However, I am rather stuck. Anyone seen this before? ; env VPYTHON_DEBUG=1 python ball.py VPython: ./python/cvisualmodule.cpp:144: Importing cvisual from vpython-core2. VPython: ./gtk2/display.cpp:64: Opening a window from Python. VPython: ./gtk2/display.cpp:458: Starting GUI thread. VPython: ./gtk2/display.cpp:475: Adding new display object at address 0x1141ed0 VPython: ./core/display_kernel.cpp:1566: display_kernel::set_visible -- did gil_release gil VPython: ./core/display_kernel.cpp:1568: display_kernel::set_visible -- executed lock VPython: ./core/display_kernel.cpp:1569: display_kernel::set_visible -- next, enter while loop VPython: ./core/display_kernel.cpp:1571: display_kernel::set_visible - waiting1 VPython: ./core/display_kernel.cpp:323: Querying the list of OpenGL extensions. zsh: segmentation fault (core dumped) env VPYTHON_DEBUG=1 python ball.py ; uname -a Linux wolf.isotek.co.uk 3.3.7-1.fc16.x86_64 #1 SMP Tue May 22 13:59:39 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux ; python -V Python 2.7.3 ; yum list python-visual [...] Installed Packages python-visual.x86_64 5.71-2.fc16 @fedora ; cat /var/log/Xorg.0.log [ 1186.235] X.Org X Server 1.11.4 Release Date: 2012-01-27 [ 1186.235] X Protocol Version 11, Revision 0 [ 1186.235] Build Operating System: x86-01 2.6.32-220.4.1.el6.x86_64 [ 1186.235] Current Operating System: Linux wolf.isotek.co.uk 3.3.7-1.fc16.x86_64 #1 SMP Tue May 22 13:59:39 UTC 2012 x86_64 [ 1186.235] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.3.7-1.fc16.x86_64 root=/dev/mapper/vg_wolf-fedoraLatest ro rd.md=0 rd.dm=0 quiet rdblacklist=nouveau nouveau.modeset=0 rd.lvm.lv=vg_wolf/fedoraLatest rhgb KEYTABLE=uk rd.luks=0 SYSFONT=latarcyrheb-sun16 rd.lvm.lv=vg_wolf/swap LANG=en_US.UTF-8 [ 1186.235] Build Date: 27 March 2012 05:11:41AM [ 1186.235] Build ID: xorg-x11-server 1.11.4-3.fc16 [ 1186.235] Current version of pixman: 0.24.4 [...] -- GPG Fingerprint 8666 7F9A 17E7 AC8E CC36 1D1E C707 D658 6685 2528 The views expressed in this e-mail may or may not reflect those of the author and do not necessarily reflect those of Isotek Oil and Gas Ltd. |
From: Jerzy K. <jer...@un...> - 2012-05-22 09:00:37
|
Bruce Sherwood : > I too thought of a way to introduce a callback, by using threads (this > is based on the scheme used in the graphing module, vis/graph.py, to > enable the feature that dragging the mouse shows crosshairs on a > graph). > > from visual import * > ... > while True: > rate(100) > if run: b.rotate(angle=.01, axis=(0,1,0)) This is nice and may be very useful; in general I think that VP is underused in the domain of simulation (+visu+measuring, for pedagogical purposes) despite quite a number of applications. But you might remember our short discussion some months ago. I discovered that rate() doesn't work well with threads in general. This directive introduces a time-consumming loop. The event processing with timers should be low-level (in my understanding of this stuff). The best. Jerzy Karczmarczuk |
From: Bruce S. <Bru...@nc...> - 2012-05-21 23:03:53
|
I too thought of a way to introduce a callback, by using threads (this is based on the scheme used in the graphing module, vis/graph.py, to enable the feature that dragging the mouse shows crosshairs on a graph). from visual import * import time from threading import Thread, RLock lock = RLock() run = True class timer(Thread): # This timer thread watches for mouse events. def run(self): global run while True: time.sleep(0.05) lock.acquire() if scene.mouse.clicked: scene.mouse.getclick() run = not run lock.release() b = box() thr = timer() thr.start() while True: rate(100) if run: b.rotate(angle=.01, axis=(0,1,0)) |
From: Jerzy K. <jer...@un...> - 2012-05-21 20:52:43
|
Bruce Sherwood answers : > I can't think of a way to do that within the existing structure. to: > Sophie: >> Is there any way to do event-driven programming, with callbacks for mouse or keyboard events? I would rather not use the polling style shown in example on the web site. >> Event-driven style is not magic, and if you will to pay the price of some indirections, YOU CAN implement it yourself. You may also introduce "user events" not related to any hardware action, but which implement asynchronous loops. This small program is a very primitive "planetary system", with looping and mouse/keyboard control based on "events". Alt-click adds a random planet, just click stops the motion. There is nothing more. http://users.info.unicaen.fr/~karczma/TEACH/Anima/Progs/psystem.py Good luck. Jerzy Karczmarczuk |