1
$\begingroup$

I have a scene that renders differently when rendering from the command line and using the GUI.

Specifically, objects go missing from the render when using the command line.

I use the following command (tested in OS-X terminal):

/Applications/blender-2.5x/blender.app/Contents/MacOS/blender -b GzContrejour.blend -o bl_out/render.png -F JPEG -x 1 -f 1
$\endgroup$
  • $\begingroup$ Could you post a screen shot? $\endgroup$ – Qwertie May 1 '14 at 12:35
  • $\begingroup$ What happens if you press File > External data > Make all paths absolute, save the .blend, and then retry the command line render? $\endgroup$ – gandalf3 May 1 '14 at 23:14
  • $\begingroup$ @gandalf3 I get the same result. I actually replaced the material using the texture with something else, and the object still doesn't show, so the texture is not the culprit. $\endgroup$ – user3345 May 2 '14 at 8:40
  • $\begingroup$ @gandalf3 found it. you can see my answer below. I feel sorry for asking but what can I say... $\endgroup$ – user3345 May 2 '14 at 9:12
1
$\begingroup$

The problem was that I created the scenes using blender 2.66, but invoked Blender 2.58 on the command line; there are backwards compatibility issues involved here although I forgot exactly what it was (something to do with ngons I believe). Regardless the end result is that precious few object types created in 2.66 will load in 2.58 so the real surprise here was that anything was displayed at all.

Thanks for everybody who kindly tried helping with this. Took me a while to track the issue as I usually need to keep several versions of blender installed so I guess this 'issue' wouldn't affect many people.

| improve this answer | |
$\endgroup$
  • $\begingroup$ Personally I still pity that Blender 2.58 should even attempt loading these files, took us ages to figure what was going on when some colleagues quietly migrated to 2.6x when others did not, so we started seeing weird stuff when swapping files around... $\endgroup$ – user3345 May 2 '14 at 9:14
  • 1
    $\begingroup$ You can triangulate the meshes in your 2.63+ .blend, then save with Legacy Mesh Format enabled. Older versions, which do not support Ngons, will be able to load them correctly. But keep in mind that the triangulation may mess up some things like normals. $\endgroup$ – CodeManX May 3 '14 at 23:39
  • $\begingroup$ @CoDEmanX thanks, I think all our team members migrated to 2.6x by now, so the only thing left to do really is me removing the older version. The only point I'm making (and this may not be the right place to do it) is failing silently isn't good in this case (it is rarely a good thing imho); displaying a warning would be appropriate... $\endgroup$ – user3345 May 5 '14 at 11:35
  • $\begingroup$ Well there's backward and forward compatibility in Blender, so you can basically load an old file in a new Blender and vice versa. If you load a new .blend in an old version, some things may break, but there's no way to determine that (unless you time-travel back and tell the old Blender what features and forward-compatibility-breaking changes will be made in future). If you experience any issues, check the release docs for what may have changed. You can check the .blend version with a hex editor, the very first bytes are human-readable (if they aren't, decompress the .blend using 7-Zip). $\endgroup$ – CodeManX May 5 '14 at 14:10
0
$\begingroup$

My first instinct is to go into the UI and look at the paths on the files for the images that are part of the textures. If they don't begin with a / or // then they can malfunction when you run blender from a different directory than when you start the UI.

This sounds like a problem that would best be solved interactively in IRC (freenode #blender) and then the true solution posted afterward.

| improve this answer | |
$\endgroup$
  • $\begingroup$ I would much rather use a relative path... But I get the idea, looking into it. $\endgroup$ – user3345 May 2 '14 at 6:43
  • $\begingroup$ Solved it, see below. $\endgroup$ – user3345 May 2 '14 at 9:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy