diff --git a/framework/lualib-src/math3d/Makefile b/framework/lualib-src/math3d/Makefile index 3a40056..7e7a394 100755 --- a/framework/lualib-src/math3d/Makefile +++ b/framework/lualib-src/math3d/Makefile @@ -3,38 +3,39 @@ include $(SKYNET_ROOT)/platform.mk LUALIB ?= $(SKYNET_ROOT)/3rd/lua/ LUAINC ?= $(SKYNET_ROOT)/3rd/lua/ -GLM_INC = -I ../../3rd/glm +GLM_INC = ../../3rd/glm ODIR = o OUTPUT= ../../luaclib/ +CXX = g++ PLAT ?= none ifeq ($(PLAT), macosx) - CFLAGS = -g -O2 -dynamiclib -Wl,-undefined,dynamic_lookup -std=gnu99 + CFLAGS = -g -O2 -dynamiclib -Wl,-undefined,dynamic_lookup else ifeq ($(PLAT), linux) - CFLAGS = -g -O2 -shared -fPIC -std=gnu99 + CFLAGS = -g -O2 -shared -fPIC endif endif all : $(OUTPUT)math3d.so $(ODIR)/linalg.o : linalg.c | $(ODIR) - $(CC) -c $(CFLAGS) -o $@ $^ $(LUAINC) + $(CC) -c $(CFLAGS) -o $@ $^ -I$(LUAINC) $(ODIR)/math3d.o : math3d.c | $(ODIR) - $(CC) -c $(CFLAGS) -o $@ $^ $(LUAINC) + $(CC) -c $(CFLAGS) -o $@ $^ -I$(LUAINC) $(ODIR)/mathfunc.o : mathfunc.cpp | $(ODIR) - $(CXX) -c $(CFLAGS) -Wno-char-subscripts -o $@ $^ $(GLM_INC) + $(CXX) -c $(CFLAGS) -o $@ $^ -I$(GLM_INC) $(ODIR)/mathadapter.o : mathadapter.c | $(ODIR) - $(CC) -c $(CFLAGS) -o $@ $^ $(LUAINC) + $(CC) -c $(CFLAGS) -o $@ $^ -I$(LUAINC) $(ODIR)/testadapter.o : testadapter.c | $(ODIR) - $(CC) -c $(CFLAGS) -o $@ $^ $(LUAINC) + $(CC) -c $(CFLAGS) -o $@ $^ -I$(LUAINC) $(OUTPUT)math3d.so : $(ODIR)/linalg.o $(ODIR)/math3d.o $(ODIR)/mathfunc.o $(ODIR)/mathadapter.o $(ODIR)/testadapter.o - $(CXX) --shared $(CFLAGS) -o $@ $^ -lstdc++ $(LUALIB) + $(CXX) $(CFLAGS) $(SHARED) -o $@ $^ $(ODIR) : mkdir -p $@ diff --git a/framework/lualib-src/math3d/mathfunc.cpp b/framework/lualib-src/math3d/mathfunc.cpp index afe5e73..c5f120d 100755 --- a/framework/lualib-src/math3d/mathfunc.cpp +++ b/framework/lualib-src/math3d/mathfunc.cpp @@ -40,9 +40,9 @@ math3d_make_srt(struct lastack *LS, const float *scale, const float *rot, const if (rot) { const glm::quat * q = (const glm::quat *)rot; if (scale) { - srt = glm::mat4x4(*q) * srt; + srt = glm::mat4_cast(*q) * srt; } else { - srt = glm::mat4x4(*q); + srt = glm::mat4_cast(*q); } } else if (scale == NULL) { srt = glm::mat4x4(1); @@ -282,7 +282,7 @@ math3d_lookat_matrix(struct lastack *LS, int direction, const float eye[3], cons void math3d_quat_to_matrix(struct lastack *LS, const float quat[4]) { - glm::mat4x4 m = glm::mat4x4(QUAT(quat)); + glm::mat4x4 m = glm::mat4_cast(QUAT(quat)); lastack_pushmatrix(LS, &m[0][0]); } diff --git a/framework/lualib-src/testluaclib.lua b/framework/lualib-src/testluaclib.lua index b6f3ca9..f256091 100644 --- a/framework/lualib-src/testluaclib.lua +++ b/framework/lualib-src/testluaclib.lua @@ -1,4 +1,4 @@ -package.path = "3rd/?.lua;" .. package.path +package.path = "3rd/?.lua;lualib-src/?.lua;" .. package.path package.cpath = ";luaclib/?.so;skynet/luaclib/?.so;" -- lua ffi εΊ“