The dev team was working on bug fixes and stability improvements during the last three weeks.
First, a fatal bug in the internal representation of curves (e.g., chained feature edges, and strokes) was fixed. The bug was in the constructor of the CurvePoint class in the C++ layer, and in fact it was the source of several similar bugs. For ease of future bug hunting, a fatal error in the CurvePoint constructor will result in a verbose error report in the console. If you encounter a crash of this kind, please let us know.
Second, a bug in the SpatialNoiseShader was fixed. The SpatialNoiseShader is used by standard style modules to add noise distortion to strokes. The symptom of this bug was that some strokes resulting from the SpatialNoiseShader occasionally disappear from a render. The problem was caused by a signed integer overflow in the PseudoNoise generator used by the shader. When image resolution was very large (2000-by-2000 for instance), the buggy PseudoNoise generator could yield a series of huge noise values, which tossed the distorted strokes out from the image boundary.
Finally, a proper support for relative paths of style module files was implemented. It is recalled that in Blender, file paths are either absolute or relative from the directory in which a .blend file resides. When relative paths are used, it is a user’s responsibility to keep the relative paths valid. To help you maintain valid relative paths, Blender offers you the “Remap Relative” option when you save a .blend file. Suppose that you have created a new scene from scratch (based on the default scene after startup). When you save the new scene for the first time, the default .blend file path will be $HOME/untitled.blend, where $HOME refers to a platform-specific home directory. If you have relative paths in the new scene data, they are relative from $HOME. Therefore, if you want to save the .blend file into a different directory, it is your care to update the relative paths accordingly (otherwise, the relative paths will no longer be valid). The ”Remap Relative” option does these updates of relative paths automatically. And from revision 33068 of the Freestyle branch, the “Remap Relative” option takes care of relative paths of style module files. In addition, the following operations work properly with respect to style module files:
- File >> External Data >> Make All Paths Relative
- File >> External Data >> Make All Paths Absolute
- File >> External Data >> Report Missing Files