adjust dependency calculations for cache files of smoke simulations (no more separate paths for low and high). That was changed a while ago in the api, just didn't update yet.
New Feature:
VCS job type
Render a file (with dependencies) from a version control system (currently only supports subversion, but system is already generic).
On client, working path, server path and current revision can be guessed from data on disk or entered manually.
On slave, a working copy is created (if needed) where specified by the job and updated to the proper revision.
On master web page, job types now appear in the job lists. The job page shows the list of dependencies for "normal" jobs or versioning information for VCS jobs.
Limitations: Need to have command line tools "svn" and "svnversion". Working copy path must be the same on client and slaves (the client gets the job path relative to the working copy). When guessing, working copy path is set to the folder where the current file is (this can be changed manually after). On the slave, it will update the working copy AS SPECIFIED to the revision, so if that path is too deep, some dependencies will not be updated properly. Doesn't support mixed revisions (and will not give any warnings for that), it will always use the first revision specified by "svnversion"
Bugfix:
Thumbnail generation doesn't chew down memory anymore and always gives correct result (thumbnail on master especially could mess up between jobs with the name result filename)
netrender client's functions to get slaves and jobs info didn't work anymore (was reading response content twice).
At the same time, I switched to json for the dump and load, instead of using eval and repr (for obvious security reasons). I should have done this much earlier.
Changed some names when applying.
- render was use_render, changed to show_viewport so call it show_render
- texface shadow was use_shadow_face, changed to use_shadow_cast since this only affects casting.
- transp was alpha_mode, changed to blend_type since its similar to other overlay blending where this property name is used.
slave use output log option correctly
use os.path.join more consistently (reported by Dalai Felinto)
unify frame range (was 4 digits on master, 6 elsewhere, now 6 everywhere).
Fix occasional broken pipe between master and slave (didn't affect result, just polluted log).
also made all other exporters do this.
Made some internal changes.
- moved path functions from bpy.utils to bpy.path (similar to os.path)
- added functions...
bpy.path.ensure_ext(path, ".ext", case_sensitive=False) # simple function to ensure the extension is set.
bpy.path.resolve_ncase(path) # useful for importing scenes made on windows where the path case doesnt match the files.
- multires cache files and image .tex cache support in dependency list
- Compare md5 of files before using a local copy (not one transfered by netrender). Could be changed to a simpler CRC if speed is an issue. The goal is not to have a strong crypto signature but just to detect outdated local files.
- Reduce slave timeout to 5 minutes (down from 30). Slaves should report at most every 30s, there's no reason for a value to be that high.
- Reorder the presentation tables on the main web page (job list is more important)
- Collapse dependency list by default on job page (only show main file and headers for other files, point cache and fluid cache)
- Slave option (default: True) to also output render log to the console (as well as the usual copy to the master)
Also force post process off.
This is a partial fix for Bug [#21410], there is still the problem that loading back multilayer exr as render results doesn't load the composited result correctly (bug is assigned to Brecht). The results are still ok when downloaded outside of the render engine, so there's a work around for now.
Slave and Master options to delete files when closed (default True for slave, False for Master)
Web interface option to remove files (on master) when deleting a job (or all jobs)
Web interface button to pause a job
- Add "Get Result" button after a job has been sent (this calls Animate and fetches the results back as render result buffers)
- Rendering (animate or single frame) without an active job was broken. Note that this launches a new job for each frame (it's impossible in a render engine to know if an animation is being rendered or a single frame only).
- Patch by Olivier Amrein (prettying the web interface with css, fixing some notification bugs)
- More error checks on the slave (better behavior when job is canceled)
- Client: when using "Animate on Network" and canceling render midway, also cancel job. Use Send Job and Animate if you want a real background job.
use a real object for files instead of a tuple
unique urls for files, logs and render results (just missing the proper mime type for exr files)
fix bug with slaves not getting the correct machine name
Support for fluid files and better support for point cache (including external cache for particles)
This also fixes a couple of bugs with frame based dependencies and with file transfer.
NOTE: With external point cache and fluids, the path needs to be relative or relative to the file (starting with //) if the files are not on a shared drive. It should eventually warn if that is not the case, but doesn't right now, so be careful.