-- -- pixwerx - test - core -- -- loading our libraries pw.script:load_all() -- vector3 local v1 = pw.vector3(3,2,1) print("v1 ",v1.x,v1.y,v1.z) local v2 = pw.vector3(1,2,3) print("v2 ",v2.x,v2.y,v2.z) local v_up = pw.vector3.up print("v_up",v_up.x,v_up.y,v_up.z) local v3 = v1 + v2 print(v1 + v2) print("v3 ",v3.x,v3.y,v3.z) print("v3.norm",v3.norm) print("v3.squared_norm",v3.squared_norm) print(v1,v1.arr,v1.data[2]) local v4 = v3 print("v4",v4) print(v4.table) v4.table = { 11, 22, 33 } print("v4 ", v4.x, v4.y, v4.z) local m4 = pw.matrix4x4.identity v44 = m4 * v4 print("v44 ", v44.x, v44.y, v44.z) -- quaternion local q = pw.quaternion.identity print("q",q.x,q.y,q.z,q.w) qi = q.inverse print("q.inverse",qi.x,qi.y,qi.z,qi.w) local q2 = pw.quaternion(1,1,1,2) local qn = q2.normalized print("q2.normalized",qn.x,qn.y,qn.z,qn.w) local ql = pw.quaternion.lerp(q,q2,0.5).normalized print("q-qi lerp",ql.x,ql.y,ql.z,ql.w) local qsl = pw.quaternion.slerp(q,q2,0.5).normalized print("q-qi slerp",qsl.x,qsl.y,qsl.z,qsl.w) -- axisangle local aa = pw.axisangle(pw.vector3.up,0.707) print("aa.axis",aa.axis.x,aa.axis.y,aa.axis.z) print("aa.angle",aa.angle) local g = pw.geometry() g.indices = { 11, 22, 33 } -- alert! the returned table is a copy! table.insert(g.indices,44) print("#g.indices ",#g.indices) -- to insert one needs to set the whole table local temp = g.indices temp[#temp + 1] = 44 g.indices = temp for k,v in ipairs(g.indices) do print("index: ",k,v) end g.vertices = { { 11, 11, 11 }, { 22, 22, 22 }, { 33, 33, 33 } } -- now look at the vertices for k,v in ipairs(g.vertices) do print("vertex: ",k,v.x,v.y,v.z) end -- now look at the texture coordinates g.texture_coordinates = { { { 0, 0 }, { 1, 0 }, { 1, 1 }, { 0, 1 } } } for k,v in ipairs(g.texture_coordinates) do for ki,vi in ipairs(v) do print("texture_coord",k,ki,vi.x,vi.y) end end