sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    [Question] Is it possible to set the face.normal?

    Scheduled Pinned Locked Moved Developers' Forum
    23 Posts 5 Posters 2.7k Views 5 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J Offline
      Jim
      last edited by

      I don't really know, but OpenGL must have hooks, or act as a server because of the existence of software such as 3D Printscreenwhich is able to capture the 3d Sketchup model and export it to some 3dxml format.

      So if the OpenGL data can be "hooked" into, then does the possibility exist to use more OpenGL features not native to SU?

      http://forums.sketchucation.com/viewtopic.php?f=10&t=11943&p=84502&hilit=+shaders#p84502

      Hi

      1 Reply Last reply Reply Quote 0
      • thomthomT Offline
        thomthom
        last edited by

        Isn't that what Adam B does with LightUp? Hook into the SU's OpenGL? All though, from C and not from Ruby.

        Thomas Thomassen β€” SketchUp Monkey & Coding addict
        List of my plugins and link to the CookieWare fund

        1 Reply Last reply Reply Quote 0
        • Q Offline
          qpik
          last edited by

          These are the libraries included in Ruby Windows installer:
          http://ruby-opengl.rubyforge.org/.

          1 Reply Last reply Reply Quote 0
          • Chris FullmerC Offline
            Chris Fullmer
            last edited by

            But I'd still like to understand if you are getting this to interact with SketchUP somehow? Can you change what and how SU renders with this?

            Chris

            Lately you've been tan, suspicious for the winter.
            All my Plugins I've written

            1 Reply Last reply Reply Quote 0
            • thomthomT Offline
              thomthom
              last edited by

              Is this Windows and OSX compatible?

              Thomas Thomassen β€” SketchUp Monkey & Coding addict
              List of my plugins and link to the CookieWare fund

              1 Reply Last reply Reply Quote 0
              • Q Offline
                qpik
                last edited by

                Yes you can! πŸ˜„
                I've just found the first thing that changed the view of the model.
                I typed in the Ruby console glDisable(GL_DEPTH_TEST).
                To see result try turning the model around.
                Bear in mind that I'm just starting to learn OpenGL πŸ˜’ .

                ps. You need to run SU with the files from the zip above in Plugins, except the example.

                1 Reply Last reply Reply Quote 0
                • PixeroP Offline
                  Pixero
                  last edited by

                  SU keep asking for glut32.dll. It's not in the zip you provided?

                  1 Reply Last reply Reply Quote 0
                  • Q Offline
                    qpik
                    last edited by

                    @pixero said:

                    SU keep asking for glut32.dll. It's not in the zip you provided?

                    It didn't ask me. Maybe because I have it in my Ruby installation.

                    1 Reply Last reply Reply Quote 0
                    • Q Offline
                      qpik
                      last edited by

                      I suppose so, try it on Mac.

                      Below is not however, only Windows. This seems to freeze SketchUp OpenGL.

                      FindWindow = Win32API.new("user32.dll", "FindWindow", ['P','P'], 'N')
                      GetDC = Win32API.new("user32.dll", "GetDC", ['N'], 'N')
                      GetCurrentContext = Win32API.new("opengl32.dll", "wglGetCurrentContext", ['V'], 'N')
                      CreateContext = Win32API.new("opengl32.dll", "wglCreateContext", ['N'], 'N')
                      MakeCurrent = Win32API.new("opengl32.dll", "wglMakeCurrent", ['N','N'], 'V')
                      DeleteContext = Win32API.new("opengl32.dll", "wglDeleteContext", ['N'], 'V')
                      
                      
                      hwnd = FindWindow.call(0, "Untitled - SketchUp")
                      hdc = GetDC.call(hwnd)
                      hglrc = GetCurrentContext.call()
                      DeleteContext.call(hglrc)
                      

                      I wonder if this is good direction?

                      1 Reply Last reply Reply Quote 0
                      • PixeroP Offline
                        Pixero
                        last edited by

                        So where can I get a Ruby install that has it?

                        1 Reply Last reply Reply Quote 0
                        • Q Offline
                          qpik
                          last edited by

                          One-click windows installer has it. Here: http://rubyinstaller.org/

                          1 Reply Last reply Reply Quote 0
                          • PixeroP Offline
                            Pixero
                            last edited by

                            Anyone getting more than one line to work?

                            1 Reply Last reply Reply Quote 0
                            • Q Offline
                              qpik
                              last edited by

                              I only got to change some OpenGL Server variables like GL_COLOR_MATERIAL or GL_DEPTH_TEST.
                              I don't know the way to hack into drawing context. I wonder how it is done in LightUp (supposing it is done similar way), maybe a window is layered on top of native SketchUp viewport.

                              1 Reply Last reply Reply Quote 0
                              • Chris FullmerC Offline
                                Chris Fullmer
                                last edited by

                                I don't think Lightup does this. I think it renders materials and bakes them into faces in SU. At least that is my (severely limited and naive) understanding.

                                Lately you've been tan, suspicious for the winter.
                                All my Plugins I've written

                                1 Reply Last reply Reply Quote 0
                                • 1
                                • 2
                                • 1 / 2
                                • First post
                                  Last post
                                Buy SketchPlus
                                Buy SUbD
                                Buy WrapR
                                Buy eBook
                                Buy Modelur
                                Buy Vertex Tools
                                Buy SketchCuisine
                                Buy FormFonts

                                Advertisement