playermet / luajit-glfw Goto Github PK
View Code? Open in Web Editor NEWGLFW bindings for LuaJIT
License: Other
GLFW bindings for LuaJIT
License: Other
Will this be updated with the API in the newly released 3.3?
On the main example, I tried to call "glClear(GL_COLOR_BUFFER_BIT)" but nothing works.
I have to include opengl.dll on my program?
Hello, I was testing out your Luajit GLFW bindings.
Running on Mac Os X 10.9.5, with Luajit 2.0.4 installed from MacPorts to /opt/local
When I try to run the examples, I just get this error message:
sakari@iViper /t/luajit-glfw (master)> luajit examples/base.lua
luajit: ./glfw.lua:972: dlopen(libglfw3.dylib, 5): image not found
stack traceback:
[C]: in function 'load'
./glfw.lua:972: in function <./glfw.lua:969>
examples/base.lua:1: in main chunk
[C]: at 0x010ec83dca
So apparently Luajit can't find my glfw libraries. I have also installed libglfw 3.1.2 from MacPorts under /opt/local, as shown here:
sakari@iViper /t/luajit-glfw (master)> ls -l /opt/local/lib/libglfw.*
-rwxr-xr-x 1 root admin 89396 Oct 16 19:54 /opt/local/lib/libglfw.3.1.dylib*
lrwxr-xr-x 1 root admin 17 Oct 16 19:54 /opt/local/lib/libglfw.3.dylib@ -> libglfw.3.1.dylib
lrwxr-xr-x 1 root admin 15 Oct 16 19:54 /opt/local/lib/libglfw.dylib@ -> libglfw.3.dylib
I tried also changing the code to directly point to the library by changing the 'name' variable, and also tried copying the libraries to the current working directory, no luck.
Can you tell me what I'm missing here? Thanks!
It seems to me that a slight modification make this compatible with lua (not luaji) + ffifb (https://github.com/facebook/luaffifb):
index b831689..ece7b70 100644
--- a/glfw.lua
+++ b/glfw.lua
@@ -29,7 +29,6 @@
]]
local ffi = require 'ffi'
-local jit = require 'jit'
local mod = {} -- Lua module namespace
local aux = {} -- Auxiliary utils
@@ -1042,9 +1041,12 @@ function bind_clib()
-- Luajit does not allow to call Lua-callbacks
-- from JIT-compiled C-functions, so we
-- manually turn off JIT for them
- jit.off(funcs.PollEvents)
- jit.off(funcs.WaitEvents)
- jit.off(funcs.WaitEventsTimeout)
+ pcall(function()
+ local jit = require 'jit'
+ jit.off(funcs.PollEvents)
+ jit.off(funcs.WaitEvents)
+ jit.off(funcs.WaitEventsTimeout)
+ end)
-----------------------------------------------------------
-- Extra functions
so i was using your lua library for glfw and opengl and i tried to change the color of the window, but it isn't working
here is the code
local glfw = require 'glfw' ('glfw3')
local glfw = require 'glfw' ('C:\\lua\\glfw luajit\\glfw3.dll')
local GLFW = glfw.const
local gl = require 'gl' ('opengl32')
local gl = require 'gl' ('C:\\lua\\glfw luajit\\opengl32.dll')
local GL = gl.const
glfw.WindowHint(GLFW.VERSION_MAJOR, 3)
glfw.WindowHint(GLFW.VERSION_MINOR, 0)
glfw.WindowHint(GLFW.OPENGL_PROFILE, GLFW.OPENGL_CORE_PROFILE)
-- Initialize the library
if glfw.Init() == 0 then
return
end
-- Create a windowed mode window and its OpenGL context
local window = glfw.CreateWindow(640, 480, "Hello World")
if window == GLFW.NULL then
glfw.Terminate()
return
end
-- Make the window's context current
glfw.MakeContextCurrent(window)
--[[gl.Viewport(0, 0, 640, 480)
gl.ClearColor(0.2, 0.3, 0.4, 1.0)
gl.Clear(GL.COLOR_BUFFER_BIT)]]
-- Loop until the user closes the window
while glfw.WindowShouldClose(window) == 0 do
-- Render here
local W, H = glfw.GetFramebufferSize(window)
gl.Viewport(0, 0, W, H)
gl.Clear(GL.COLOR_BUFFER_BIT)
gl.ClearColor(0.02, 0.03, 0.04, 1.0)
--gl.End()
glfw.SwapBuffers(window)
-- Poll for and process events
glfw.PollEvents()
end
glfw.Terminate()
if you find any errors on the code say to me
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.