The Scene audio.mixrate variable was zero on creating new scenes, causing
synced playback to fail.
Added initialize in kernel, and patch in buttons drawing to set the value
for wrongly saved files.
(Pixelshading: small correction for more optimal code)
"Backbuf" image render option is back :)
Nicer coded, using Image texture functions.
If you want 100% reliable pixel to pixel accuracy you have to use
compositing. (Old Backbuf didn't do this accuracy either btw).
Using spherical lightprobes for AO didn't filter the samples at all.
Image textures in Blender support this, so was simple to add, although
the filtering might need tweak :)
Uncommitted the feature I added for Plumiferos to be able to render
animated render-borders (which effectively means every frame can be a
different size).
For several reasons;
- it will crash movie rendering (when image sizes differ)
- it forced code to do a full initialize each frame, also for setting the
renderwindow (which popped up on each frame)
- the render pipeline was not designed with per-frame python changes in
mind for image sizes... it uses an "Initialize" stage which is only
called once for an entire sequence.
That latter might be an omission, but for that I better code a new API
call (for use in Python) so a re-init can be enforced.
The old functionality (animated render borders) will still work when you
render in background, using small steps like blender -s 1 -e 5 -a etc.
And more particle issues... the attempts to allow particle systems to be
part of duplicators (groups especially) isn't easy to get working!
This commit solves regular animated particle systems... they rendered on
the wrong location, using wrong object transform.
To enable python to change border while render, I moved the initialize
call inside of the main loop that went over the frames.
Forgot to do move the movie-initialize call as well... which now got
called with zero'ed values.
Thanks Peter Schlaile for the poke!
strand texcoords as orco coords, so yafray doesn't have to be adapted for this.
bugfix #4254 added support for dupligroups, but might not work completely
correct yet at this point, more testing needed.
Also added some missing parts from the code apparently removed at some time.
Mainly having to do with dupliverts, cam.info for aspect ratio/ortho mode/etc.
Header stats (render window) should now work again too.
Fixed missing last tile draw of render window.
Added the missing const_cast in the win32 part of the xml export code.
Changing render settings with python while Anim render now updates display
for each frame. So you can animate render borders, or even save different
sized images.
to take over now, but I'm available for help. Main notes for completing:
- Yafray module uses old global R all over... is now a pointer handle.
It can be temporally bypassed by straight copying, which I do now.
- I am not sure in what pixel format Yafray renders... Blender now only
uses float buffers. In the code, marked with XXX I've added the
rudimentary code for retrieving buffers.
- This integration will skip compositing when Yafray render is used.
- Shaded drawmode is back (shift+z).
Note it still only uses orco texture; but lighting/shading is using
the internal render module entirely.
- "Make Sticky" option back.
(Also fix in sticky texture render, was wrong scaled)
This commit brings back:
- Field Render
- MBlur Render (old style)
- Border render with or without cropping
Note: Field Render is not supported in Compositor yet. Blurring or filter
will destroy field information.
Both MotionBlur as Field render are done before Compositing happens.
Fixes:
- The "Save Buffers" option only worked on single frame renders, not for
Anim render.
- Found an un-initalized variable in Render initialize... this might have
caused the unknown random crashes with render.
Code restructure:
Cleaned up names and calls throughout the pipeline, more clearly telling
what goes on in functions.
This is visible in the updated first image of the Wiki doc:
http://mediawiki.blender.org/index.php/BlenderDev/RenderPipeline
- added documentation to Render - saveRenderedImage has an option to save the zbuffer along with the image
(off by default)
- fixed a really annoying runtime error of uninitialized data being passed to a method in pipeline.c during a render
Using "Fresnel" for transparency only worked when material had "ZTransp"
set. That's not a real problem, but it made Fresnel not work for Materials
used in Nodes.
Now a Fresnel on alpha works always.
Material Nodes: The Texture node didn't do the standard "2d mapping" yet
in case an Image Texture is used. Caused wrong mapping for example for UV
coordinate inputs.
only images input in compositor. Currently still renders in the scene's
own resolution. It also doesn't show scanline/tile updates yet while
rendering.
Shadowbuffer "soft" option got totally messed up by a commit done 3 months
ago. You could still get soft shadow, but the values to be used had to be
scaled tenfold.
Too bad this now will mean our movie DVD will not render with official
cvs or release... I'll think over some patch to scale down 'soft' values
in certain conditions.
Flipped layer render order for halo and ztransp. This because the ztransp
layer changes z values now (for vblur).
This means the default order is: solid + lamphalo + halo + ztra. Different
combinations can be achieved with composting nodes.
Environment map render:
- when an object is in multiple layers, the "don't render layer" option
didn't work properly. Now it doesn't render an object when it is
invisible completely
- the new scaling option also worked for cubic envmap, should not.
Finally after 5 months! :)
Patch was already approved, but needed testing on existing files & time...
Description is here:
http://mediawiki.blender.org/index.php/BlenderDev/Transmissivity
In short: patch adds filtering based on thickness of material, and support
for internal reflection (resulting in better looking glass).
Thanks!
(Only note; appearance of glass render now differs... is acceptable, but for
the factor to control transmissivity a scaling factor could be added in UI,
the length of a ray is a relative thing...)
Restored animated background picture, using a bad call actually, but thats
clearly noted in comments in code. Is remainder work for cleaning up the
whole render api. :)
Wire render normals were exactly opposite to the normals for solid faces.
This caused displacement to work inverse too. Flipped them.
(Note; for shading normals are corrected to point towards viewer)
"Full OSA" render used wrong subsample pattern for accumulating passrender
info. Was only noticable for the 'normal' pass, for example on raytraced
images. Image looked as if it had a wireframe render.
Raymirror didn't use proper texture-space 'osa vectors' for sky texture,
causing extremely blurred reflections of sky.
Error was actually a mixup of arguments for sky render...
Particle strands with a width set (like 10 pixels), and with extreme
bending of strands (like a very course subdivision), could create non-flat
quads. For speed reasons, the quad-to-triangle splitting was turned off
for hair, but in this case that should be done nevertheless.
Solves another Dandruff issue for furry bunnies!
- Added part of Austin's msvc8 fixes (vector::erase function
was "misused"), hopefully compiles better now.
- Ctrl-b now also bakes a selected fluidsim domain
similar to the softbodies.
- Added surface smoothing option for domains: default is
1, higher values result in a smoother surface (and probably
slightly higher comupation times), while 0 means the surface
is not modified at all.
- Added BLENDER_ELBEEMBOBJABORT environment variable in readBobj,
if >0 quits blender when a not yet existing fluidsim
frame should be loaded. Useful for rendering simulations
as far as possible from the command line.
- Surface normals pointer is now set to NULL in readfile.c
- Fixed win32 error string handling, now uses a function
to return the string from the solver.
- Fixed fluidsim particle halo scaling problem.
- Solver update
newline missing at end of file fixes:
TypedConstraint.h WheelInfo.h RaycastVehicle.h VehicleRaycaster.h
CcdPhysicsEnvironment.cpp
radiance_hdr.c fixed the following warning by changing type of local variable:
radiance_hdr.c:357: warning: pointer targets in passing argument 3 of
‘fwritecol rs’ differ in signedness
edgeRender.c,edgeRender.h same thing changed type of local vars to get rid
of warnings about signedness
RAS_OpenGLRasterizer.cpp removed unused variable unit line 1295
Kent
was required (compositor can also be used with only image input) told
the pipeline not to render when no composite nodes were available at all,
and with button 'Use Nodes' on.
- added a zoom factor for Planar Environment Map, allowing to zoom in or
out on the reflected object. The zoom is corrected when rendering, so it
just gives control over the resolution.
- Planar maps don't cycle anymore, but only render the front plane, using
standard image texture extend mode.
- threaded rendering is back in envmap render
allowing to use it for planar mirrors. Enable it with the new "Plane"
option in the Environment Map Panel.
Current default is to render the cube side that points to the positive
Z axis direction. To make it work, it uses the same image for all
other cube sides, so it will 'wrap around'.
Also made maximum resolution for environment map to be 4096x4096 now.
now the button works as meant to be.
Still working on the feature though... I noticed exr files dont read
back when only part was saved (on user break). Working...
New option "Save Buffers", in first Output panel of renderbuttons, will not
allocate all render buffers, but instead save the rendered tiles to exr.
For each scene rendered, a single exr file then is created.
After rendering, the files get read, and only then the memory allocation is
done.
The exr files are saved in the temp dir (from user settings), and have
names derived from the filename+scene name. That way these buffers remain
relatively unique, and can be re-used later too.
Saving all render-layers and passes in a single file (as F3 command) will
be done later. Also reading back the current muli-layer exr files is not
supported yet (will read black). The purpose is that these files then can
be used as input for the Compositor.
One fun thing I added; after rendering once with this option, close
Blender, and restart it. If you have a Composite set up press 'R' on an
active RenderResult node. This will refresh the node(s) and load the exr,
so you can composite again without a re-render.
for faces can give inaccuracies resulting in UV values in the hundreds
range. The UV values now are being clipped.
This should fix weird 'shooting lines' for vectorblur on hair renders.