So I’ve got a Windows 7 and OSX Lion machine at my disposal, and I’ve been able to setup distributed rendering to work great between them!
Only problem though… is I cant figure out how to make texture maps accessible to the render slave (OSX).
Normally I use UNC file paths when distributed rendering between my windows machines, but the Mac doesn’t seem to like that.
My windows machine is the main one where the project files and textures are located… and the render is being fired off from.
Any tips on what I can do to get DR to work with textures between the two OS’s?
I’m using Maya 2013 and VRay 2.30.01
I’m having a similar problem with texture maps not being accessible by, or distributed to, my slave machines. The difference is that I’m on a Mac that is distributing to other Macs which do not share the same network volume path. I require the textures to be sent from the master to the slaves if they are missing.
Apparently in the nightly builds, there exists a feature called “transfer missing assets”, which allows you to ignore the identical filepath requirement. Take a look here. Not much information is provided, but I’m assuming that my version (2.30.01) is not recent enough to have this option under Distributed Rendering settings. I would like to know which in version this “transfer missing assets” feature was added, and if it’s possible to take advantage of it in my currently installed version.
You should try declaring a path variable in the environment for both mac and pc. Here is an example, the variable can be a different path between mac and pc.
Lets say your pc texture path is //server/project/textures and your mac path is //usr/server/project/textures. Note that each environment is only for specific platform, so for pc use only the pc line same for mac.
::PC path
SET texPath=//server/project/
::Mac Path
SET texPath=//usr/server/project/
Then your texture path will look like this: {texPath}/textures/image.jpg
During rendering vray will substitute {texPath} variable with the declared path.
There should be environment file located in “C:\Users\user\Documents\maya\2013-x64\Maya.env”
You can edit it there. You can then go to maya’s script editor and check if the variable has been loaded by typing getenv texPath; maya should print the path as declared in your variable.
You would have to edit every maya.env file on every render machine to reflect your path. Or alternatively, like we do, load maya with a command file which declares all the variables (its better but more complicated to explain)
For your filenode, first you load your texture as you normally would, but then you can edit the actual text as it appears in the file node in maya’s attr editor, in there that’s how you replace the path line with the {texPath} variable.
That’s great - So I’ve declared the path variables, and they are working fine.
However, when I edit the Image Name text as it appears in the file node in maya’s attr editor, and replace the path with my variable and hit enter - maya automatically changes it back to a local file path… is it supposed to do that?
yeah I think we dealt with that too. What you do is just change the path to {texPath}, even though maya will change it back, if you save your scene, close/open it will display the {texPath} next time. Try it, that should work.
I figured out how to correctly setup the environment paths and file node. You have to put a ‘$’ before the bracketed environment path, like: ${LibraryPath}
So I set them up on both machines, and when I open the file on either machine, it’s able to use the environment paths to correctly find the texture file!
Unfortunately, it still doesn’t seem to cooperate with VRay’s Distributed Rendering. I double checked the file and environment path setup on both machines, and they work correctly. However when I try to use DR, the slave machine gives me this error:
warning: Bitmap file “/Textures/Wood/Aged.jpg” failed to load: Failed to open file: no such file.
The file node’s image file value is: ${LibraryPath}/Textures/Wood/Aged.jpg
VRay’s DR seems to strip out the environment path variable.
its probably because when you launch spawner, it does not initialize actual maya so you need to declare this variable in the cmd file try something like this:
You can also use VRAY_ASSETS_PATH environment variable to tell V-Ray for Maya and V-Ray Standalone where to look for textures. This approach requires manually running the render slave from terminal. Just before to start it on each node you need to add the following command:
VRAY_ASSETS_PATH is pointing to the local path and if there are unresolved paths in the scene appeared during rendering, this variable points V-Ray render to the locally saved textures.
Oh… I was actually looking to buy some more render hardware and there are some really good Mac pros for sale but I can’t deal with constant pc/mac bridging…just not worth the time
Hey guys, I hope you don’t mine me jumping into this thread because I’ve got similar issues. I’m trying to use the “Transfer Missing Assets” feature in the latest build for slave machines that don’t share the same network path. I need the master to transfer the scene and textures to the slaves. For clarity, I’m using all Macs, and I’m running “/Applications/Autodesk/maya2013/vray/bin/vrayslave” from the slaves, and “Render -r vray …” from the master. (How to get the vrayslave to launch as root when the computer starts up is another problem…)
When “Transfer Missing Assets” is not checked, the slaves will render, but without textures, which produces incorrect buckets.
When “Transfer Missing Assets” is checked, I get the following output on the slave running vrayslave.bin
/Applications/ChaosGroup/V-Ray/Maya2013-x64/bin/vrayslave
[2013/Feb/7|14:07:23] Reading configuration from "/Applications/Autodesk/maya2013/vray/bin//vrayconfig.xml"
[2013/Feb/7|14:07:23] ===============================================
[2013/Feb/7|14:07:23] V-Ray Standalone, version 2.25.01 for x64
[2013/Feb/7|14:07:23] Copyright (C) 2000-2012 Chaos Group Ltd. All rights reserved.
[2013/Feb/7|14:07:23] Use -credits option for additional third-party copyright notices.
[2013/Feb/7|14:07:23]
[2013/Feb/7|14:07:23] Build 22637 from Jan 8 2013, 15:22:41
[2013/Feb/7|14:07:23] Compiled with GCC-compatible compiler, version 4.2
[2013/Feb/7|14:07:23] Operating system is Mac OS X
[2013/Feb/7|14:07:23]
[2013/Feb/7|14:07:23] V-Ray core version is 2.00.02
[2013/Feb/7|14:07:23] ===============================================
[2013/Feb/7|14:07:23]
[2013/Feb/7|14:07:33] Loading plugins from "/Applications/Autodesk/maya2013/vray/vrayplugins/libvray_*.so"
[2013/Feb/7|14:07:34] 110 plugin(s) loaded successfully
[2013/Feb/7|14:07:34] Loading plugins from "/Applications/Autodesk/maya2013/vray/vrayplugins/libstd_*.so"
[2013/Feb/7|14:07:34] Finished loading plugins.
[2013/Feb/7|14:07:34] Entering server mode - waiting for render requests on port 20207. Press Ctrl+C to exit.
[2013/Feb/7|14:08:07] Starting DR session from [I]<masterIP>[/I]
[2013/Feb/7|14:08:07] Receiving DR scene from [I]<masterIP>[/I]
[2013/Feb/7|14:08:07] warning: DR request received from [I]<masterIP>[/I], but currently busy with [I]<masterIP>[/I]
[2013/Feb/7|14:08:07] Reading scene file "/tmp/vrscene_20207.txt"
[2013/Feb/7|14:08:07] /tmp/vrscene_20207.txt: done [ 0h 0m 0.0s]
[2013/Feb/7|14:08:07] Scene file parsed successfully in 0.0 s.
[2013/Feb/7|14:08:07] Scene created successfully.
[2013/Feb/7|14:08:07] Objects in scene: 62
[2013/Feb/7|14:08:07] Starting render sequence.
[2013/Feb/7|14:08:07] Preparing renderer...
[2013/Feb/7|14:08:07] Creating bitmap manager 0m 0.0s] [ 0h 0m 0.0s est]
[2013/Feb/7|14:08:07] Preparing scene for rendering...: done [ 0h 0m 0.0s]
[2013/Feb/7|14:08:07] ========================
[2013/Feb/7|14:08:07] Starting frame 1.
[2013/Feb/7|14:08:07] warning: Environment variable VRAY_ASSETS_CACHE_PATH is not specified.
[2013/Feb/7|14:16:28] warning: Bitmap file "/tmp/vray_assets_cache/20207_7a47b5cf63a6727dd59f7f5ef0c740e6_Arches_E_PineTree_3k.hdr" failed to load: [LoadImageFile] Failed to open file: no such file
[2013/Feb/7|14:16:28] Number of raycasts: 0
[2013/Feb/7|14:16:28] Camera rays: 0
[2013/Feb/7|14:16:28] Shadow rays: 0
[2013/Feb/7|14:16:28] GI rays: 0
[2013/Feb/7|14:16:28] Reflection rays: 0
[2013/Feb/7|14:16:28] Refraction rays: 0
[2013/Feb/7|14:16:28] Unshaded rays: 0
[2013/Feb/7|14:16:28] Number of intersectable primitives: 601
[2013/Feb/7|14:16:28] SD triangles: 600
[2013/Feb/7|14:16:28] MB triangles: 0
[2013/Feb/7|14:16:28] Static primitives: 0
[2013/Feb/7|14:16:28] Moving primitives: 0
[2013/Feb/7|14:16:28] Infinite primitives: 1
[2013/Feb/7|14:16:28] Bitmap file "/tmp/vray_assets_cache/20207_7a47b5cf63a6727dd59f7f5ef0c740e6_Arches_E_PineTree_3k.hdr" unloaded.
[2013/Feb/7|14:16:28] Cleaning up bitmap manager
[2013/Feb/7|14:16:28] Closing DR session from [I]<masterIP>[/I].
The only thing I can find online that’s similar to VRAY_ASSETS_CACHE_PATH is this section in the manual on environment variables, but this variable isn’t mentioned there, and I don’t know that it even matters because the textures are not located on the slave machine unless sent from the master. I’m not sure if I need to set the environment variable manually, or if I should be doing something different altogether to use the transfer missing assets feature.
Do you have a /tmp folder on your machine? If not, then you will need to set the VRAY_ASSETS_CACHE_PATH environment variable to a folder that actually exists, right before running the slave.
Other than that, we are trying to get newer Mac OS X builds out and we’ll check it out.