{"id":705,"date":"2009-07-11T10:50:28","date_gmt":"2009-07-11T09:50:28","guid":{"rendered":"http:\/\/cb.nowan.net\/blog\/?p=705"},"modified":"2009-07-11T10:50:28","modified_gmt":"2009-07-11T09:50:28","slug":"oglplane","status":"publish","type":"post","link":"http:\/\/cb.nowan.net\/blog\/2009\/07\/11\/oglplane\/","title":{"rendered":"OglPlane"},"content":{"rendered":"<p>I&#8217;ve just found myself wanting to test some OpenGL stereo and I couldn&#8217;t find the old-school OglPlane.exe program.<\/p>\n<p>It&#8217;s a simple program opening an OpenGL window with quad-buffer stereo and displaying a stereoscopic wireframe paper plane :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-706\" title=\"oglplane_small\" src=\"http:\/\/cb.nowan.net\/blog\/data\/2009\/07\/oglplane_small.png\" alt=\"oglplane_small\" width=\"400\" height=\"231\" srcset=\"http:\/\/cb.nowan.net\/blog\/data\/2009\/07\/oglplane_small.png 400w, http:\/\/cb.nowan.net\/blog\/data\/2009\/07\/oglplane_small-300x173.png 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/p>\n<p>We use that regularly to debug stereo :<\/p>\n<blockquote><p>Client: There is no stereo in Virtools! It&#8217;s all your fault, I hate you!<\/p>\n<p>Us: Could you run oglplane and tell us if it&#8217;s in stereo ?<\/p>\n<p>Client: No it&#8217;s not, I&#8217;m sure Virtools broke everything!<\/p>\n<p>Us: Could you activate the stereo in the graphics card drivers ?<\/p>\n<p>Client: Ha, now the plane is in stereo, but still not Virtools, you morons!<\/p>\n<p>Us: Could you change the Virtools stereo parameters ?<\/p>\n<p>No answer from client.<\/p><\/blockquote>\n<p>Alright maybe it&#8217;s because of the Virtools&#8217; documentation =)<\/p>\n<blockquote><\/blockquote>\n<p>OglPlane was developped by Stereographics, makers of the famous 3d glasses and <a href=\"http:\/\/cb.nowan.net\/blog\/2006\/07\/20\/stereovision-techniques\/\">stereo handbook<\/a>, which was bought by <a href=\"http:\/\/www.reald.com\">RealD<\/a>.<\/p>\n<p>It seems the software was hosted on RealD website but I really can&#8217;t find it, so I got it on my work laptop and uploaded here:<\/p>\n<p><a href=\"http:\/\/cb.nowan.net\/oglplane.zip\">Oglplane.zip<\/a><\/p>\n<p>(If you&#8217;re from RealD, don&#8217;t sue me, let&#8217;s talk about it \ud83d\ude09<\/p>\n<p>The zip also contains the source code and visual studio project so you can also learn how to setup quad-buffered OpenGL.<\/p>\n<p>First edition : 1991. Wow, that&#8217;s really old-school 3D !!<\/p>\n<blockquote>\n<p>\/\/***********************************************************************<br \/>\n\/\/<br \/>\n\/\/\u00c2\u00a0 OGLPlane.cpp<br \/>\n\/\/\u00c2\u00a0 by Bob Akka, StereoGraphics Corporation, July 1998<br \/>\n\/\/<br \/>\n\/\/\u00c2\u00a0 Some history:<br \/>\n\/\/\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 April 1991: Original SGI GL program, by Bob Akka, StereoGraphics.<br \/>\n\/\/\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 Date unknown: Converted to OpenGL by Silicon Graphics Corp.<br \/>\n\/\/\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 March 1995: Modified (Motif), by James S. Lipscomb and Keh-Shin Cheng,<br \/>\n\/\/\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 IBM Research.<br \/>\n\/\/\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 December 1996: Converted to use OpenGL Utility Toolkit,<br \/>\n\/\/\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 by Rick Hammerstone, Digital.<br \/>\n\/\/\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 February 1998: Converted to use WIN32 OpenGL GLAUX Toolkit,<br \/>\n\/\/\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 by Dave Milici, StereoGraphics.<br \/>\n\/\/\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 July 1998: Rewritten in plain OpenGL, for MFC Windows environment,<br \/>\n\/\/\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 program simplified in some ways, EnableStereoWindow() is brand new,<br \/>\n\/\/\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 DrawAirplane() carefully restored to original classic April 1991<br \/>\n\/\/\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 geometry, real-time stereo and rotation adjustments added, and&#8230;<br \/>\n\/\/\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 StereoProjection() overhauled &amp; comments added (StereoProjection()<br \/>\n\/\/\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 is now so thoroughly commented that it is practically a tutorial),<br \/>\n\/\/\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 by Bob Akka, StereoGraphics.<br \/>\n\/\/\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 September 1999: Blueline index support added (this is used by some SGC<br \/>\n\/\/\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 hardware systems)<br \/>\n\/\/<br \/>\n\/\/\u00c2\u00a0 Note: This program does not deal with the possible situation where the<br \/>\n\/\/\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 user switches Windows display settings while this program is running<br \/>\n\/\/<br \/>\n\/\/***********************************************************************<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve just found myself wanting to test some OpenGL stereo and I couldn&#8217;t find the old-school OglPlane.exe program. It&#8217;s a simple program opening an OpenGL window with quad-buffer stereo and displaying a stereoscopic wireframe paper plane : We&#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[123,94],"_links":{"self":[{"href":"http:\/\/cb.nowan.net\/blog\/wp-json\/wp\/v2\/posts\/705"}],"collection":[{"href":"http:\/\/cb.nowan.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/cb.nowan.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/cb.nowan.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/cb.nowan.net\/blog\/wp-json\/wp\/v2\/comments?post=705"}],"version-history":[{"count":2,"href":"http:\/\/cb.nowan.net\/blog\/wp-json\/wp\/v2\/posts\/705\/revisions"}],"predecessor-version":[{"id":708,"href":"http:\/\/cb.nowan.net\/blog\/wp-json\/wp\/v2\/posts\/705\/revisions\/708"}],"wp:attachment":[{"href":"http:\/\/cb.nowan.net\/blog\/wp-json\/wp\/v2\/media?parent=705"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/cb.nowan.net\/blog\/wp-json\/wp\/v2\/categories?post=705"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/cb.nowan.net\/blog\/wp-json\/wp\/v2\/tags?post=705"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}