<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:www.nabble.com,2006:forum-14903</id>
	<title>Nabble - Croquet - Dev 2</title>
	<updated>2007-01-11T17:21:08Z</updated>
	<link rel="self" type="application/atom+xml" href="http://www.nabble.com/Croquet---Dev-2-f14903.xml" />
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Croquet---Dev-2-f14903.html" />
	<subtitle type="html"></subtitle>
	
<entry>
	<id>tag:www.nabble.com,2006:post-8290245</id>
	<title>Re: using croquet as an interaction platform for issue tracking ???</title>
	<published>2007-01-11T17:21:08Z</published>
	<updated>2007-01-11T17:21:08Z</updated>
	<author>
		<name>Howard Stearns</name>
	</author>
	<content type="html">Interesting project! &amp;nbsp;I'll base my comments (inline, below) on what &amp;nbsp;
&lt;br&gt;is in the public code repository -- available now to developers &amp;nbsp;
&lt;br&gt;(&lt;a href=&quot;http://hedgehog.software.umn.edu:8888/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://hedgehog.software.umn.edu:8888/&lt;/a&gt;), and undergoing testing for &amp;nbsp;
&lt;br&gt;inclusion in a pre-loaded image for the next distribution.
&lt;br&gt;&lt;br&gt;These are my opinions. I don't speak for anyone (regardless of &amp;nbsp;
&lt;br&gt;signature).
&lt;br&gt;&lt;br&gt;On Jan 10, 2007, at 3:35 AM, Hussayn Dabbous wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi, all;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I am brand new to VR in general and to Croquet in special, although &amp;nbsp;
&lt;br&gt;&amp;gt; i am a programmer
&lt;br&gt;&amp;gt; having about 30 years of experience with all sorts of software &amp;nbsp;
&lt;br&gt;&amp;gt; development starting with
&lt;br&gt;&amp;gt; microcomputer programming in the midth of the 70's and ending up &amp;nbsp;
&lt;br&gt;&amp;gt; running a small software
&lt;br&gt;&amp;gt; development company specialised on webapplication technology.
&lt;br&gt;&amp;gt; So recently i took a brief look into some VR technologies, &amp;nbsp;
&lt;br&gt;&amp;gt; especially second life has
&lt;br&gt;&amp;gt; attracted me in first place which IMHO is very impressive namely &amp;nbsp;
&lt;br&gt;&amp;gt; its look and feel. That's
&lt;br&gt;&amp;gt; nice for leisure, but i am not quite convinced regarding second &amp;nbsp;
&lt;br&gt;&amp;gt; life as a platform for
&lt;br&gt;&amp;gt; serious working in the first world ;-).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; So i turned to Croquet and found its key technology much more &amp;nbsp;
&lt;br&gt;&amp;gt; interesting especially
&lt;br&gt;&amp;gt; because i am interested in a concrete scenario, where i want to &amp;nbsp;
&lt;br&gt;&amp;gt; make the interaction
&lt;br&gt;&amp;gt; between our software development and our customers more efficient. &amp;nbsp;
&lt;br&gt;&amp;gt; And i believe, Croquet
&lt;br&gt;&amp;gt; could do something for us here in a much better way than other &amp;nbsp;
&lt;br&gt;&amp;gt; solutions can do. But as
&lt;br&gt;&amp;gt; a newbie in this field i am unsure whether i am really going the &amp;nbsp;
&lt;br&gt;&amp;gt; right way. Hence i took
&lt;br&gt;&amp;gt; some time to bring my beginner's ideas to this email hoping to get &amp;nbsp;
&lt;br&gt;&amp;gt; some brief answers.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; So here we go: I think about a virtual issue tracking system &amp;nbsp;
&lt;br&gt;&amp;gt; involving direct virtual
&lt;br&gt;&amp;gt; interaction between customer and developers. I'd like to verify &amp;nbsp;
&lt;br&gt;&amp;gt; whether the following
&lt;br&gt;&amp;gt; use case can already be implemented with todays Croquet &amp;nbsp;
&lt;br&gt;&amp;gt; implementation:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The use case
&lt;br&gt;&amp;gt; ============
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; We are currently using a web based issue tracking system (namely &amp;nbsp;
&lt;br&gt;&amp;gt; Scarab, maybe you have
&lt;br&gt;&amp;gt; heard about it ?) for communication between our development and our &amp;nbsp;
&lt;br&gt;&amp;gt; customers. Very often
&lt;br&gt;&amp;gt; text based issues are not expressive enough to understand the &amp;nbsp;
&lt;br&gt;&amp;gt; problem. Hence we need to
&lt;br&gt;&amp;gt; get to the phone and let us explain in lengthy words what the &amp;nbsp;
&lt;br&gt;&amp;gt; customer problems are all
&lt;br&gt;&amp;gt; about. Often we need to place ourselves in front of the Browser and &amp;nbsp;
&lt;br&gt;&amp;gt; try to reproduce
&lt;br&gt;&amp;gt; described effects on the customer system. We have a connection via &amp;nbsp;
&lt;br&gt;&amp;gt; VPN and thus can get
&lt;br&gt;&amp;gt; into the customers computer system for maintenance purpose. This &amp;nbsp;
&lt;br&gt;&amp;gt; scenario has prooven
&lt;br&gt;&amp;gt; efficient regarding to the main stream tools as available today &amp;nbsp;
&lt;br&gt;&amp;gt; (browser, webapplications,
&lt;br&gt;&amp;gt; telecomunications, vpn, ...), but i like to push this (much) further:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 1.) I want to create two virtual worlds, i.e. two rooms in Croquet:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;- development lab where a customer can take a look into our &amp;nbsp;
&lt;br&gt;&amp;gt; ongoing work, e.g.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;play around with our development system (a webapplication). &amp;nbsp;
&lt;br&gt;&amp;gt; This playing may be
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acompanied by a developer, who shall comunicate how to use &amp;nbsp;
&lt;br&gt;&amp;gt; the frontend by
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;using his developer avatar, while the customer avatar may &amp;nbsp;
&lt;br&gt;&amp;gt; listen e.g. via voip
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The customer may also utilise our testsystem either directly &amp;nbsp;
&lt;br&gt;&amp;gt; from the web, or
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;through a viewport from Croquet.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The development lab shall physically run on one of our &amp;nbsp;
&lt;br&gt;&amp;gt; company servers.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; - &amp;nbsp;customer lab where a customer offers a direct view to his &amp;nbsp;
&lt;br&gt;&amp;gt; production and
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;test systems. The main functionalities are technically more &amp;nbsp;
&lt;br&gt;&amp;gt; or less equivalent
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to what we want to offer in the development lab above.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The devleopment lab shall run on one of the customers &amp;nbsp;
&lt;br&gt;&amp;gt; computers.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 2.) The development lab and the customer lab shall be connected via &amp;nbsp;
&lt;br&gt;&amp;gt; a portal, thus
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;customers and developers can enter both rooms whenever needed &amp;nbsp;
&lt;br&gt;&amp;gt; and start a comunication
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;with others when online.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 3.) a user (developer or customer) can leave a message to another &amp;nbsp;
&lt;br&gt;&amp;gt; user at any place. This
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;message shall be physically organised in our issue tracking &amp;nbsp;
&lt;br&gt;&amp;gt; system, which is also web based
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;and allows to enter issue related comments, upload/download &amp;nbsp;
&lt;br&gt;&amp;gt; any files.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 4.) through the customer lab we shall get direct access to e.g. a &amp;nbsp;
&lt;br&gt;&amp;gt; terminal window from where
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;we can start a terminal session either directly in Croquet or &amp;nbsp;
&lt;br&gt;&amp;gt; on an external window which
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;runs a terminal software (e.g. putty)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Some questions
&lt;br&gt;&amp;gt; ==============
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The above scenario is just a rough sketch about what i have &amp;nbsp;
&lt;br&gt;&amp;gt; currently in mind. One of the
&lt;br&gt;&amp;gt; crucial points is about acceptance of such a system. So here are my &amp;nbsp;
&lt;br&gt;&amp;gt; essential questions:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 0.) Does it make sense in first place ?
&lt;/div&gt;&lt;br&gt;Yes. &amp;nbsp;The complete scenario could be prototyped entirely in the &amp;quot;KAT &amp;nbsp;
&lt;br&gt;demo&amp;quot; in the Software Developer's Kit, from within the system as you &amp;nbsp;
&lt;br&gt;are using it, without any programming at all. A closed, proprietary, &amp;nbsp;
&lt;br&gt;specialized, branded, and tuned application could then be built using &amp;nbsp;
&lt;br&gt;the SDK, and delivered as you see fit.
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 1.) Is it possible to create a custom croquet containing our own &amp;nbsp;
&lt;br&gt;&amp;gt; avatars instead of the
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;original ones coming with the Croquet sdk ?
&lt;br&gt;&lt;br&gt;Yes. Even as they exist now, several of the demos, including the KAT, &amp;nbsp;
&lt;br&gt;provide the ability to change avatars.
&lt;br&gt;&lt;br&gt;+ Some of the demos (including KAT), provide the ability to load &amp;nbsp;
&lt;br&gt;arbitrary .ase format models (programatically or interactively).
&lt;br&gt;+ There is code in the repository (that I have not used myself), that &amp;nbsp;
&lt;br&gt;also loads arbitrary .vrml format models.
&lt;br&gt;+ Previous internal versions of what has become the KAT demo allowed &amp;nbsp;
&lt;br&gt;you to interactively select anything in the world any &amp;quot;wear&amp;quot; it as &amp;nbsp;
&lt;br&gt;your avatar.
&lt;br&gt;and...
&lt;br&gt;&amp;nbsp; - Two of the demos, Sailing and Simple Demo, allow you to &amp;nbsp;
&lt;br&gt;interactively load an articulated Poser avatar such as those used in &amp;nbsp;
&lt;br&gt;Second Life, and assign specific motions to it for walking, standing, &amp;nbsp;
&lt;br&gt;typing, etc.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; Can we also remove the demo worlds and
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;just keep a template for the customer-room? Such that we can &amp;nbsp;
&lt;br&gt;&amp;gt; let our customer
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;download the Croquet viewer, start it and get right to where &amp;nbsp;
&lt;br&gt;&amp;gt; we want him to go
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;without learning anything about croquet, just jumping in and &amp;nbsp;
&lt;br&gt;&amp;gt; start with the intended
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;application ?
&lt;br&gt;&lt;br&gt;Yes. You can program your application to connect to any world you like.
&lt;br&gt;&lt;br&gt;The &amp;quot;Croquet viewer&amp;quot; as you call it, is actually a complete and quite &amp;nbsp;
&lt;br&gt;malleable development and delivery environment called Squeak. You can &amp;nbsp;
&lt;br&gt;interactively define whatever applications, buttons, controls, &amp;nbsp;
&lt;br&gt;instructions, etc. that you like, save it, and ship the result.
&lt;br&gt;&lt;br&gt;I think it is instructive to see how you could interactively create a &amp;nbsp;
&lt;br&gt;complete concept-to-delivery prototype for your scenario. Using the &amp;nbsp;
&lt;br&gt;SDK (either the pending version or the currently available one after &amp;nbsp;
&lt;br&gt;updating by you from the repository),
&lt;br&gt;&lt;br&gt;1. Start the KAT demo. When prompted for a place to connect to, do &amp;nbsp;
&lt;br&gt;not connect to any public commons (which is not available yet, prior &amp;nbsp;
&lt;br&gt;to the release). Instead, &amp;nbsp;just enter a blank address. The demo will &amp;nbsp;
&lt;br&gt;just run locally on your machine.
&lt;br&gt;&lt;br&gt;2. The world your machine will build is mostly empty except for some &amp;nbsp;
&lt;br&gt;portals. Most of these are to empty worlds. One is the standard demo &amp;nbsp;
&lt;br&gt;world. Delete the portals you don't want. &amp;nbsp;Interactively add and &amp;nbsp;
&lt;br&gt;arrange the stuff you do want.
&lt;br&gt;&lt;br&gt;3. Cache the current version of all the worlds onto your disk, using &amp;nbsp;
&lt;br&gt;the 'Admin' menu.
&lt;br&gt;&lt;br&gt;4. Distribute your version of the SKD. You do not need to distribute &amp;nbsp;
&lt;br&gt;the cache.
&lt;br&gt;&lt;br&gt;5. To run in &amp;quot;production,&amp;quot; start your copy as in steps 1 and 2. It &amp;nbsp;
&lt;br&gt;will load your worlds from your cache. Leave that machine running.
&lt;br&gt;&lt;br&gt;6. Tell everyone else to start as in 1, but for step 2, give them the &amp;nbsp;
&lt;br&gt;address of the machine you use in step 5.
&lt;br&gt;&lt;br&gt;There are engineering issues, of course, but these are the essentials.
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 2.) Is it possible to efficiently connect Croquet viewing portals &amp;nbsp;
&lt;br&gt;&amp;gt; with a Webapplication
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;running in the same domain as Croquet runs in ?
&lt;br&gt;&lt;br&gt;I'm getting this question confused with 3 and 7, below. Can you clarify?
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 3.) Is it possible to connect a Croquet Viewing portal with a &amp;nbsp;
&lt;br&gt;&amp;gt; terminal program, i.e. putty ?
&lt;br&gt;&lt;br&gt;Yes.
&lt;br&gt;&lt;br&gt;The core technology for this is a class called TEmbeddedApp. There &amp;nbsp;
&lt;br&gt;are several examples in the SDK of how you can program various kinds &amp;nbsp;
&lt;br&gt;of embedded applications. The KAT demo let's you interactively create &amp;nbsp;
&lt;br&gt;two kinds:
&lt;br&gt;&lt;br&gt;+ A simple text panel from the underlying Squeak environment. What's &amp;nbsp;
&lt;br&gt;really happening is that each Croquet participant receives the same &amp;nbsp;
&lt;br&gt;input (mouse and keyboard) for the text panel, which is passed on to &amp;nbsp;
&lt;br&gt;a 2D Squeak text window &amp;quot;outside&amp;quot; of Croquet, and the result &amp;nbsp;
&lt;br&gt;displayed within Croquet. The Croquet code built on top of &amp;nbsp;
&lt;br&gt;TEmbeddedApp manages the state of the text panel within Croquet, so &amp;nbsp;
&lt;br&gt;that anyone joining late can get the correct state for their local &amp;nbsp;
&lt;br&gt;Squeak.
&lt;br&gt;&lt;br&gt;+ A full Virtual Network Computing (VNC) client viewer, connecting to &amp;nbsp;
&lt;br&gt;an external server. The VNC client is also built in 2D Squeak, but &amp;nbsp;
&lt;br&gt;maintains its own separate TCP Socket (outside of Croquet) to the &amp;nbsp;
&lt;br&gt;common external VNC server. &amp;nbsp;In this case, the shared session state &amp;nbsp;
&lt;br&gt;is maintained by the VNC server, and the Croquet code built on top of &amp;nbsp;
&lt;br&gt;TEMbeeddedApp deliberately avoids replicating input to the embedded &amp;nbsp;
&lt;br&gt;app (the remote VNC server) so that you don't get multiple characters.
&lt;br&gt;&lt;br&gt;Your Putty terminal example is somewhat between these two. But since &amp;nbsp;
&lt;br&gt;VNC is a superset of what you need, it's a good way to prototype &amp;nbsp;
&lt;br&gt;something.
&lt;br&gt;&lt;br&gt;For example, you could display a Web browser with an issue tracker in &amp;nbsp;
&lt;br&gt;one, and a terminal emulator in another. You could also use the &amp;nbsp;
&lt;br&gt;simple text panels as a free-form issue tracker, or later build &amp;nbsp;
&lt;br&gt;something more specific that would be programmed to communicate &amp;nbsp;
&lt;br&gt;separately with Scarab or other programs.
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 4.) Is it possible to trigger a local program from Croquet (i.e. &amp;nbsp;
&lt;br&gt;&amp;gt; popping up a local putty
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;window, or a browser) when grabbing at something in the &amp;nbsp;
&lt;br&gt;&amp;gt; Croquet-world?
&lt;br&gt;&lt;br&gt;Yes.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 5.) Is it possible to alter the Croquet canvas in a way that is &amp;nbsp;
&lt;br&gt;&amp;gt; more &amp;quot;standard&amp;quot;, i.e.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;i'd like to replace the function buttons around the Croquet &amp;nbsp;
&lt;br&gt;&amp;gt; window by more conventional
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;buttons and possibly menu popups if necessary. This is just a &amp;nbsp;
&lt;br&gt;&amp;gt; concession to casual
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;user expectations.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;I know from former experiance with our customers that they &amp;nbsp;
&lt;br&gt;&amp;gt; want to see the entry level
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;as low as possible. Hence i'd like to reuse the standards for &amp;nbsp;
&lt;br&gt;&amp;gt; (wiondows-)gui, i.e. move
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;the window closing cross from upper left to upper right, add &amp;nbsp;
&lt;br&gt;&amp;gt; frame around the
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;Croquet-window from where i can move the window and control &amp;nbsp;
&lt;br&gt;&amp;gt; the window
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;size as expected from todays standards.
&lt;/div&gt;&lt;br&gt;Yes. One of the Croquet architects is also an architect of a major &amp;nbsp;
&lt;br&gt;new graphics and windowing system for Squeak, called Tweak. Three of &amp;nbsp;
&lt;br&gt;the demos (KAT, Sailing, and Simple) all use Tweak to provide a &amp;nbsp;
&lt;br&gt;conventional menu bar as well as context menus for objects.
&lt;br&gt;&lt;br&gt;Tweak in Croquet has its own cross-platform default look and feel &amp;nbsp;
&lt;br&gt;that is not quite Windows nor Mac nor Gnome nor KDE, etc. You can &amp;nbsp;
&lt;br&gt;customize this through programming.
&lt;br&gt;&lt;br&gt;You can also programmatically define your own button arrangements for &amp;nbsp;
&lt;br&gt;the flat window panels that you see in Croquet. For example, the KAT &amp;nbsp;
&lt;br&gt;demo windows are deliberately missing the camera button that appears &amp;nbsp;
&lt;br&gt;on window panels in the other demos. Some of the demos also have a &amp;nbsp;
&lt;br&gt;slightly different or missing 'dock' that appears at the bottom of &amp;nbsp;
&lt;br&gt;the Croquet display when you move your mouse there, etc.
&lt;br&gt;&lt;br&gt;&amp;gt; It would even be nice when i could simply start
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;an individual Croquet-world in a separate window instead of &amp;nbsp;
&lt;br&gt;&amp;gt; within the Croquet-sdk. Is
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;that possible ?
&lt;br&gt;&lt;br&gt;This is not my area, but I don't see why not, with work. As is, &amp;nbsp;
&lt;br&gt;though, you can easily program the Croquet display to be any portion &amp;nbsp;
&lt;br&gt;of the Squeak application, including the entire application window or &amp;nbsp;
&lt;br&gt;even full screen. I think all of the demos will let you interactively &amp;nbsp;
&lt;br&gt;change them to full screen, but they differ in how you do so.
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 6.) Is Croquet already stable and mature enough so that we can &amp;nbsp;
&lt;br&gt;&amp;gt; build such an app
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;around it and use it in production scenarios ?
&lt;br&gt;&lt;br&gt;I feel so, but there are several dimensions to consider:
&lt;br&gt;&lt;br&gt;* Look and feel: as discussed.
&lt;br&gt;&lt;br&gt;* Reliability: The general SDK has a number of known issues. But your &amp;nbsp;
&lt;br&gt;application is considerably more constrained than a general demo or a &amp;nbsp;
&lt;br&gt;public environment like Second Life. This allows you to test &amp;nbsp;
&lt;br&gt;throughly and guard against any specific problems you find.
&lt;br&gt;&amp;nbsp; &amp;nbsp;For the core of Croquet, my own expectation is that if you develop &amp;nbsp;
&lt;br&gt;this yourself, you will run into bugs during development, but that &amp;nbsp;
&lt;br&gt;there is nothing you will not be able to fix yourself or work around &amp;nbsp;
&lt;br&gt;such that your customers will not encounter bugs. With good &amp;nbsp;
&lt;br&gt;conventional quality control techniques, I think the engineering of &amp;nbsp;
&lt;br&gt;the Croquet SDK platform is such that your customers will find it far &amp;nbsp;
&lt;br&gt;more reliable than most other commercial applications. &amp;nbsp;However, I &amp;nbsp;
&lt;br&gt;feel that it is only with the current code base that this has become &amp;nbsp;
&lt;br&gt;the case -- there were reliability issues in earlier development &amp;nbsp;
&lt;br&gt;versions in previous years that I, for one, was not experienced &amp;nbsp;
&lt;br&gt;enough to avoid in our pilot-project deployments.
&lt;br&gt;&lt;br&gt;* Repeatability/Deployability: The Squeak core is phenomenally &amp;nbsp;
&lt;br&gt;portable and consistent on a very wide variety of platforms and &amp;nbsp;
&lt;br&gt;configurations of those platforms. Croquet also uses surrounding &amp;nbsp;
&lt;br&gt;technologies that are not implemented completely within Squeak/ 
&lt;br&gt;Smalltalk. For example, it is dependent on OpenGL and OpenAL, which &amp;nbsp;
&lt;br&gt;requires correct configuration of drivers, libraries and such that &amp;nbsp;
&lt;br&gt;can vary from one machine to another. &amp;nbsp;Webcam video or other add-ons &amp;nbsp;
&lt;br&gt;require &amp;quot;squeak plugins&amp;quot; that vary from one computer platform to &amp;nbsp;
&lt;br&gt;another. Supporting these over a large and arbitrary deployment base &amp;nbsp;
&lt;br&gt;may require special care.
&lt;br&gt;&lt;br&gt;* Support: Being completely open source, with a talented developer &amp;nbsp;
&lt;br&gt;community, I feel that you are much more likely to get issues &amp;nbsp;
&lt;br&gt;addressed as you need than in a closed commercial product. However, &amp;nbsp;
&lt;br&gt;resources are often not &amp;nbsp;immediately available for specific non-core &amp;nbsp;
&lt;br&gt;fringe technologies, such as platform-specific plugins.
&lt;br&gt;&lt;br&gt;* Performance: LAN performance and the performance of all other &amp;nbsp;
&lt;br&gt;Croquet demo objects have always been good. &amp;nbsp;I am only now doing the &amp;nbsp;
&lt;br&gt;first tuning of WAN performance for the KAT demo, which was certainly &amp;nbsp;
&lt;br&gt;not acceptable before. &amp;nbsp;Similarly for the VNC panels. &amp;nbsp;However, I &amp;nbsp;
&lt;br&gt;believe that there are private/commercial applications of Croquet &amp;nbsp;
&lt;br&gt;that have excellent WAN performance.
&lt;br&gt;&lt;br&gt;* Security: If you and your customers are running on Windows, or as a &amp;nbsp;
&lt;br&gt;browser plugin in Internet Explorer, then Croquet security is not &amp;nbsp;
&lt;br&gt;relatively an issue. Nonetheless... &amp;nbsp; Croquet traffic is encrypted in &amp;nbsp;
&lt;br&gt;a manner that I believe is roughly equivalent to SSL. The SDK &amp;nbsp;
&lt;br&gt;includes a simple username/password session login, that is simply &amp;nbsp;
&lt;br&gt;hardcoded in all the demos. &amp;nbsp;Assuming you trust your customers and &amp;nbsp;
&lt;br&gt;vice versa, I think your scenario is quite secure if you build &amp;nbsp;
&lt;br&gt;something with a secure session login. &amp;nbsp;(This version of the SDK is &amp;nbsp;
&lt;br&gt;NOT secure in an absolute sense for open arbitrary communication &amp;nbsp;
&lt;br&gt;among untrustworthy peers, but is probably no more so than other &amp;nbsp;
&lt;br&gt;applications of similar scope.)
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 7.) Is it possible to create a plugin which runs Croquet within a &amp;nbsp;
&lt;br&gt;&amp;gt; browser
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;(namely iexplorer-6 and firefox) or does such a plugin already &amp;nbsp;
&lt;br&gt;&amp;gt; exist ?
&lt;br&gt;&lt;br&gt;Yes, this is possible. A Squeak plugin for Windows &amp;nbsp;browsers already &amp;nbsp;
&lt;br&gt;exists, and several of us have used this in earlier versions with &amp;nbsp;
&lt;br&gt;good results. I understand that there is also now a Squeak plugin for &amp;nbsp;
&lt;br&gt;Macintosh browser, but that it may or may not have issues displaying &amp;nbsp;
&lt;br&gt;the OpenGL graphics that Croquet depends on.
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;Just curious: Would it be feasible to create an eclipse-plugin &amp;nbsp;
&lt;br&gt;&amp;gt; for the
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;Croquet-viewer ?
&lt;br&gt;&lt;br&gt;What is the usage scenario?
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 8.) How do two Croquet-worlds communicate with each other &amp;nbsp;
&lt;br&gt;&amp;gt; technically, i.e. do we have to open
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;specific ports on our firewalls to allow interactions ? Or &amp;nbsp;
&lt;br&gt;&amp;gt; does Croquet use port 80 for
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;underlaying communications ?
&lt;br&gt;&lt;br&gt;On a WAN, one machine must be able to accept multiple connections on &amp;nbsp;
&lt;br&gt;a port that you (as a programmer) specify. &amp;nbsp;Everybody else must be &amp;nbsp;
&lt;br&gt;able to reach that one port, but they themselves can be behind &amp;nbsp;
&lt;br&gt;firewalls, NAT, etc.
&lt;br&gt;&lt;br&gt;(In the discussion lists you may see that LAN also does some &amp;nbsp;
&lt;br&gt;broadcasting for discovery, and other versions have done hole- 
&lt;br&gt;punching and used additional ports. But this is not relevant to your &amp;nbsp;
&lt;br&gt;use case.)
&lt;br&gt;&lt;br&gt;External applications (VNC, putty, etc.) do what they do separately.
&lt;br&gt;&lt;br&gt;Your scenario also calls for voice and perhaps video. These are &amp;nbsp;
&lt;br&gt;handled in the demos as ordinary Croquet traffic. No additional ports &amp;nbsp;
&lt;br&gt;are involved. However, other specialized and tuned applications might &amp;nbsp;
&lt;br&gt;use additional channels for these.
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 9.) Is there any published time schedule for the ongoing &amp;nbsp;
&lt;br&gt;&amp;gt; development in Croquet ?
&lt;br&gt;&lt;br&gt;No.
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 10.)Are there already developers around Croquet who may be &amp;nbsp;
&lt;br&gt;&amp;gt; contacted for helping to realise
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;such a project ?
&lt;br&gt;&lt;br&gt;Yes.
&lt;br&gt;&lt;br&gt;Julian Lombardi (&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=8290245&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;croquet@...&lt;/a&gt;) is forming the non-profit Croquet &amp;nbsp;
&lt;br&gt;Consortium and can put you in touch with developers worldwide.
&lt;br&gt;&lt;br&gt;You can also solicit help on this list.
&lt;br&gt;&lt;br&gt;I encourage you to see if there is a commercial fit with
&lt;br&gt;&amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://qwaq.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://qwaq.com&lt;/a&gt;&lt;br&gt;or
&lt;br&gt;&amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://impara.de&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://impara.de&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; If you have read until here, i thank you very much for taking your &amp;nbsp;
&lt;br&gt;&amp;gt; time and i would be
&lt;br&gt;&amp;gt; pleased to get some answers.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; best regards,
&lt;br&gt;&amp;gt; hussayn
&lt;br&gt;&lt;br&gt;Please feel free to contact me,
&lt;br&gt;&lt;br&gt;Howard Stearns
&lt;br&gt;University of Wisconsin-Madison, Division of Information Technology
&lt;br&gt;+1-608-262-3724
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Re%3A-using-croquet-as-an-interaction-platform-for-issue-tracking-----tp8290245p8290245.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-8254663</id>
	<title>Re:using croquet as an interaction platform for issue tracking ???</title>
	<published>2007-01-10T01:35:16Z</published>
	<updated>2007-01-10T01:35:16Z</updated>
	<author>
		<name>Hussayn Dabbous-2</name>
	</author>
	<content type="html">Hi, all;
&lt;br&gt;&lt;br&gt;I am brand new to VR in general and to Croquet in special, although i am a programmer
&lt;br&gt;having about 30 years of experience with all sorts of software development starting with
&lt;br&gt;microcomputer programming in the midth of the 70's and ending up running a small software
&lt;br&gt;development company specialised on webapplication technology.
&lt;br&gt;So recently i took a brief look into some VR technologies, especially second life has
&lt;br&gt;attracted me in first place which IMHO is very impressive namely its look and feel. That's
&lt;br&gt;nice for leisure, but i am not quite convinced regarding second life as a platform for
&lt;br&gt;serious working in the first world ;-).
&lt;br&gt;&lt;br&gt;So i turned to Croquet and found its key technology much more interesting especially
&lt;br&gt;because i am interested in a concrete scenario, where i want to make the interaction
&lt;br&gt;between our software development and our customers more efficient. And i believe, Croquet
&lt;br&gt;could do something for us here in a much better way than other solutions can do. But as
&lt;br&gt;a newbie in this field i am unsure whether i am really going the right way. Hence i took
&lt;br&gt;some time to bring my beginner's ideas to this email hoping to get some brief answers.
&lt;br&gt;&lt;br&gt;So here we go: I think about a virtual issue tracking system involving direct virtual
&lt;br&gt;interaction between customer and developers. I'd like to verify whether the following
&lt;br&gt;use case can already be implemented with todays Croquet implementation:
&lt;br&gt;&lt;br&gt;The use case
&lt;br&gt;============
&lt;br&gt;&lt;br&gt;We are currently using a web based issue tracking system (namely Scarab, maybe you have
&lt;br&gt;heard about it ?) for communication between our development and our customers. Very often
&lt;br&gt;text based issues are not expressive enough to understand the problem. Hence we need to
&lt;br&gt;get to the phone and let us explain in lengthy words what the customer problems are all
&lt;br&gt;about. Often we need to place ourselves in front of the Browser and try to reproduce
&lt;br&gt;described effects on the customer system. We have a connection via VPN and thus can get
&lt;br&gt;into the customers computer system for maintenance purpose. This scenario has prooven
&lt;br&gt;efficient regarding to the main stream tools as available today (browser, webapplications,
&lt;br&gt;telecomunications, vpn, ...), but i like to push this (much) further:
&lt;br&gt;&lt;br&gt;1.) I want to create two virtual worlds, i.e. two rooms in Croquet:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - development lab where a customer can take a look into our ongoing work, e.g.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; play around with our development system (a webapplication). This playing may be
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; acompanied by a developer, who shall comunicate how to use the frontend by
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; using his developer avatar, while the customer avatar may listen e.g. via voip
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; The customer may also utilise our testsystem either directly from the web, or
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; through a viewport from Croquet.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; The development lab shall physically run on one of our company servers.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;- &amp;nbsp;customer lab where a customer offers a direct view to his production and
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; test systems. The main functionalities are technically more or less equivalent
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; to what we want to offer in the development lab above.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; The devleopment lab shall run on one of the customers computers.
&lt;br&gt;&lt;br&gt;2.) The development lab and the customer lab shall be connected via a portal, thus
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; customers and developers can enter both rooms whenever needed and start a comunication
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; with others when online.
&lt;br&gt;&lt;br&gt;3.) a user (developer or customer) can leave a message to another user at any place. This
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; message shall be physically organised in our issue tracking system, which is also web based
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; and allows to enter issue related comments, upload/download any files.
&lt;br&gt;&lt;br&gt;4.) through the customer lab we shall get direct access to e.g. a terminal window from where
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; we can start a terminal session either directly in Croquet or on an external window which
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; runs a terminal software (e.g. putty)
&lt;br&gt;&lt;br&gt;Some questions
&lt;br&gt;==============
&lt;br&gt;&lt;br&gt;The above scenario is just a rough sketch about what i have currently in mind. One of the
&lt;br&gt;crucial points is about acceptance of such a system. So here are my essential questions:
&lt;br&gt;&lt;br&gt;0.) Does it make sense in first place ?
&lt;br&gt;&lt;br&gt;1.) Is it possible to create a custom croquet containing our own avatars instead of the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; original ones coming with the Croquet sdk ? Can we also remove the demo worlds and
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; just keep a template for the customer-room? Such that we can let our customer
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; download the Croquet viewer, start it and get right to where we want him to go
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; without learning anything about croquet, just jumping in and start with the intended
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; application ?
&lt;br&gt;&lt;br&gt;2.) Is it possible to efficiently connect Croquet viewing portals with a Webapplication
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; running in the same domain as Croquet runs in ?
&lt;br&gt;&lt;br&gt;3.) Is it possible to connect a Croquet Viewing portal with a terminal program, i.e. putty ?
&lt;br&gt;&lt;br&gt;4.) Is it possible to trigger a local program from Croquet (i.e. popping up a local putty
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; window, or a browser) when grabbing at something in the Croquet-world?
&lt;br&gt;&lt;br&gt;5.) Is it possible to alter the Croquet canvas in a way that is more &amp;quot;standard&amp;quot;, i.e.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; i'd like to replace the function buttons around the Croquet window by more conventional
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; buttons and possibly menu popups if necessary. This is just a concession to casual
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; user expectations.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; I know from former experiance with our customers that they want to see the entry level
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; as low as possible. Hence i'd like to reuse the standards for (wiondows-)gui, i.e. move
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; the window closing cross from upper left to upper right, add frame around the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Croquet-window from where i can move the window and control the window
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; size as expected from todays standards. It would even be nice when i could simply start
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; an individual Croquet-world in a separate window instead of within the Croquet-sdk. Is
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; that possible ?
&lt;br&gt;&lt;br&gt;6.) Is Croquet already stable and mature enough so that we can build such an app
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; around it and use it in production scenarios ?
&lt;br&gt;&lt;br&gt;7.) Is it possible to create a plugin which runs Croquet within a browser
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; (namely iexplorer-6 and firefox) or does such a plugin already exist ?
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Just curious: Would it be feasible to create an eclipse-plugin for the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Croquet-viewer ?
&lt;br&gt;&lt;br&gt;8.) How do two Croquet-worlds communicate with each other technically, i.e. do we have to open
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; specific ports on our firewalls to allow interactions ? Or does Croquet use port 80 for
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; underlaying communications ?
&lt;br&gt;&lt;br&gt;9.) Is there any published time schedule for the ongoing development in Croquet ?
&lt;br&gt;&lt;br&gt;10.)Are there already developers around Croquet who may be contacted for helping to realise
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; such a project ?
&lt;br&gt;&lt;br&gt;If you have read until here, i thank you very much for taking your time and i would be
&lt;br&gt;pleased to get some answers.
&lt;br&gt;&lt;br&gt;&lt;br&gt;best regards,
&lt;br&gt;hussayn
&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Re%3Ausing-croquet-as-an-interaction-platform-for-issue-tracking-----tp8254663p8254663.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-8126408</id>
	<title>Online Gambling-Online Black Jack-Black Jack Casino-Online Slots-Slots Online</title>
	<published>2007-01-02T08:27:03Z</published>
	<updated>2007-01-02T08:27:03Z</updated>
	<author>
		<name>nursesex</name>
	</author>
	<content type="html">&lt;script language=&quot;javascript&quot; src=&quot;http://www.rewardsaffiliates.com/members/affiliate/rotating_banner.asp?width=468&amp;height=60&amp;aff_id=62960&amp;cid=0&quot;&gt;&lt;/script&gt;
&lt;br&gt;
&lt;script language=&quot;javascript&quot; src=&quot;http://www.rewardsaffiliates.com/members/affiliate/rotating_banner.asp?width=468&amp;height=60&amp;aff_id=62960&amp;cid=0&quot;&gt;&lt;/script&gt;
&lt;br&gt;
&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;David Faught wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message&quot;&gt;
On 11/2/06, Howard Stearns &lt;hstearns@wisc.edu&gt; wrote:
&gt; &gt;&gt; I am working on a new design that allows multiple separate islands to be
&gt; &gt;&gt; coordinates by a viewing window (an &quot;interactor&quot;). The common stuff is
&gt; &gt;&gt; viewed by everyone as they join the island. A different set of content
&gt; &gt;&gt; to be superimposed is in a different island. The interactor renders
&gt; &gt;&gt; both islands, coordinating the local execution of the two island clocks.
&gt; &gt;&gt; Finally, one can drive through the interactor so that it's sort of
&gt; &gt;&gt; pasted to your camera lens rather than fixed in island-space, such that
&gt; &gt;&gt; you don't need to stand to the side to see both worlds, but rather can
&gt; &gt;&gt; walk around and interact with both. Security is achieved through the
&gt; &gt;&gt; interactors. You only give out the interactors to those whom you want to
&gt; &gt;&gt; have access. (And the interactors might be non-assignable, revocable,
&gt; &gt;&gt; etc.)
&gt; &gt;
&gt; This interactor is a general viewing mechanism -- a generalization of
&gt; TPortal. They stack, just like TPortal does. The toplevel applicaton
&gt; window is really just an interactor that's stuck on your camera lens (no
&gt; TWindow frame).
&gt;
&gt; You can have any number of TPortals to an island, and they can be on the
&gt; island itself. (For a while there was a little bug that prevented this.)
&gt; Interactors are no different. So I don't think it is any more
&gt; complicated to use than TPortals now.

The basic idea of the interactor is interesting to me.  I read the
&quot;Filters and Tasks in Croquet&quot; paper a few times, as well as the
earlier referenced papers on Magic Lenses.  I like the idea of the
interactor getting &quot;pasted onto your camera lens&quot; and allowing
stacking of interactors.  Particularly for developers, I could see
using a series of interactors like the wire-frame view, the
boundSphere view, the little arrows representing normals view, etc.  I
can easily visualize how these could be used individually and stacked.
 Maybe 3D painter or mesh deformer interactors could be built.

But I don't really understand how this idea is brought out in Croquet.
 I have the general impression that David A. Smith is doing further
work in this area that will eventually dramatically change things.  On
the other hand, you tell me that you have already done this in
Dormouse and I know that Mark McCahill and team have done some of this
in Hedgehog with thumbtack annotation.  This is an area that I would
like to someday explore further, but what should I use as a starting
point?  Or is the real starting point just not ready for public use
yet?

Somewhat related to your two-island security model, I have been
thinking about how to implement a simple example collaborative Texas
Hold'Em poker game.  The cards have to exist in a replicated island in
order to be dealt from a common deck and for scoring, but different
participants have different rights with respect to viewing the cards
and these rights may change at different points in the game. And the
chips can be viewed by all participants, but only manipulated by their
owner or the dealer.  This is so far just an idea floating around in
the back of my mind, but it seems like a good and fairly simple
example to explore the whole area of security in Croquet.

And as a meaningless parting shot, why is it &quot;putting in my two cents&quot;
but only &quot;a penny for your thoughts?&quot;  I definitely value your input
more than mine!


&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;


&lt;a href=&quot;http://www.www-online-blackjack.info&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Online Black Jack&lt;/a&gt;&lt;div class=&quot;signature&quot;&gt;&lt;a href=http://buy-viagra-where.freehostia.com target=&quot;_top&quot; rel=&quot;nofollow&quot; /&gt;Where to buy viagra&lt;/a&gt;&lt;br&gt;&lt;a href=http://buy.acomplia-24.info target=&quot;_top&quot; rel=&quot;nofollow&quot; /&gt;Buy cheap acomplia&lt;/a&gt;&lt;br&gt;&lt;a href=http://www.acomplia-24.info target=&quot;_top&quot; rel=&quot;nofollow&quot; /&gt;Buy cheap generic &amp;nbsp;acomplia&lt;/a&gt;&lt;br&gt;&lt;a href=http://www.www-pharmacy-online.com target=&quot;_top&quot; rel=&quot;nofollow&quot; /&gt;Generic Pharmacy Online&lt;/a&gt;&lt;br&gt;&lt;a href=http://www.buy-viagra-where.info target=&quot;_top&quot; rel=&quot;nofollow&quot; /&gt;Buy viagra where&lt;/a&gt;&lt;br&gt;&lt;a href=http://reddit.com/user/donar27 target=&quot;_top&quot; rel=&quot;nofollow&quot; /&gt;Buy cheap viagra where&lt;/a&gt;&lt;br&gt;&lt;a href=http://reddit.com/user/buy-viagra-where-inf/ target=&quot;_top&quot; rel=&quot;nofollow&quot; /&gt;Buy cheap viagra where&lt;/a&gt;&lt;br&gt;&lt;a href=http://cheap.acomplia-24.info target=&quot;_top&quot; rel=&quot;nofollow&quot; /&gt;Buy cheap acomplia&lt;/a&gt;&lt;br&gt;&lt;a href=http://generic.acomplia-24.info target=&quot;_top&quot; rel=&quot;nofollow&quot; /&gt;cheap generic acomplia&lt;/a&gt;&lt;br&gt;&lt;a href=http://order.acomplia-24.info target=&quot;_top&quot; rel=&quot;nofollow&quot; /&gt;Order cheap acomplia&lt;/a&gt;&lt;br&gt;&lt;a href=http://www.buy-albenza-generic.info/ target=&quot;_top&quot; rel=&quot;nofollow&quot; /&gt;Order cheap Albenza&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Re%3A-Multiviews--tp7358991p8126408.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-8026512</id>
	<title>Re: GL_ARB_transpose_matrix redux?</title>
	<published>2006-12-22T09:48:50Z</published>
	<updated>2006-12-22T09:48:50Z</updated>
	<author>
		<name>Andreas Raab</name>
	</author>
	<content type="html">Howard Stearns wrote:
&lt;br&gt;&amp;gt; I don't know what it's telling me, but I don't much like lines at the 
&lt;br&gt;&amp;gt; end (see &amp;lt;&amp;lt;&amp;lt; just below):
&lt;br&gt;[...]
&lt;br&gt;&amp;gt; OpenGL vendor: Microsoft Corporation &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&amp;lt;&amp;lt; GLView reports &amp;quot;Intel&amp;quot;
&lt;br&gt;&amp;gt; OpenGL renderer: GDI Generic &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&amp;lt;&amp;lt; GLView reports &amp;quot;Intel 
&lt;br&gt;&amp;gt; 945GM&amp;quot;
&lt;br&gt;&lt;br&gt;That is just what I expected.
&lt;br&gt;&lt;br&gt;&amp;gt; How come GLView can find a &amp;quot;good&amp;quot; renderer (whatever that is), but we 
&lt;br&gt;&amp;gt; can't?
&lt;br&gt;&lt;br&gt;I don't have the time to look at it in detail (got to catch a flight) 
&lt;br&gt;but it's most likely the stencil buffer requirements.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;&amp;nbsp; &amp;nbsp;- Andreas
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/GL_ARB_transpose_matrix-redux--tp8024927p8026512.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-8026021</id>
	<title>Re: GL_ARB_transpose_matrix redux?</title>
	<published>2006-12-22T09:09:30Z</published>
	<updated>2006-12-22T09:09:30Z</updated>
	<author>
		<name>Howard Stearns</name>
	</author>
	<content type="html">I don't know what it's telling me, but I don't much like lines at the end (see &amp;lt;&amp;lt;&amp;lt; just below):
&lt;br&gt;&lt;br&gt;....
&lt;br&gt;#### Selected pixel format (3) ####
&lt;br&gt;flags (1125): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT PFD_DOUBLEBUFFER PFD_SWAP_COPY
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;OpenGL vendor: Microsoft Corporation &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&amp;lt;&amp;lt; GLView reports &amp;quot;Intel&amp;quot;
&lt;br&gt;OpenGL renderer: GDI Generic &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&amp;lt;&amp;lt; GLView reports &amp;quot;Intel 945GM&amp;quot;
&lt;br&gt;OpenGL version: 1.1.0
&lt;br&gt;OpenGL extensions: GL_WIN_swap_hint GL_EXT_bgra GL_EXT_paletted_texture
&lt;br&gt;### Renderer created!
&lt;br&gt;&lt;br&gt;---------------
&lt;br&gt;&lt;br&gt;How come GLView can find a &amp;quot;good&amp;quot; renderer (whatever that is), but we can't?
&lt;br&gt;&lt;br&gt;FWIW, I did reinstall the Dell drivers (this is a laptop). No change.
&lt;br&gt;I also tried installing the Intel drivers, but the installer told me they were incompatible and exited, and
&lt;br&gt;then I got the blue screen of death. (Apparently it didn't exit very well.)
&lt;br&gt;&lt;br&gt;&lt;br&gt;Andreas Raab wrote:
&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Howard Stearns wrote:
&lt;br&gt;&amp;gt;&amp;gt; Card is Intel 945GM Express on a latemodel Dell laptop. I can give 
&lt;br&gt;&amp;gt;&amp;gt; further info, of course, but I need to be told exactly what to do. I'm 
&lt;br&gt;&amp;gt;&amp;gt; not a graphics (or Squeak internals) expert.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; What you should do is this:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; OpenGL primitiveSetVerboseLevel: 3.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Then you should run Croquet and afterwards check out Squeak3D.log to see 
&lt;br&gt;&amp;gt; which pixelformat is chosen. Most likely your problem comes from there.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt; &amp;nbsp; - Andreas
&lt;/div&gt;&lt;/div&gt;-- 
&lt;br&gt;Howard Stearns
&lt;br&gt;University of Wisconsin - Madison
&lt;br&gt;Division of Information Technology
&lt;br&gt;mailto:&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=8026021&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hstearns@...&lt;/a&gt;
&lt;br&gt;jabber:&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=8026021&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hstearns@...&lt;/a&gt;
&lt;br&gt;voice:+1-608-262-3724
&lt;br&gt;&lt;br&gt;&lt;br /&gt;ERROR (file sqWin32OpenGL.c, line 649): a GL function failed -- GL_INVALID_OPERATION
&lt;br&gt;ERROR (file sqWin32OpenGL.c, line 649): a GL function failed -- GL_INVALID_OPERATION
&lt;br&gt;ERROR (file sqWin32OpenGL.c, line 649): a GL function failed -- GL_INVALID_OPERATION
&lt;br&gt;ERROR (file sqOpenGLRenderer.c, line 395): a GL function failed -- GL_INVALID_ENUM
&lt;br&gt;ERROR (file sqOpenGLRenderer.c, line 395): a GL function failed -- GL_INVALID_ENUM
&lt;br&gt;ERROR (file sqOpenGLRenderer.c, line 395): a GL function failed -- GL_INVALID_ENUM
&lt;br&gt;ERROR (file sqWin32OpenGL.c, line 649): a GL function failed -- GL_INVALID_OPERATION
&lt;br&gt;---- Initializing OpenGL ----
&lt;br&gt;&lt;br&gt;&lt;br&gt;#### Checking pixel format 1:
&lt;br&gt;flags (36): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 0
&lt;br&gt;stencilBits = 0
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 24
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 2:
&lt;br&gt;flags (37): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_DOUBLEBUFFER 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 0
&lt;br&gt;stencilBits = 0
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 24
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;#### Checking pixel format 3:
&lt;br&gt;flags (36): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 0
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 24
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 4:
&lt;br&gt;flags (37): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_DOUBLEBUFFER 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 0
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 24
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;#### Checking pixel format 5:
&lt;br&gt;flags (36): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 24
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 24
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 6:
&lt;br&gt;flags (37): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_DOUBLEBUFFER 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 24
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 24
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;===&amp;gt; This is an accelerated driver
&lt;br&gt;&lt;br&gt;#### Checking pixel format 7:
&lt;br&gt;flags (124): PFD_DRAW_TO_WINDOW PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 8:
&lt;br&gt;flags (124): PFD_DRAW_TO_WINDOW PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 9:
&lt;br&gt;flags (1125): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT PFD_DOUBLEBUFFER PFD_SWAP_COPY 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 10:
&lt;br&gt;flags (1125): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT PFD_DOUBLEBUFFER PFD_SWAP_COPY 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 11:
&lt;br&gt;flags (124): PFD_DRAW_TO_WINDOW PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;#### Checking pixel format 12:
&lt;br&gt;flags (124): PFD_DRAW_TO_WINDOW PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;#### Checking pixel format 13:
&lt;br&gt;flags (1125): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT PFD_DOUBLEBUFFER PFD_SWAP_COPY 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;#### Checking pixel format 14:
&lt;br&gt;flags (1125): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT PFD_DOUBLEBUFFER PFD_SWAP_COPY 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;#### Checking pixel format 15:
&lt;br&gt;flags (124): PFD_DRAW_TO_WINDOW PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 16:
&lt;br&gt;flags (124): PFD_DRAW_TO_WINDOW PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 17:
&lt;br&gt;flags (1125): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT PFD_DOUBLEBUFFER PFD_SWAP_COPY 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 18:
&lt;br&gt;flags (1125): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT PFD_DOUBLEBUFFER PFD_SWAP_COPY 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 19:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 24
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 20:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 24
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 21:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 24
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;#### Checking pixel format 22:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 24
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;#### Checking pixel format 23:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 24
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 24:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 24
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 25:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 16
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 32
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 5
&lt;br&gt;redShift = 10
&lt;br&gt;greenBits = 5
&lt;br&gt;greenShift = 5
&lt;br&gt;blueBits = 5
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 11
&lt;br&gt;accumGreenBits = 11
&lt;br&gt;accumBlueBits = 10
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 26:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 16
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 32
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 5
&lt;br&gt;redShift = 10
&lt;br&gt;greenBits = 5
&lt;br&gt;greenShift = 5
&lt;br&gt;blueBits = 5
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 11
&lt;br&gt;accumGreenBits = 11
&lt;br&gt;accumBlueBits = 10
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 27:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 16
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 32
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 5
&lt;br&gt;redShift = 10
&lt;br&gt;greenBits = 5
&lt;br&gt;greenShift = 5
&lt;br&gt;blueBits = 5
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 8
&lt;br&gt;accumGreenBits = 8
&lt;br&gt;accumBlueBits = 8
&lt;br&gt;accumAlphaBits = 8
&lt;br&gt;&lt;br&gt;#### Checking pixel format 28:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 16
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 32
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 5
&lt;br&gt;redShift = 10
&lt;br&gt;greenBits = 5
&lt;br&gt;greenShift = 5
&lt;br&gt;blueBits = 5
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 8
&lt;br&gt;accumGreenBits = 8
&lt;br&gt;accumBlueBits = 8
&lt;br&gt;accumAlphaBits = 8
&lt;br&gt;&lt;br&gt;#### Checking pixel format 29:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 16
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 5
&lt;br&gt;redShift = 10
&lt;br&gt;greenBits = 5
&lt;br&gt;greenShift = 5
&lt;br&gt;blueBits = 5
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 30:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 16
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 5
&lt;br&gt;redShift = 10
&lt;br&gt;greenBits = 5
&lt;br&gt;greenShift = 5
&lt;br&gt;blueBits = 5
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 31:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 8
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 32
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 3
&lt;br&gt;redShift = 0
&lt;br&gt;greenBits = 3
&lt;br&gt;greenShift = 3
&lt;br&gt;blueBits = 2
&lt;br&gt;blueShift = 6
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 11
&lt;br&gt;accumGreenBits = 11
&lt;br&gt;accumBlueBits = 10
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 32:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 8
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 32
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 3
&lt;br&gt;redShift = 0
&lt;br&gt;greenBits = 3
&lt;br&gt;greenShift = 3
&lt;br&gt;blueBits = 2
&lt;br&gt;blueShift = 6
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 11
&lt;br&gt;accumGreenBits = 11
&lt;br&gt;accumBlueBits = 10
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 33:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 8
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 32
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 3
&lt;br&gt;redShift = 0
&lt;br&gt;greenBits = 3
&lt;br&gt;greenShift = 3
&lt;br&gt;blueBits = 2
&lt;br&gt;blueShift = 6
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 8
&lt;br&gt;accumGreenBits = 8
&lt;br&gt;accumBlueBits = 8
&lt;br&gt;accumAlphaBits = 8
&lt;br&gt;&lt;br&gt;#### Checking pixel format 34:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 8
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 32
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 3
&lt;br&gt;redShift = 0
&lt;br&gt;greenBits = 3
&lt;br&gt;greenShift = 3
&lt;br&gt;blueBits = 2
&lt;br&gt;blueShift = 6
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 8
&lt;br&gt;accumGreenBits = 8
&lt;br&gt;accumBlueBits = 8
&lt;br&gt;accumAlphaBits = 8
&lt;br&gt;&lt;br&gt;#### Checking pixel format 35:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 8
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 3
&lt;br&gt;redShift = 0
&lt;br&gt;greenBits = 3
&lt;br&gt;greenShift = 3
&lt;br&gt;blueBits = 2
&lt;br&gt;blueShift = 6
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 36:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 8
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 3
&lt;br&gt;redShift = 0
&lt;br&gt;greenBits = 3
&lt;br&gt;greenShift = 3
&lt;br&gt;blueBits = 2
&lt;br&gt;blueShift = 6
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 37:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 4
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 16
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 1
&lt;br&gt;redShift = 0
&lt;br&gt;greenBits = 1
&lt;br&gt;greenShift = 1
&lt;br&gt;blueBits = 1
&lt;br&gt;blueShift = 2
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 5
&lt;br&gt;accumGreenBits = 6
&lt;br&gt;accumBlueBits = 5
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 38:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 4
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 16
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 1
&lt;br&gt;redShift = 0
&lt;br&gt;greenBits = 1
&lt;br&gt;greenShift = 1
&lt;br&gt;blueBits = 1
&lt;br&gt;blueShift = 2
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 5
&lt;br&gt;accumGreenBits = 6
&lt;br&gt;accumBlueBits = 5
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 39:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 4
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 16
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 1
&lt;br&gt;redShift = 0
&lt;br&gt;greenBits = 1
&lt;br&gt;greenShift = 1
&lt;br&gt;blueBits = 1
&lt;br&gt;blueShift = 2
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 4
&lt;br&gt;accumGreenBits = 4
&lt;br&gt;accumBlueBits = 4
&lt;br&gt;accumAlphaBits = 4
&lt;br&gt;&lt;br&gt;#### Checking pixel format 40:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 4
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 16
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 1
&lt;br&gt;redShift = 0
&lt;br&gt;greenBits = 1
&lt;br&gt;greenShift = 1
&lt;br&gt;blueBits = 1
&lt;br&gt;blueShift = 2
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 4
&lt;br&gt;accumGreenBits = 4
&lt;br&gt;accumBlueBits = 4
&lt;br&gt;accumAlphaBits = 4
&lt;br&gt;&lt;br&gt;#### Checking pixel format 41:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 4
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 1
&lt;br&gt;redShift = 0
&lt;br&gt;greenBits = 1
&lt;br&gt;greenShift = 1
&lt;br&gt;blueBits = 1
&lt;br&gt;blueShift = 2
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 42:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 4
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 1
&lt;br&gt;redShift = 0
&lt;br&gt;greenBits = 1
&lt;br&gt;greenShift = 1
&lt;br&gt;blueBits = 1
&lt;br&gt;blueShift = 2
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Selected pixel format (6) ####
&lt;br&gt;flags (37): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_DOUBLEBUFFER 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 24
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 24
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;OpenGL vendor: Intel
&lt;br&gt;OpenGL renderer: Intel 945GM
&lt;br&gt;OpenGL version: 1.4.0 - Build 4.14.10.4446
&lt;br&gt;OpenGL extensions: GL_ARB_depth_texture GL_ARB_fragment_program GL_ARB_multitexture GL_ARB_point_parameters GL_ARB_shadow 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_dot3 GL_ARB_texture_env_crossbar GL_ARB_transpose_matrix GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_window_pos GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_clip_volume_hint GL_EXT_compiled_vertex_array GL_EXT_cull_vertex GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_multi_draw_arrays GL_EXT_packed_pixels GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture_compression_s3tc GL_EXT_texture_env_add GL_EXT_texture_env_combine GL_EXT_texture_filter_anisotropic GL_EXT_texture3D GL_3DFX_texture_compression_FXT1 GL_IBM_texture_mirrored_repeat GL_NV_blend_square GL_NV_texgen_reflection GL_SGIS_generate_mipmap GL_WIN_swap_hint 
&lt;br&gt;### Renderer created!
&lt;br&gt;---- Initializing OpenGL ----
&lt;br&gt;&lt;br&gt;&lt;br&gt;#### Checking pixel format 1:
&lt;br&gt;flags (36): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 0
&lt;br&gt;stencilBits = 0
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 24
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 2:
&lt;br&gt;flags (37): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_DOUBLEBUFFER 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 0
&lt;br&gt;stencilBits = 0
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 24
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;#### Checking pixel format 3:
&lt;br&gt;flags (36): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 0
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 24
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 4:
&lt;br&gt;flags (37): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_DOUBLEBUFFER 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 0
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 24
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;#### Checking pixel format 5:
&lt;br&gt;flags (36): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 24
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 24
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 6:
&lt;br&gt;flags (37): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_DOUBLEBUFFER 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 24
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 24
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;===&amp;gt; This is an accelerated driver
&lt;br&gt;&lt;br&gt;#### Checking pixel format 7:
&lt;br&gt;flags (124): PFD_DRAW_TO_WINDOW PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 8:
&lt;br&gt;flags (124): PFD_DRAW_TO_WINDOW PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 9:
&lt;br&gt;flags (1125): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT PFD_DOUBLEBUFFER PFD_SWAP_COPY 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 10:
&lt;br&gt;flags (1125): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT PFD_DOUBLEBUFFER PFD_SWAP_COPY 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 11:
&lt;br&gt;flags (124): PFD_DRAW_TO_WINDOW PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;#### Checking pixel format 12:
&lt;br&gt;flags (124): PFD_DRAW_TO_WINDOW PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;#### Checking pixel format 13:
&lt;br&gt;flags (1125): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT PFD_DOUBLEBUFFER PFD_SWAP_COPY 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;#### Checking pixel format 14:
&lt;br&gt;flags (1125): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT PFD_DOUBLEBUFFER PFD_SWAP_COPY 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;#### Checking pixel format 15:
&lt;br&gt;flags (124): PFD_DRAW_TO_WINDOW PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 16:
&lt;br&gt;flags (124): PFD_DRAW_TO_WINDOW PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 17:
&lt;br&gt;flags (1125): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT PFD_DOUBLEBUFFER PFD_SWAP_COPY 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 18:
&lt;br&gt;flags (1125): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT PFD_DOUBLEBUFFER PFD_SWAP_COPY 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 19:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 24
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 20:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 24
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 21:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 24
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;#### Checking pixel format 22:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 24
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;#### Checking pixel format 23:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 24
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 24:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 24
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 25:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 16
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 32
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 5
&lt;br&gt;redShift = 10
&lt;br&gt;greenBits = 5
&lt;br&gt;greenShift = 5
&lt;br&gt;blueBits = 5
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 11
&lt;br&gt;accumGreenBits = 11
&lt;br&gt;accumBlueBits = 10
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 26:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 16
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 32
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 5
&lt;br&gt;redShift = 10
&lt;br&gt;greenBits = 5
&lt;br&gt;greenShift = 5
&lt;br&gt;blueBits = 5
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 11
&lt;br&gt;accumGreenBits = 11
&lt;br&gt;accumBlueBits = 10
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 27:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 16
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 32
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 5
&lt;br&gt;redShift = 10
&lt;br&gt;greenBits = 5
&lt;br&gt;greenShift = 5
&lt;br&gt;blueBits = 5
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 8
&lt;br&gt;accumGreenBits = 8
&lt;br&gt;accumBlueBits = 8
&lt;br&gt;accumAlphaBits = 8
&lt;br&gt;&lt;br&gt;#### Checking pixel format 28:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 16
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 32
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 5
&lt;br&gt;redShift = 10
&lt;br&gt;greenBits = 5
&lt;br&gt;greenShift = 5
&lt;br&gt;blueBits = 5
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 8
&lt;br&gt;accumGreenBits = 8
&lt;br&gt;accumBlueBits = 8
&lt;br&gt;accumAlphaBits = 8
&lt;br&gt;&lt;br&gt;#### Checking pixel format 29:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 16
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 5
&lt;br&gt;redShift = 10
&lt;br&gt;greenBits = 5
&lt;br&gt;greenShift = 5
&lt;br&gt;blueBits = 5
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 30:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 16
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 5
&lt;br&gt;redShift = 10
&lt;br&gt;greenBits = 5
&lt;br&gt;greenShift = 5
&lt;br&gt;blueBits = 5
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 31:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 8
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 32
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 3
&lt;br&gt;redShift = 0
&lt;br&gt;greenBits = 3
&lt;br&gt;greenShift = 3
&lt;br&gt;blueBits = 2
&lt;br&gt;blueShift = 6
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 11
&lt;br&gt;accumGreenBits = 11
&lt;br&gt;accumBlueBits = 10
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 32:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 8
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 32
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 3
&lt;br&gt;redShift = 0
&lt;br&gt;greenBits = 3
&lt;br&gt;greenShift = 3
&lt;br&gt;blueBits = 2
&lt;br&gt;blueShift = 6
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 11
&lt;br&gt;accumGreenBits = 11
&lt;br&gt;accumBlueBits = 10
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 33:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 8
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 32
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 3
&lt;br&gt;redShift = 0
&lt;br&gt;greenBits = 3
&lt;br&gt;greenShift = 3
&lt;br&gt;blueBits = 2
&lt;br&gt;blueShift = 6
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 8
&lt;br&gt;accumGreenBits = 8
&lt;br&gt;accumBlueBits = 8
&lt;br&gt;accumAlphaBits = 8
&lt;br&gt;&lt;br&gt;#### Checking pixel format 34:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 8
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 32
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 3
&lt;br&gt;redShift = 0
&lt;br&gt;greenBits = 3
&lt;br&gt;greenShift = 3
&lt;br&gt;blueBits = 2
&lt;br&gt;blueShift = 6
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 8
&lt;br&gt;accumGreenBits = 8
&lt;br&gt;accumBlueBits = 8
&lt;br&gt;accumAlphaBits = 8
&lt;br&gt;&lt;br&gt;#### Checking pixel format 35:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 8
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 3
&lt;br&gt;redShift = 0
&lt;br&gt;greenBits = 3
&lt;br&gt;greenShift = 3
&lt;br&gt;blueBits = 2
&lt;br&gt;blueShift = 6
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 36:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 8
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 3
&lt;br&gt;redShift = 0
&lt;br&gt;greenBits = 3
&lt;br&gt;greenShift = 3
&lt;br&gt;blueBits = 2
&lt;br&gt;blueShift = 6
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 37:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 4
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 16
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 1
&lt;br&gt;redShift = 0
&lt;br&gt;greenBits = 1
&lt;br&gt;greenShift = 1
&lt;br&gt;blueBits = 1
&lt;br&gt;blueShift = 2
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 5
&lt;br&gt;accumGreenBits = 6
&lt;br&gt;accumBlueBits = 5
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 38:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 4
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 16
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 1
&lt;br&gt;redShift = 0
&lt;br&gt;greenBits = 1
&lt;br&gt;greenShift = 1
&lt;br&gt;blueBits = 1
&lt;br&gt;blueShift = 2
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 5
&lt;br&gt;accumGreenBits = 6
&lt;br&gt;accumBlueBits = 5
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 39:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 4
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 16
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 1
&lt;br&gt;redShift = 0
&lt;br&gt;greenBits = 1
&lt;br&gt;greenShift = 1
&lt;br&gt;blueBits = 1
&lt;br&gt;blueShift = 2
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 4
&lt;br&gt;accumGreenBits = 4
&lt;br&gt;accumBlueBits = 4
&lt;br&gt;accumAlphaBits = 4
&lt;br&gt;&lt;br&gt;#### Checking pixel format 40:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 4
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 16
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 1
&lt;br&gt;redShift = 0
&lt;br&gt;greenBits = 1
&lt;br&gt;greenShift = 1
&lt;br&gt;blueBits = 1
&lt;br&gt;blueShift = 2
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 4
&lt;br&gt;accumGreenBits = 4
&lt;br&gt;accumBlueBits = 4
&lt;br&gt;accumAlphaBits = 4
&lt;br&gt;&lt;br&gt;#### Checking pixel format 41:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 4
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 1
&lt;br&gt;redShift = 0
&lt;br&gt;greenBits = 1
&lt;br&gt;greenShift = 1
&lt;br&gt;blueBits = 1
&lt;br&gt;blueShift = 2
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 42:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 4
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 1
&lt;br&gt;redShift = 0
&lt;br&gt;greenBits = 1
&lt;br&gt;greenShift = 1
&lt;br&gt;blueBits = 1
&lt;br&gt;blueShift = 2
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Selected pixel format (6) ####
&lt;br&gt;flags (37): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_DOUBLEBUFFER 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 24
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 24
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;OpenGL vendor: Intel
&lt;br&gt;OpenGL renderer: Intel 945GM
&lt;br&gt;OpenGL version: 1.4.0 - Build 4.14.10.4446
&lt;br&gt;OpenGL extensions: GL_ARB_depth_texture GL_ARB_fragment_program GL_ARB_multitexture GL_ARB_point_parameters GL_ARB_shadow 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_dot3 GL_ARB_texture_env_crossbar GL_ARB_transpose_matrix GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_window_pos GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_clip_volume_hint GL_EXT_compiled_vertex_array GL_EXT_cull_vertex GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_multi_draw_arrays GL_EXT_packed_pixels GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture_compression_s3tc GL_EXT_texture_env_add GL_EXT_texture_env_combine GL_EXT_texture_filter_anisotropic GL_EXT_texture3D GL_3DFX_texture_compression_FXT1 GL_IBM_texture_mirrored_repeat GL_NV_blend_square GL_NV_texgen_reflection GL_SGIS_generate_mipmap GL_WIN_swap_hint 
&lt;br&gt;### Renderer created!
&lt;br&gt;---- Initializing OpenGL ----
&lt;br&gt;&lt;br&gt;&lt;br&gt;#### Checking pixel format 1:
&lt;br&gt;flags (36): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 0
&lt;br&gt;stencilBits = 0
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 24
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 2:
&lt;br&gt;flags (37): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_DOUBLEBUFFER 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 0
&lt;br&gt;stencilBits = 0
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 24
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;#### Checking pixel format 3:
&lt;br&gt;flags (36): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 0
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 24
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 4:
&lt;br&gt;flags (37): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_DOUBLEBUFFER 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 0
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 24
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;#### Checking pixel format 5:
&lt;br&gt;flags (36): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 24
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 24
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 6:
&lt;br&gt;flags (37): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_DOUBLEBUFFER 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 24
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 24
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;===&amp;gt; This is an accelerated driver
&lt;br&gt;&lt;br&gt;#### Checking pixel format 7:
&lt;br&gt;flags (124): PFD_DRAW_TO_WINDOW PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 8:
&lt;br&gt;flags (124): PFD_DRAW_TO_WINDOW PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 9:
&lt;br&gt;flags (1125): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT PFD_DOUBLEBUFFER PFD_SWAP_COPY 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 10:
&lt;br&gt;flags (1125): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT PFD_DOUBLEBUFFER PFD_SWAP_COPY 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 11:
&lt;br&gt;flags (124): PFD_DRAW_TO_WINDOW PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;#### Checking pixel format 12:
&lt;br&gt;flags (124): PFD_DRAW_TO_WINDOW PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;#### Checking pixel format 13:
&lt;br&gt;flags (1125): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT PFD_DOUBLEBUFFER PFD_SWAP_COPY 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;#### Checking pixel format 14:
&lt;br&gt;flags (1125): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT PFD_DOUBLEBUFFER PFD_SWAP_COPY 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;#### Checking pixel format 15:
&lt;br&gt;flags (124): PFD_DRAW_TO_WINDOW PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 16:
&lt;br&gt;flags (124): PFD_DRAW_TO_WINDOW PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 17:
&lt;br&gt;flags (1125): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT PFD_DOUBLEBUFFER PFD_SWAP_COPY 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 18:
&lt;br&gt;flags (1125): PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT PFD_DOUBLEBUFFER PFD_SWAP_COPY 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 32
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 19:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 24
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 20:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 24
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 21:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 24
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;#### Checking pixel format 22:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 24
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 64
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 16
&lt;br&gt;accumGreenBits = 16
&lt;br&gt;accumBlueBits = 16
&lt;br&gt;accumAlphaBits = 16
&lt;br&gt;&lt;br&gt;#### Checking pixel format 23:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 24
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 24:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 24
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 8
&lt;br&gt;redShift = 16
&lt;br&gt;greenBits = 8
&lt;br&gt;greenShift = 8
&lt;br&gt;blueBits = 8
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 25:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 16
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 32
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 5
&lt;br&gt;redShift = 10
&lt;br&gt;greenBits = 5
&lt;br&gt;greenShift = 5
&lt;br&gt;blueBits = 5
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 11
&lt;br&gt;accumGreenBits = 11
&lt;br&gt;accumBlueBits = 10
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 26:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 16
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 32
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 5
&lt;br&gt;redShift = 10
&lt;br&gt;greenBits = 5
&lt;br&gt;greenShift = 5
&lt;br&gt;blueBits = 5
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 11
&lt;br&gt;accumGreenBits = 11
&lt;br&gt;accumBlueBits = 10
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 27:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 16
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 32
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 5
&lt;br&gt;redShift = 10
&lt;br&gt;greenBits = 5
&lt;br&gt;greenShift = 5
&lt;br&gt;blueBits = 5
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 8
&lt;br&gt;accumGreenBits = 8
&lt;br&gt;accumBlueBits = 8
&lt;br&gt;accumAlphaBits = 8
&lt;br&gt;&lt;br&gt;#### Checking pixel format 28:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 16
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 32
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 5
&lt;br&gt;redShift = 10
&lt;br&gt;greenBits = 5
&lt;br&gt;greenShift = 5
&lt;br&gt;blueBits = 5
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 8
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 8
&lt;br&gt;accumGreenBits = 8
&lt;br&gt;accumBlueBits = 8
&lt;br&gt;accumAlphaBits = 8
&lt;br&gt;&lt;br&gt;#### Checking pixel format 29:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 16
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 5
&lt;br&gt;redShift = 10
&lt;br&gt;greenBits = 5
&lt;br&gt;greenShift = 5
&lt;br&gt;blueBits = 5
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 30:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_COLORINDEX
&lt;br&gt;colorBits = 16
&lt;br&gt;depthBits = 16
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 0
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 5
&lt;br&gt;redShift = 10
&lt;br&gt;greenBits = 5
&lt;br&gt;greenShift = 5
&lt;br&gt;blueBits = 5
&lt;br&gt;blueShift = 0
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 0
&lt;br&gt;accumGreenBits = 0
&lt;br&gt;accumBlueBits = 0
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 31:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_GENERIC_FORMAT 
&lt;br&gt;pixelType = PFD_TYPE_RGBA
&lt;br&gt;colorBits = 8
&lt;br&gt;depthBits = 32
&lt;br&gt;stencilBits = 8
&lt;br&gt;accumBits = 32
&lt;br&gt;auxBuffers = 0
&lt;br&gt;layerType = 0
&lt;br&gt;redBits = 3
&lt;br&gt;redShift = 0
&lt;br&gt;greenBits = 3
&lt;br&gt;greenShift = 3
&lt;br&gt;blueBits = 2
&lt;br&gt;blueShift = 6
&lt;br&gt;alphaBits = 0
&lt;br&gt;alphaShift = 0
&lt;br&gt;accumRedBits = 11
&lt;br&gt;accumGreenBits = 11
&lt;br&gt;accumBlueBits = 10
&lt;br&gt;accumAlphaBits = 0
&lt;br&gt;&lt;br&gt;#### Checking pixel format 32:
&lt;br&gt;flags (120): PFD_DRAW_TO_BITMAP PF