From mboxrd@z Thu Jan 1 00:00:00 1970 To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> In-reply-to: Your message of "Thu, 19 Apr 2012 11:32:03 BST." References: <201204181805.q3II5VO2025497@freefriends.org> <6078AC91-47C1-4EE4-A48B-3B6A9A02FDF1@corpus-callosum.com> Date: Thu, 19 Apr 2012 09:36:08 -0700 From: Bakul Shah Message-Id: <20120419163608.2A62B1CC5A@mail.bitblocks.com> Subject: Re: [9fans] nix at lsub Topicbox-Message-UUID: 789f3cb2-ead7-11e9-9d60-3106f5b1d025 On Thu, 19 Apr 2012 11:32:03 BST Charles Forsyth wrote: > I wasn't too worried about getting a file system interface to it. > I'd supposed that would be tedious (from the size of the language) but > straightforward, similar in principle to draw(2). A filesystem interface seems to simplify things quite a bit. > Draw's programming interface can, however, present Images, Screens, > Points, Rectangles, Screens, Fonts, and so on as values that can be > created and manipulated like any other. This can be built on top of the above. A /dev/draw shim wouldn't be too hard either. In a sense openGL is at the machine assembly language level while screens, rectangles, fonts etc are at a higher language level. > Obviously there's still an underlying state in the image currently > drawn in an Image, or on a Display. > By contrast, OpenGL has things like this: > > "None of the matrix manipulation commands have an explicit parameter > to control which matrix they affect. Instead, OpenGL maintains a > current matrix mode that determines which matrix type the previously > mentioned matrix manipulation commands actually affects" and "each > matrix type has its own a stack of matrices". (That's followed in a > document I'm looking at by all the ways you can get into trouble with > this, > but how much faster it all is!) And, that state is program global. > > Still, that's what there is! Indeed but GL ES 2 is simpler by virtue of leaving out fixed pipeline functions etc. We may as well make the best use of it when a $35 computer can provide a high performance openGL implementation!