jit.gl.lua 動画テクスチャを利用する

jit.gl.lua内で動画テクスチャを扱う場合に、外部からmatrixで受け取り、jit.gl.textureと接続する方法がForumにありました。少しずつOpenGLとjit.gl.luaの使い方が分かってきました。

スクリーンショット 2014-01-29 01.43.17


local gl = require("opengl")
local GL = gl

local tex = jit.new("jit.gl.texture", this.drawto)

function jit_matrix(name)
tex:jit_matrix(name)
end

function draw()
jit.gl.bindtexture(tex.name, 0)
gl.Color(1., 1., 1., 1.)

gl.Begin(GL.QUADS)
--top left
gl.TexCoord(0., 1.)
gl.Vertex(-0.5, 0.5, 0.)

--bottom left
gl.TexCoord(0., 0.)
gl.Vertex(-0.5, -0.5, 0.)

--bottom right
gl.TexCoord(1., 0.)
gl.Vertex(0.5, -0.5, 0.)

--top right
gl.TexCoord(1., 1.)
gl.Vertex(0.5, 0.5, 0.)	
gl.End()

gl.PushMatrix()
gl.Translate(1,0,0)
gl.Begin(GL.QUADS)
--top left
gl.TexCoord(0., 1.)
gl.Vertex(-0.5, 0.5, 0.)

--bottom left
gl.TexCoord(0., 0.)
gl.Vertex(-0.5, -0.5, 0.)

--bottom right
gl.TexCoord(1., 0.)
gl.Vertex(0.5, -0.5, 0.)

--top right
gl.TexCoord(1., 1.)
gl.Vertex(0.5, 0.5, 0.)	
gl.End()
gl.PopMatrix()

jit.gl.unbindtexture(tex.name, 0)
end

Leave a Comment