-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OpenCSG renders with errors on Macbook Air [$5] #65
Comments
Which version of OpenSCAD are you using? |
I tried both pre-compiled versions, 2011.12 and 2011.06 for OpenSCAD. This is the my OpenGL Info: GLEW version 1.7.0 RGBA(8888), depth(24), stencil(8) |
I have no idea yet, but I'll test on Lion later today or tomorrow. Don't have a Macbook with an Intel card though - I suspect that to play a part. Oh, and: Some OpenSCAD dependencies (e.g. libgmp) doesn't compile on clang (the default compiler on 10.7), so to compile it yourself you probably need to change back to gcc. It might be that MacPorts solves this for you though, but I haven't tested. |
I found a similar issue last night as well, running 10.7.2 on a latest generation Macbook Air, openSCAD 2011.12 using the pre-compiled DMG download on the main website. Windows - http://img.ly/cB93 Mac - http://img.ly/cB92 My OpenGL Info: GLEW version 1.7.0 RGBA(8888), depth(24), stencil(8) |
Thanks for verifying, so I'm not crazy. Thanks for the tip about clang. I'll try to get it to compile today. |
I need a little bit of help. I'm having trouble compiling the pre-requisite, OpenCSG. The rest of the pre-requisites I was able to install using homebrew. I seem to be missing the Glew symbols. Does the Makefile for OpenCSG compile Glew also? I see it included in the directory for OpenCSG. How would I get the Glew lib linked corrected? Thanks. My make output is below: [ruby-1.9.2-p0 /private/tmp/homebrew-opencsg-1.3.2-9Wb2/OpenCSG-1.3.2 ]
cc -dynamiclib -install_name /usr/lib/libGLEWmx.1.7.0.dylib -current_version 1.7.0 -compatibility_version 1.7 -o lib/libGLEWmx.1.7.0.dylib src/glew.mx.pic_o -framework AGL -framework OpenGL <....a whole bunch of symbols for __GLEW /> ld: symbol(s) not found for architecture x86_64 |
On Jan 12, 2012, at 20:41 PM, Wil with one L wrote:
If you look inside there, you can see that I'm patching OpenCSG to fix the build system. -Marius |
The example which ships with OpenSCAD fails in the same fashion. |
Cool. I contacted him about compiling OpenCSG. He seems pretty responsive. I've managed to get close to compiling openSCAD. the only part that didn't work was, you guessed it, compiling openCSG, even with your build dependencies script. Keep me updated on this issue. Thanks. |
I just added an experimental setting under Preferences->Advanced, where you can force OpenCSG to use the Goldfeather algorithm. I believe this will work around these problems for now. I'm building new Mac binaries as we speak - please test and report back :) |
I still had problems compiling OpenCSG from your mac build script. I had to go in OpenCSG 1.3.2 in the openscad library directory your script creates and edit the makefiles after the patch in the build script, namely including the GLEW library in the libs options (-lGLEW) and turning off the i386 architecture in the cflags options (it couldn't find GLEW symbols for i386). Now, I'm getting an error about it not being able to find Eigen. It wasn't in the mac build script to download and compile Eigen. Should it be?
|
The build script builds fat (32+64 bit) libraries, so you'd need GLEW to also be fat. Since Eigen is header-only, I install it using MacPorts: port install eigen In addition, I install Qt using the official binaries. |
One last question: However, when I go to run the application, it crashes: Application Specific Information:
I seem to be missing libopencsg.1.dylib. however, I explicitly copied it to my openscad_libraries/install/lib directory, and it seemed to have found it during compile time. I don't know what env variable or path setting I need to point to that lib directory to get it to work. Do you happen to know? Thanks. |
You should set the DYLD_LIBRARY_PATH to where the dylibs are installed. |
btw., did the latest development binaries I posted work if you change the "Force Goldberg" preferences setting? |
Thanks for the tip, I'll give it a shot. Oh neat, there's a dev binary. I had misinterpreted what you said earlier, which is why I kept trying to compile. I did just try it out and it works...sort of. The general shape is correct, but there are visual artifacts of where the intersection is. https://skitch.com/iamwilhelm/g3kgm/preferences The visual artifact kind of shimmers and changes as one rotates the model around. But overall, I think it's usable as a patch, thanks! How would we get to the bottom of the original bug? I assume we'd have to rely on a fix from the maintainer of OpenCSG? |
I talked to Florian, the maintainer. |
I just tried it with a more complex model: http://www.thingiverse.com/image:95164 It doesn't look like that at all when I render it in OpenSCAD: https://skitch.com/iamwilhelm/g3kct/openscad-gregs-new-x-carriage.scad Does it look correct when you render that thingiverse object? I don't know what exactly is the culprit in the model's code, but I just wanted to check that it doesn't look like that for you as well. |
Having exactly the same issue with mt Macbook Air 2011, is there's any extra info I can give you that would help fix it just let me know. |
I believe this has only been observed on that particular Macbook Air revision (with the Intel HD 3000 GPU). Btw., in the latest development snaphot, there is a "Force Goldberg" preference setting which should temporarily work around this. Have you tried turning on that? |
After just a little testing, "Force Goldberg" seems to work fine, but I will try more complex renders. Are there any cons using "Force Goldberg" that I should know when working in my renders? Un fortunatelly I dont have any OpenGL experience, is there anything else I can do to help? |
I'm not sure what cons there are with Force Goldberg. If someone looks at this in detail, it would be beneficial to discuss it with Florian, the OpenCSG author. He was the one suggesting this temporary workaround in the first place. |
I believe the root issue here is that the Intel HD Graphics present on current gen MacBook airs( and previous for that matter) does not support the full OpenGL 2.0 specification. What would have to happen (I think) is openCSG would have to be written to utilize CoreGraphics as my understanding is CG will translate any unsupported calls in ones the hardware understands. I'm an iOS developer so this is coming from my understanding of how CoreGraphics works on the mobile devices, but it's effectively unchanged from OS X. I'm guessing this Workaround Florian provided does something similar. |
The drivers claim to do OpenGL 2.0. If they're not compliant, they shouldn't be allowed to tag it as OpenGL 2.0 as that would severely undermine OpenGL. |
iamwilhelm: Just FYI: The latest version of the build script works fine on a pretty plain Lion machine. OpenSCAD also runs and build fine: https://github.com/openscad/openscad/blob/master/scripts/macosx-build-dependencies.sh (this has nothing to do with the Intel GPU issue, but just a note for the ones trying to hunt for it under Lion) |
I've noticed the same issue in Ubuntu running in an Atom netbook with al Intel GMA 945 graphic chip. Seems to be an Intel GPU issue, not operating system related. |
Mark:
|
Some ideas/suggestions/questions from Florian/OpenCSG:
My notes:
|
This appears to be a Mac / Linux only issue. I have a Windows 7 Dell Latitude laptop running an Intel GMA965 with Intel's latest drivers from 2009, and it renders correctly with the latest pre-compiled binaries fresh from installation (no changes made). Screenshot from that - http://img.ly/dyMI. There are some rendering artifacts inside the M, but it renders the full M correctly unlike my Macbook Air - http://img.ly/cB92 OpenGL info for that machine: GLEW version 1.7.0 RGBA(8888), depth(24), stencil(8) |
Have same issue with HD3000 on i5 2500k. From some internet research it looks that only problem is, that intel hd graphics are crap with even crappier drivers :-/ Tomorrow Im gonna buy a new graphics card for my desktop and I'm happy that my macbook air is still with nvidia graphics :-) |
Mac Minis were missing most external surfaces in 3d view, turning on goldfeather in preferences-advanced after seeing kintel's comment seems to have fixed it. |
Can anyone still reproduce this issue? |
Closing as likely to be an ancient driver issue, possibly solved by OpenCSG-1.4.2 and new drivers. |
When I put in the test case:
intersection() {
sphere(30);
cube(30);
}
It's suppose to show 1/8th of a sphere. However, the display is completely blank and empty. This only happens with intersection and difference. For union, they both show up correctly.
I'm running mac os X 10.7.2. Lion. Are there libraries I need to install or check before I install openSCAD? I suspect I may be missing a library. But if not, then it's a bug with openSCAD.
I will try to compile it from source and see if I have the same issue.
Did you fix this issue? Go claim the $5 bounty on Bountysource.
The text was updated successfully, but these errors were encountered: