[PD] new luagl

marius schebella marius.schebella at gmail.com
Fri Jul 25 21:39:47 CEST 2008


> Thomas Grill wrote:
>> Hi Marius,
>> which version of "luagl" are you referring to?
>>
>> I have the following here (version 1.01):
>> *  LuaGL - an OpenGL binding for Lua
>> *  2003-2004(c) Fabio Guerra, Cleyde Marlyse
>> *  www.luagl.sourceforge.net
>>
>> as it's designed by default, lua scripts wouldn't require 'luagl' but 
>> rather 'opengl', but this can be changed easily.
>> Then, OpenGL functions reside in a lua library called gl, which means 
>> that the are called via gl.Begin etc.
>> I haven't tried from within pdlua, but it seems to basically work in 
>> the lua interpreter
>>

I keep getting the same nil error, I think my code has errors, but I am 
not sure where/which.

require ("opengl")

local basicgl = pd.Class:new():register("basicgl")

function basicgl:initialize(name, atoms)
     self.inlets = 2
     pd.post(tostring(self))
     return true
end

function basicgl:in_1_gem_state(atoms)
	self:render()
end

function basicgl:render()
	gl.Begin(1)
	gl.Vertex(-1, 1, 0)
	gl.Vertex(1, 1, 0)
	gl.Vertex(1, -1, 0)
	gl.Vertex(-1, -1, 0)
	gl.End()
end

error: lua: error in dispatcher:
[string "basicgl"]:16: attempt to index global 'gl' (a nil value)

marius.

>> gr~~~
>>
>>
>> Am 19.07.2008 um 20:14 schrieb marius schebella:
>>
>>> hi,
>>> here's the code that I am trying to run:
>>> require 'luagl'
>>>
>>> local testgl1 = pd.Class:new():register("testgl1")
>>>
>>> function testgl1:initialize(name, atoms)
>>>     self.inlets = 2
>>>     self.max = 1
>>>     pd.post(tostring(self))
>>>     return true
>>> end
>>>
>>> function testgl1:in_1(sel, atoms)
>>>     if sel == "gem_state" then
>>>        testgl1:render(self)
>>>     end
>>> end
>>>
>>> function testgl1:in_2_float(f)
>>>     self.max = math.abs(f)
>>>     pd.post(self.max)
>>> end
>>>
>>> function testgl1:render(myself)
>>>     max = math.max(myself.max, 1)
>>>     glBegin(GL_LINE_LOOP)
>>>     for i=1,max do
>>>         r = math.random()
>>>         g = math.random()
>>>         b = math.random()
>>>         glColor3d(r, g, b)
>>>         glVertex2d(math.random(-400,400)/100, math.random(-400,400)/100)
>>>     end
>>>     glEnd()
>>> end
>>>
>>> here's the console printout:
>>> error: lua: error in dispatcher:
>>> [string "testgl1"]:25: attempt to call global 'glBegin' (a nil value)
>>> I think this code was running in lua0.3..
>>> thanks,
>>> marius.
>>>
>>> _______________________________________________
>>> Pd-list at iem.at mailing list
>>> UNSUBSCRIBE and account-management -> 
>>> http://lists.puredata.info/listinfo/pd-list
>>
>> Thomas Grill
>> http://grrrr.org
>>
>>
> 
> 





More information about the Pd-list mailing list