Closed SheepDomination closed 1 year ago
I have a fork in progress with Windows support that you may find useful: https://github.com/hypothetical-inc/gaffer. There's a beta release on that repository from a few weeks ago that is mostly functional but still has some quirks and bugs.
I'm continuing to work towards getting it ready for production, passing unit tests and all that jazz, so check back every now and then for more updates.
Which repository should I be looking into to find the beta ?
This release here: https://github.com/hypothetical-inc/gaffer/releases
There's also been some discussion on the user forums at https://groups.google.com/forum/#!topic/gaffer-dev/KDspEgxy65A with some more information, history of the progress, etc.
I see the list of bugs among unknown bugs. From what I read the focus is primarily on VRay, rather then any other engine including Arnold.
Hi @SheepDomination Arnold did compile fine, but the python bindings seem to differ from the linux ones so that shaders and things were unable to scrape data and fill in the menus. Might be related to forward/backslashes but I didn't investigate further than that.
I'm busy right now with getting Cycles to work, but I can re-visit this at a later time using @ericmehl 's latest work. @ericmehl - would it be easy/possible to just download Arnold in your CI build so that it can build the plugin in Gaffer?
Cheers
I'll see if I can get that download working and building this week, I should have some extra time to give to it. I did make some changes in Gaffer concerning the forward vs. backslash to get the OSL shaders loading right - hopefully this will carry over or be easily adapted to Arnold too.
https://github.com/hypothetical-inc/cortex/blob/msvc2017_for_merge/contrib/IECoreArnold/src/IECoreArnold/UniverseBlock.cpp#L65 this line most likely will fix Arnold's shader menu listings, need to check...
It does fix the shader listings, but there are a couple of other things that need to be changed in Gaffer. I created a new branch with my latest: https://github.com/hypothetical-inc/gaffer/tree/arnold-windows
It gets Arnold recognized in Gaffer but it crashes for me when I go to create a shader or anything else that actually fires up the Arnold engine.
If you have interest @boberfly I'd be interested to see if you have better results getting it to work since you know the rendering side of Gaffer far better than me.
For example I get a number of warnings about unsupported parameters like this:
WARNING : GafferArnold::ParameterHandler::setupPlug : Unsupported parameter "matrix" of type "ARRAY" on node "ArnoldShaderBall.skyDome" of type "skydome_light" WARNING : GafferArnold::ParameterHandler::setupPlug : Unsupported parameter "filters" of type "ARRAY" on node "ArnoldShaderBall.__skyDome" of type "skydome_light" WARNING : GafferArnold::ParameterHandler::setupPlug : Unsupported parameter "shader" of type "NODE" on node "ArnoldShaderBall.skyDome" of type "skydome_light" WARNING : GafferArnold::ParameterHandler::setupPlug : Unsupported parameter "matrix" of type "ARRAY" on node "ArnoldShaderBall.skyDome" of type "skydome_light" WARNING : GafferArnold::ParameterHandler::setupPlug : Unsupported parameter "filters" of type "ARRAY" on node "ArnoldShaderBall.__skyDome" of type "skydome_light" WARNING : GafferArnold::ParameterHandler::setupPlug : Unsupported parameter "shader" of type "NODE" on node "ArnoldShaderBall.skyDome" of type "skydome_light"
And a crash on access violation when it hits
8 0x00007ffc82fdbc0e [GafferScene ] GafferScene::Sphere::zMaxPlug
@ericmehl I'll fire up the old MSVC machine here and take a stab at it. From the looks of it, the string matching code to figure out the parameters might not be dealing with wchar properly but I'll need to throw it at a debugger to be sure. That .string() trick might do it though. https://github.com/GafferHQ/gaffer/blob/master/src/GafferArnold/ParameterHandler.cpp#L311
I'm thinking the crash and the warnings are not related now. I did a quick debug and I'm finding that Gaffer isn't able to create the m_renderer object at https://github.com/GafferHQ/gaffer/blob/47ed242c0b01c2110cf57cd9aed5263dca6e4504/src/GafferScene/InteractiveRender.cpp#L208
When I stepped through it, Gaffer knows about Appleseed and OpenGL but Arnold seemed to have missed the wagon. I'll keep poking around a little too and share what I can discover.
I managed to get Arnold working on Windows! It turned out to be a simple case of adding the IECoreArnoldPreview that was mis-pathed and the changes I put up on Friday. I have those in my ongoing https://github.com/hypothetical-inc/gaffer/tree/msvc2017_for_merge branch.
Right now though to get Arnold support use this specific build which includes Arnold for Cortex and Gaffer: https://www.dropbox.com/s/31rmlu0bd9d31zq/gaffer_build.zip?dl=0
I'm putting that up as a separate build since it's not a result of my CI pipeline. I'll have to sort out how / if I'll continue supporting Arnold in my fork since I don't use it in production and maintaining separate builds for it may become more than I can take on.
But for those building from source the chain now works with Arnold. You will need:
Is Arnold required to be installed ?
@SheepDomination yeah just like the Linux version, it should exist in your PATH environment variable.
@ericmehl its just for visibility on our Work in Progress board, but can you assign this issue to yourself? I can't seem to assign you for some reason... maybe your username has restricted permission settings?
Hmmm, I don't seem to be able to assign myself either. I think because I don't own the repository? It sounds like I need to be invited to be a collaborator first, via the repo's settings.
I've invited you to be a collaborator Eric - let me know if it doesn't arrive for any reason. If being assigned to the issue is more of a public commitment than you want to make though, just let me know...
Great, I just accepted it. I'm happy being assigned publicly, I'm looking forward to getting back to it once I have the Cortex bits wrapped up!
Great! Assigned!
Just linking the latest build and the forum thread where it was announced :
https://github.com/hypothetical-inc/gaffer/releases/tag/0.55.1.0 https://groups.google.com/forum/#!topic/gaffer-dev/rQraWNbDxaU
Hi Eric,
Is there a build steps on windows in detail.
Thanks
any news 0.56?
@c17vfx Probably early - mid March. I have a project keeping me busy until then and I'll update the Windows build after. @ZhongLingXiao apologies for missing your message, I'll put together more info on building when I make that update.
Wondering if this is in the near horizon? We are still on windows at the studio due to limited time and resources for a Linux migration which is a huge bottleneck for deploying a gaffer pipeline. Would love to switch to gaffer if there is a windows version coming soon.
Hey @noizfactory, this is definitely still happening! In fact we're working out some final issues to get a new Windows release out, hopefully in the coming weeks. It won't be 100% tested and buttoned up, but it will be better tested than the last release from my fork, and have all the latest additions since 0.61.1.2
as well.
This is now on the very close horizon!
The 1.2.0.0a1 Pre-release has officially added a Windows build, see discussion on 1.2.0.0a1.
Windows : Added official builds for Windows.
Thanks @ericmehl for your continuous efforts on this front!
Closing, since 1.2.0.0 has now been released with Windows support. Thanks once again @ericmehl!
Is there plans for a Windows version ?