marialarsson / tsugite

This is the repository of a Tsugite. It is a research prototype of an interactive software that supports the design and fabrication of wood joints.
http://www.ma-la.com/tsugite.html
Other
434 stars 79 forks source link

windows 10 requirement? #3

Open bart9h opened 4 years ago

bart9h commented 4 years ago

Why require Windows 10, if the project is written in Python?

DanielJoyce commented 4 years ago

Probably has some hardcoded path name assumptions.

hudbrog commented 3 years ago

Sadly, won't work on mac os. Requires some opengl extensions mac doesn't provide =(

bmarien commented 3 years ago

What about linux?

ghost commented 3 years ago

@bart9h, @DanielJoyce, @bmarien

The problem was the hardcoded backslashes in the paths. I have replaced them to os.sep. I have sent a pull request with these changes. If you want to try it, you can use my fork too. Still there are problems for me but I am sure those are not because of my system (blackPanther OS Linux). I think the authors have some fixes for this just they did not uploaded them here yet.

@hudbrog Unfortunately I don't know mac but which are those opengl extensions? Could you show us error messages?

hudbrog commented 3 years ago

@hmikihth there are a few issues with using it on MacOS. First one, is that by default mac provides a 'legacy' profile that only supports opengl2. You can enable 'core profile' that supports more modern versions of opengl. After that - a small issue with how vertex arrays are initialized which can be fixed easily enough as well, here are the diffs:

diff --git a/setup/Buffer.py b/setup/Buffer.py
index 04f8070..ff2d002 100644
--- a/setup/Buffer.py
+++ b/setup/Buffer.py
@@ -14,6 +14,8 @@ class Buffer:
         self.parent = parent
         self.VBO = glGenBuffers(1)
         glBindBuffer(GL_ARRAY_BUFFER, self.VBO)
+        self.VAO = glGenVertexArrays(1)
+        glBindVertexArray(self.VAO)
         self.EBO = glGenBuffers(1)
         glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, self.EBO)
         self.vertex_no_info = 8
diff --git a/setup/Tsugite_app.py b/setup/Tsugite_app.py
index 50f5418..e415347 100644
--- a/setup/Tsugite_app.py
+++ b/setup/Tsugite_app.py
@@ -43,8 +43,12 @@ def get_untitled_filename(name,ext,sep):

 class GLWidget(QGLWidget):
     def __init__(self, parent=None):
+        glformat = QGLFormat()
+        glformat.setVersion(3,3)
+        glformat.setProfile(QGLFormat.CoreProfile)
+        # glformat.setSampleBuffers(True)
         self.parent = parent
-        QGLWidget.__init__(self, parent)
+        QGLWidget.__init__(self, glformat, parent)
         self.setMinimumSize(800, 800)
         self.setMouseTracking(True)
         self.click_time = time.time()

And after all that you will get: extension \'GL_ARB_explicit_uniform_location\' is not supported when building shaders. Fixing that would require a more thorough refactoring, but I don't have opengl skills to do one.

marialarsson commented 3 years ago

Thank you for bringing attention to this issue. We are currently working on making it run on Mac, too. If anybody got some solutions, please share.

callhomenow commented 3 years ago

Hi I would love Tsugite to run on mac OS!