[ANN] jit.gl.lua Beta 1


    Jan 25 2007 | 7:53 am
    Hi Everyone,
    I'm happy to announce the release of jit.gl.lua Beta 1 for OSX and
    Windows. jit.gl.lua uses Lua scripts to interface with OpenGL as well
    as Jitter. It's very similar to the js object with a few important
    differences. jit.gl.lua provides direct access to OpenGL so there is
    no need to go through jit.gl.sketch to call OpenGL functions. It also
    provides alot of C functions from the Jitter API that are normally
    only available if you write an external.
    For those of you not familiar with Lua, see www.lua.org. Lua is a
    very fast scripting language that is slowly gaining in popularity
    because of its portability, flexibility, and speed. The concept
    behind jit.gl.lua is to allow Jitter users to mix both Jitter objects
    and low-level C functions dynamically within a patcher. This allows
    for greater precision in building constructs in a patch (especially in
    OpenGL) as well as a potential speed boost since lightweight calls to
    OpenGL can be used in place of relying on Jitter objects to maintain
    OpenGL state.
    In addition to loading Lua scripts, jit.gl.lua can load compiled C
    modules (on OSX only right now) that extend its capabilites. The
    modules can be as simple as 1 function or as complex as the heart
    desires. The point is that you don't have to write an entire Max or
    Jitter object to get the performance benefits of having something run
    in C to get it into Jitter anymore if what you're trying to do doesn't
    warrant a full blown external.
    Please keep in mind that jit.gl.lua is in Beta still so things could
    change in a future version, although the object has been stable for
    time now so major changes unlikely. However, since it is in beta, any
    suggestions and especially bug reports are welcome. Also, if you find
    the documentation lacking or have any questions, please feel free to
    ask. The best resource on Lua is the Programming in Lua book
    (http://www.lua.org/docs.html). For writing Lua scripts, I highly
    reccommend SubEthaEdit because it has built in syntax highlighting as
    well as a synax checking function which is very very useful. If you
    install SubEthaEdit, it will prevent OSX from recognizing max
    externals as such. To remedy this, install DefaultApps
    The download can be found on my C74 share page at:
    Externals, documentation, help files, and example patches are all in
    the jit.gl.lua_beta1.zip.
    cheers,
    wes

    • Jan 25 2007 | 2:24 pm
      hmm sound great
      but cycling74 seems to be down,any other dl spot?
      -mj
      >Hi Everyone,
      >I'm happy to announce the release of jit.gl.lua Beta 1 for OSX and
      >Windows. jit.gl.lua uses Lua scripts to interface with OpenGL as well
      >as Jitter. It's very similar to the js object with a few important
      >differences. jit.gl.lua provides direct access to OpenGL so there is
      >no need to go through jit.gl.sketch to call OpenGL functions. It also
      >provides alot of C functions from the Jitter API that are normally
      >only available if you write an external.
      >
      >For those of you not familiar with Lua, see www.lua.org. Lua is a
      >very fast scripting language that is slowly gaining in popularity
      >because of its portability, flexibility, and speed. The concept
      >behind jit.gl.lua is to allow Jitter users to mix both Jitter objects
      >and low-level C functions dynamically within a patcher. This allows
      >for greater precision in building constructs in a patch (especially in
      >OpenGL) as well as a potential speed boost since lightweight calls to
      >OpenGL can be used in place of relying on Jitter objects to maintain
      >OpenGL state.
      >
      >In addition to loading Lua scripts, jit.gl.lua can load compiled C
      >modules (on OSX only right now) that extend its capabilites. The
      >modules can be as simple as 1 function or as complex as the heart
      >desires. The point is that you don't have to write an entire Max or
      >Jitter object to get the performance benefits of having something run
      >in C to get it into Jitter anymore if what you're trying to do doesn't
      >warrant a full blown external.
      >
      >Please keep in mind that jit.gl.lua is in Beta still so things could
      >change in a future version, although the object has been stable for
      >time now so major changes unlikely. However, since it is in beta, any
      >suggestions and especially bug reports are welcome. Also, if you find
      >the documentation lacking or have any questions, please feel free to
      >ask. The best resource on Lua is the Programming in Lua book
      >(http://www.lua.org/docs.html). For writing Lua scripts, I highly
      >reccommend SubEthaEdit because it has built in syntax highlighting as
      >well as a synax checking function which is very very useful. If you
      >install SubEthaEdit, it will prevent OSX from recognizing max
      >externals as such. To remedy this, install DefaultApps
      >(http://www.rubicode.com/Software/RCDefaultApp/)
      >
      >The download can be found on my C74 share page at:
      >http://cycling74.com/twiki/bin/view/Share/WesleySmith?t=2007-01-24T23:05Z?rev=1.1
      >
      >Externals, documentation, help files, and example patches are all in
      >the jit.gl.lua_beta1.zip.
      >
      >cheers,
      >wes
    • Jan 25 2007 | 4:29 pm
      Should be up now if it wasn't earlier.
      wes
    • Jan 26 2007 | 11:08 am
    • Jan 26 2007 | 4:22 pm
      Hi Eric,
      Did you look in the SubmatrixTest.lua script? Here' it is:
      submat = jit.submatrix()
      submat.offset = {40, 40}
      submat.dim = {60, 60}
      submat2 = jit.submatrix()
      submat2.offset = {40, 40}
      submat2.dim = {80, 80}
      spreadOffset = {0, 0}
      robcross = jit.new("jit.robcross")
      function jit_matrix(name)
      submat:frommatrix(name)
      submat2:frommatrix(name)
      robcross:matrixcalc({submat.name}, {submat2.name})
      outlet(0, "jit_matrix", submat.name)
      end
      function offset(...)
      submat.offset = {...}
      spread(spreadOffset[1], spreadOffset[2])
      end
      function spread(x, y)
      spreadOffset = {x, y}
      submat2.offset = vec2.add(spreadOffset, submat.offset)
      end
      if you change these lines:
      submat.dim = {60, 60}
      This sets the jit.submatrix object's "dim" attribute just like in a
      patcher. Does changing the numbers not work for you? It works here.
      cheers,
      wes
    • Jan 26 2007 | 6:03 pm
      Fair enough. Just like in JS, if you add a function to the script,
      you can call it as a message from max. Here's a function for the dim
      message. You may want a different one for each of the submatirces:
      function dim(x, y)
      submat.dim = {x, y}
      submat2.dim = {x, y}
      end
      wes
    • Apr 28 2008 | 9:58 pm
      Hello !
      I work with jit.lua.gl and i wonder if it's possible to draw the glut 3d primitives (like GlutCylinder for example) and render text?
      I've implemented most of the possibilities of this great object, but i don't know if these functionnalities are accessible. Is this possible to load a compiled luagl.dll in a lua script used in max/msp ?
      Best regards and congratulations for this great stuff ! ;-)
      Emilien
    • Apr 28 2008 | 10:23 pm
      Hi,
      These things are not there. You can easily use jit.gl.gridshape for
      the same purposes (except for Teapot)
      wes
      On Mon, Apr 28, 2008 at 2:58 PM, Milou wrote:
      >
      > Hello !
      >
      > I work with jit.lua.gl and i wonder if it's possible to draw the glut 3d primitives (like GlutCylinder for example) and render text?
      > I've implemented most of the possibilities of this great object, but i don't know if these functionnalities are accessible. Is this possible to load a compiled luagl.dll in a lua script used in max/msp ?
      >
      > Best regards and congratulations for this great stuff ! ;-)
      >
      > Emilien
      >
      >
      >