<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml-stylesheet href="_c74_vig.xsl" type="text/xsl"?>
<vignette name="Lua in Max" package="Jitter">
  <metadatalist>
    <metadata name="author">Cycling '74</metadata>
    <metadata name="tag">scripting</metadata>
    <metadata name="tag">lua</metadata>
    <metadata name="tag">control</metadata>
    <metadata name="tag">languages</metadata>
  </metadatalist>
  <h1>Lua in Max</h1>
  <p>
  Certain tasks in Jitter can require complex sets of commands, data management,
  complex algorithms and conditional logic that are difficult to build and maintain
  in the Max patching environment. For these kinds of activities, a scripting language
  can often be a more flexible solution. The <o>jit.gl.lua</o> object embeds the Lua
  scripting language inside a Jitter OpenGL object. jit.gl.lua serves as both a
  general purpose Lua scripting object and a 3D graphics scripting object. It is
  very similar to the <o>js</o> object for JavaScript with the addition that
  OpenGL commands can be used directly.
  </p>
  <cr/>
  <h2>Example Patches</h2>
    <ul>
    <li><openfilelink filename="lua.slabbery.maxpat">lua.slabbery.maxpat</openfilelink></li>
    <li><openfilelink filename="lua.window.mouse.drawing.maxpat">lua.window.mouse.drawing.maxpat</openfilelink></li>
    </ul>
  <cr/>
  <seealsolist>
    <seealso name="jit_gl_lua_overview" module="lua" type="vignette" />
    <seealso name="jit_gl_lua_opengl_bindings" module="lua" type="vignette" />
    <seealso name="jit_gl_lua_opengl_glu_bindings" module="lua" type="vignette" />
    <seealso name="jit_gl_lua_color_bindings" module="lua" type="vignette" />
    <seealso name="jit_gl_lua_vector_math" module="lua" type="vignette" />
    <seealso name="jit.gl.lua"/>
    <seealso name="jit.gl.sketch"/>
    <seealso name="jit.gl.render"/>
  </seealsolist>
</vignette>