From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Daniel Hartwig Newsgroups: gmane.lisp.guile.user Subject: Re: Guile OpenGL bindings Date: Fri, 1 Feb 2013 21:29:36 +0800 Message-ID: References: <871ud0p6u0.fsf@pobox.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: ger.gmane.org 1359725759 12511 80.91.229.3 (1 Feb 2013 13:35:59 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 1 Feb 2013 13:35:59 +0000 (UTC) To: Javier Sancho , guile-user Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Fri Feb 01 14:36:19 2013 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1U1Gmv-0004pT-Rp for guile-user@m.gmane.org; Fri, 01 Feb 2013 14:36:17 +0100 Original-Received: from localhost ([::1]:53578 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U1Gmd-0008WS-6p for guile-user@m.gmane.org; Fri, 01 Feb 2013 08:35:59 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:45025) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U1GmT-0008Tp-Dq for guile-user@gnu.org; Fri, 01 Feb 2013 08:35:55 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1U1GmN-0001MI-Tk for guile-user@gnu.org; Fri, 01 Feb 2013 08:35:49 -0500 Original-Received: from mail-ie0-x234.google.com ([2607:f8b0:4001:c03::234]:65454) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U1GmN-0001MA-Oo for guile-user@gnu.org; Fri, 01 Feb 2013 08:35:43 -0500 Original-Received: by mail-ie0-f180.google.com with SMTP id bn7so2403264ieb.25 for ; Fri, 01 Feb 2013 05:35:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:content-type; bh=lo0dVfYCuAPk4GFGqt8Zr3vBteQQTE35HNqvQARfYss=; b=DK/4P+YKqQCxxO92RbxqmA996NwCEr1/+ZxOQ6rvYpWv+Pd/0MmtFVpPZnpszZQTw9 xMIHRGyaDRO8cHOYjsoXQgl3ZuhC7YZP7120MI2R45LbKNZTiRVdGDTfvCv1clTTXUUQ ydrqRdPmyTCmCJMODFr2+AFzMfnmqESyeY24Pgx1hwgBsqjDTO/ONy/uAfWBEq1/GfLM eqJ2WSF2sZhZ6l+nN1HwbEBypQT6ndM13j53MuVUKGn4q1NUHQrt5wvjfsH5GCcca83H oRPK/nUEkRyrHOTfFK0r2u374bb6ht09SBFH4SIfFtmm17itKNmOlW+dliglBwaeh9Fd lXmQ== X-Received: by 10.50.88.136 with SMTP id bg8mr1147801igb.96.1359725377346; Fri, 01 Feb 2013 05:29:37 -0800 (PST) Original-Received: by 10.64.76.51 with HTTP; Fri, 1 Feb 2013 05:29:36 -0800 (PST) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:4001:c03::234 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:9973 Archived-At: On 1 February 2013 21:02, Javier Sancho wrote: > Aleix Conchillo is also working with OpenGL and encountered a problem > with glutInit and char**. You can see it at > http://lists.gnu.org/archive/html/guile-devel/2012-07/msg00074.html Mark's suggestion is spot on, even points out one issue with memory that I have missed. It seems that Aleix later moved to a C binding, though I am confident this can be avoided (c.f. cl-opengl). Anyway, this function is working fine in the bindings I have prepared (sans the memory issue). GLUT bindings cover all functions, but missing constants. These to follow shortly. Andy's work on the sxml side has the GL bindings *almost* running as well. I'll look to finish those in the next few days if someone doesn't beat me to it. > Someone mentioned performance issues when using FFI, too. For modern GL programming without glBegin/End, Vertex/Color/Normal, etc. the performance impact of FFI should be negligable. There are few GL calls compared to the volume of data that is passed. The real critical part will be how the user manipulates their vertex data, if this is done frequently on the scheme side. Mapping (typed) bytevectors, or srfi-4 to gl arrays will help with that, and avoiding the implicit type conversions that some other bindings perform. > Well, I can't promise anything, but yes, I'm very interested in this project. Nice.