From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: ** X-Spam-Status: No, score=2.4 required=5.0 tests=AWL,DNS_FROM_RFC_ABUSE, DNS_FROM_SECURITYSAGE,SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id 26CC2BBAF for ; Wed, 5 Nov 2008 16:20:30 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: As8BAG9IEUlDWxLCbmdsb2JhbACBd5IiPq0PhmeELoNT X-IronPort-AV: E=Sophos;i="4.33,550,1220220000"; d="scan'208";a="16890060" Received: from ip67-91-18-194.z18-91-67.customer.algx.net (HELO server1.bertec.net) ([67.91.18.194]) by mail2-smtp-roc.national.inria.fr with ESMTP; 05 Nov 2008 16:20:29 +0100 Received: from kuba.bertec.net (kuba.bertec.net [192.168.2.16]) by server1.bertec.net (Postfix) with ESMTP id 9BEA0105735 for ; Wed, 5 Nov 2008 10:20:28 -0500 (EST) From: Kuba Ober To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] What does Jane Street use/want for an IDE? What about you? Date: Wed, 5 Nov 2008 10:20:26 -0500 User-Agent: KMail/1.9.10 References: <200810200919.41561.ober.14@osu.edu> <200811041806.01389.ober.14@osu.edu> <200811050548.41693.jon@ffconsultancy.com> In-Reply-To: <200811050548.41693.jon@ffconsultancy.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200811051020.27633.ober.14@osu.edu> X-Spam: no; 0.00; triangles:01 triangles:01 afaik:01 iirc:01 abstraction:01 cheers:01 shadows:98 cocoa:98 graph:01 caml-list:01 primitives:01 hierarchical:01 awkward:02 api:02 widget:03 > > Have you ran recent Qt demos distributed with Qt? I'd say they look > > pretty cool in my book. > > They would not have impressed me a decade ago, let alone today. Many of > them don't even work on either of my Debian machines. I have one question regarding OpenGL: maybe it's just me, but isn't core, or "historical" core OpenGL blissfully unaware of simple concepts such as a path, a brush, stroking a path etc? This was long time ago, but I recall that drawing a circle using OpenGL implies that you (or some middleman library) has to discretize the circle into triangles, and then render that. Again, correct me if I'm wrong, but typical OpenGL-based UI rendering will do good old antialiased software 2D rendering on OpenGL textures, and the composite some simple 3D models with those textures applied. [Or it may, at a cost of generating *way more* triangles, use shader programs.] That way you can get goodies like shadows of text rendered in a window with transparent background, but it's really awkward to do directly in OpenGL. These days I imagine this "2D" rendering can be done using shader programs, but that excludes a lot of commonplace hardware outright, and hits some implementation bugs hard (just look around at various game forums). And I really don't quite love the idea of generating a bazillion triangles for the 3D hardware to then shade: I wish 3D hardware could work with splines of some sort (does it?). AFAIK/IIRC, as soon as you wish to move to a higher level scene description, where basic primitives such as paths live in 3D, you have to implement a whole lot on top of OpenGL, and there are no real standards as to how to do it. If anything, Cocoa and MPF (?) may be examples of how to go about it, but that's a long shot of where we'd all like to be. I would like nothing better than to work with hierarchical interactive display representation, where simple things remain simple: say you have a letter shown in your text editor widget, and you want to know where the said letter is located. With a scene description graph, you can extract that information -- the way Qt does it so far either requires the text layouter to provide you with relevant API, or you have to plug yourself between the layouter and the paint engine and literally listen for where the glyphs get painted. The scene description would be easier to use, of course. If the scene description has links into the underlying text document, as it well should, then it gets even easier. So, please understand that I'm not oblivious to benefits of thinking in higher levels of abstraction, but I'm also practical and know that Qt provides me with a whole big lot of cross-platform functionality that simply doesn't exist anywhere else in one coherent platform. Oh, and it's not like scene graphs and whatnot cannot be nicely done in C++ ;) (ducks and runs). Cheers, Kuba