also removed FTYPE as an optional format (TODO - remove FTYPE from render output panel since you cant use FTYPE anymore and its not used internally, hint hint)
Correct playback frames per second when "Play" is pressed. (Play spawns a new instance of blender, it could pass an argument that sets the frames per second)
(double credit :)
- treat file passed as parameter the same as if loaded from UI if Blender isn't running in background mode.
- only set relative base as valid if file loaded successfully.
Old log Message:
-----------
bug fix, when opening blender with a file (by double clicking or from the
command line) - the initial undo state would be set to the default scene.
So holding Ctrl+Z would go back to the default .B.blend rather then the
file that the user opened.
Tree From Curve,
- report error when nurbs or poly curves are used.
- don't throw errors when >4 branch's per segment are used. also try deal with this better. though no nice solution exists.
- default speed is 10x slower then before.
Add a new command line switch "--" for passing arguments to scripts.
Any arguments after -- are not processed and passed unchanged via
the usual argv mechanism.
Custom arguments can be accessed from a bpy script in python's
sys.argv. Example:
import sys
# slice argv after '--'
i = sys.argv.index('--')
my_args = sys.argv[i+1:]
When setting the filename for export foo_#_bar would not be renamed to foo_00001_bar, It only worked when # what the last char of the name.
removed the text from --help that says this is supported.
.svn directory would get copied and it has some files that are
write protected, which means that the build would fail the second
time you run make. Needs a better solution.
The good news; previously written 64 bits are still valid! All fixes
appeared to be possible in code, no versioning patches needed. :)
That also removes the I AM STUPID 64 bits ban from the code.
The bad news:
I couldn't get a 64 bits Blender running here (ghost-mac issues... it
has to be recoded using Quartz to be able to run 64 bits). So what I
have tested was:
32 bits binary:
- Appending/linking data from 64 bits file.
- Reading 64 bits chained library-linked files (file -> file -> etc)
- Linking 32 bits files with 64 bits files
This has to be tested for 64 bits too. Will drop in IRC now to help.
Now all windows open in a border as opposed to fullscreen. blender -W restores
old functionality, blender -w is now default. This lets each platform's window
manager deal with it's own issues.
As per issue 6391 in the patch tracker.
This will allow python or plugin defined nodes to work as well.
(And fixes compile issues with MSVC in yesterdays commit for nodes)
Code provided by Nathan L.
Fixes in his code:
- free_nodesystem() was called too late (after guarded alloc was closed)
- free_nodesystem() was freeing nodes that were not malloced even
- free_nodesystem was using free, not freeN :)
- the typedefs needed to be malloced yes, to allow duplicate nodes like
group but also for dynamic nodes.
commit creator.c, so if this file is compiled and the macro YESIAMSTUPID
is defined, the executable will run, with a mean warning printed to stdout.
Enable in cmake by setting YESIAMSTUPID to On, or with make by putting
"export NAN_YESIAMSTUPID=true" in user-def.mk.
-t <threads>
It overrides the settings as saved in scenes. Only works for background
rendering, to force thread amounts to match the cpus in system.
For funny jokers: amount is clipped for MAXTHREADS :)
version 1.58 assumes the usage of the BUILD_DATE macro. When this macro is not defined the extern declarations cause the linker to fail.
As a sidenote there is no 'winbuildinfo.c' file that the BUILD_DATE macro assumes is present on win32 systems....
eg
Blender -b c:\blends\test.blend -o "c:\renders\render_#.png" -x 0 -F PNG
-x 1/0 for extension enable/disable
-F for format/filetype
This is important because somebody elses Blend files can render anywhere on your PC, possibly a security risk.
And nice for renderfarms to be able to set the path without running a python script inside the blend file.
blender --help (render opts only)
Render options:
-b <file> Render <file> in background
-S <name> Set scene <name>
-f <frame> Render frame <frame> and save it
-s <frame> Set start to frame <frame> (use with -a)
-e <frame> Set end to frame (use with -a)<frame>
-o <path> Set the render path and file name.
Use // at the start of the path to
render relative to the blend file.
Use # in the filename to be replaced with the frame number
eg: blender -b foobar.blend -o //render_# -F PNG -x 1
-F <format> Set the render format, Valid options are..
TGA IRIS HAMX FTYPE JPEG MOVIE IRIZ RAWTGA
AVIRAW AVIJPEG PNG AVICODEC QUICKTIME BMP
HDR TIFF EXR MPEG FRAMESERVER CINEON DPX
Use // at the start of the path to
-x <bool> Set option to add the file extension to the end of the file.
Added details to the -v option
Eg
blender -v
Blender 2.41 Build
build date: 2006-03-20
build time: 16:16:34
build platform: linux-glibc2.3.6-i386
build type: dynamic
Also fixed bugs where nagative/realy big frames could be set- causing Blender to crash.
* This commit is all of the rewrite work done on the SCons system. For
documentation see doc/blender-scons.txt and doc/blender-scons-dev.txt.
Also http://mediawiki.blender.org/index.php/BlenderDev/SconsRefactoring
contains valuable information, along with what still needs to be done.
- linux, os x and windows compile now.
- files are compiled to BF_INSTALLDIR (see config/(platform)-config.py)
- NOTE: Jean-Luc P will commit sometime during the weekend proper
appit() for OS X. For now, copy the resulting binary to an
existing .app bundle.
- features:
- cleaner structure for better maintenance
- cleaner output during compile
- better handling of build options
- general overall speed increase
- see the wiki for more info
Cygwin, FreeBSD and Solaris systems still need work. For these systems:
1) copy a config/(platform)-config.py to ie. config/cygwin-config.py
2) set the proper defaults for your platform
3) mail me at jesterking at letwory dot net with you configuration. if
you need any modifications to the system, do send a patch, too.
I'll be giving first-aid today and tomorrow, after that it'll be all
regular development work :)
/Nathan
A full detailed description of this will be done later... is several days
of work. Here's a summary:
Render:
- Full cleanup of render code, removing *all* globals and bad level calls
all over blender. Render module is now not called abusive anymore
- API-fied calls to rendering
- Full recode of internal render pipeline. Is now rendering tiles by
default, prepared for much smarter 'bucket' render later.
- Each thread now can render a full part
- Renders were tested with 4 threads, goes fine, apart from some lookup
tables in softshadow and AO still
- Rendering is prepared to do multiple layers and passes
- No single 32 bits trick in render code anymore, all 100% floats now.
Writing images/movies
- moved writing images to blender kernel (bye bye 'schrijfplaatje'!)
- made a new Movie handle system, also in kernel. This will enable much
easier use of movies in Blender
PreviewRender:
- Using new render API, previewrender (in buttons) now uses regular render
code to generate images.
- new datafile 'preview.blend.c' has the preview scenes in it
- previews get rendered in exact displayed size (1 pixel = 1 pixel)
3D Preview render
- new; press Pkey in 3d window, for a panel that continuously renders
(pkey is for games, i know... but we dont do that in orange now!)
- this render works nearly identical to buttons-preview render, so it stops
rendering on any event (mouse, keyboard, etc)
- on moving/scaling the panel, the render code doesn't recreate all geometry
- same for shifting/panning view
- all other operations (now) regenerate the full render database still.
- this is WIP... but big fun, especially for simple scenes!
Compositor
- Using same node system as now in use for shaders, you can composit images
- works pretty straightforward... needs much more options/tools and integration
with rendering still
- is not threaded yet, nor is so smart to only recalculate changes... will be
done soon!
- the "Render Result" node will get all layers/passes as output sockets
- The "Output" node renders to a builtin image, which you can view in the Image
window. (yes, output nodes to render-result, and to files, is on the list!)
The Bad News
- "Unified Render" is removed. It might come back in some stage, but this
system should be built from scratch. I can't really understand this code...
I expect it is not much needed, especially with advanced layer/passes
control
- Panorama render, Field render, Motion blur, is not coded yet... (I had to
recode every single feature in render, so...!)
- Lens Flare is also not back... needs total revision, might become composit
effect though (using zbuffer for visibility)
- Part render is gone! (well, thats obvious, its default now).
- The render window is only restored with limited functionality... I am going
to check first the option to render to a Image window, so Blender can become
a true single-window application. :)
For example, the 'Spare render buffer' (jkey) doesnt work.
- Render with border, now default creates a smaller image
- No zbuffers are written yet... on the todo!
- Scons files and MSVC will need work to get compiling again
OK... thats what I can quickly recall. Now go compiling!
- Moved all 'render pipeline control' options out of the Material panels
into the (now renamed) "Links and Pipeline" Panel. These are the options
that are not per material-node, but global for the entire Material tree.
It includes ZTransp, Zinvert, Strands, Halo, Wire, etc.
- To further make Node editing clear, when you enable Nodes for the first
time, the link button to the first Material node is drawn red, to note
that here needs something linked or added.
- Protected Node editing for Library data
- Fixed header buttons to work OK for Node Window