Commit Graph

516 Commits

Author SHA1 Message Date
6f0d7e8d1f bugfix #4072 added support for strandmapping, done by exporting the
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.
2006-06-05 02:24:12 +00:00
86af9a0065 Fix #4269
Using displacement mapping caused VectorBlur (speed vectors) to go haywire.
2006-06-04 17:22:19 +00:00
db0f3846a5 Disabled the combination of "Border render" and "Save buffers" for now.
The latter uses OpenEXR tile-based files, but the EXR spec doesn't allow
tiles to differ in size... limiting the amount of OK resolutions for
images.
2006-06-02 16:01:25 +00:00
9c4eaf326f Buffix #4124
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.
2006-05-29 17:22:05 +00:00
1495e7711b fix #4248
Render:
The "error no camera" was too strict, also popping up when only Composite
or Sequencer was meant to use.
2006-05-29 13:40:15 +00:00
649dcd94bb Yafray 'should' now work again. A bit more testing needed.
But seems to work sofar anyway, composit nodes should work as well.
2006-05-29 03:59:12 +00:00
eda218ecb4 Step one in bringing back Yafray Render in Blender. Need someone else
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.
2006-05-28 12:30:09 +00:00
2e901061d9 More render pipeline finishing up;
- 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)
2006-05-28 11:49:22 +00:00
638bae4db4 Bugfix in last commit; preview renders didn't work render properly, parts
of tiles were black sometimes.
2006-05-27 17:05:03 +00:00
e5b39b69d1 So! Finally time to work on finishing render pipeline project.
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
2006-05-27 13:35:03 +00:00
1b577b7f0d *python documention & bug fix
- 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
2006-05-25 21:10:28 +00:00
44806b034b Plumiferos fix: Material option "Env" did not mask out Ztransp faces in OSA 2006-05-24 18:26:54 +00:00
12a6cd486f Bugfix #4213
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.
2006-05-24 12:07:54 +00:00
ebe2958559 Bugfix #4212
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.
2006-05-23 14:15:07 +00:00
f13d63ca48 Brought back the Scene strip in Sequencer. Even does a full composite with
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.
2006-05-21 20:59:54 +00:00
425dc54834 Bugfix #4036
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.
2006-05-14 10:13:58 +00:00
5947fae18a Fix #4087
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.
2006-05-14 09:02:50 +00:00
6cc46d087e A stupid x/y mixup gave error "Sorry, exr tile saving only allowed with
equally sized parts" when the tiles were equally sized anyway.
2006-05-12 11:22:45 +00:00
1c1164a967 Bugfix 4165
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.
2006-05-11 10:27:12 +00:00
420b6ba5e4 Patch #3675 by Ed Halley
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...)
2006-04-17 15:01:23 +00:00
4043934d2c Brought back the option "remove all used texture images". It was
committed to be default, but should react to the button in scene panels.
2006-04-10 18:27:51 +00:00
cbb48709eb Bugfix #3906
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. :)
2006-04-09 18:22:05 +00:00
de3a622095 Bugfix #3862
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)
2006-04-09 17:14:55 +00:00
7766fb4ee5 Bugfix #3939
"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.
2006-04-08 17:36:27 +00:00
3b064684b0 Bugfix #3948
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...
2006-04-08 16:46:00 +00:00
0ee101f9ad Bugfix #4066
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!
2006-04-08 13:50:15 +00:00
703bbdfe11 Bugfix #4079
Rendering with 'Wire' material, and with Autosmooth set, made wire faces
get a zero'ed normal. Added exception handling code fir wire.
2006-04-08 10:02:20 +00:00
5f12ccd0f1 Bug fix #3900, washed out AO colors
Darn typo in AO code... it only multiplied the red compononent for AO. :)
2006-04-01 15:35:25 +00:00
a82910b1b9 Previewrender fix: when moving the mouse still while previews should render
the escape happened without resetting a variable correctly, resulting in
black preview.

This can still be coded better...
2006-04-01 09:36:18 +00:00
0a63b3c0ca Several minor fixes:
- 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
2006-03-29 07:35:54 +00:00
97a4e4f88d a bunch of small warnings fixes:
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
2006-03-24 16:40:32 +00:00
8383c44a85 Silly bug in using Compositor... the code that checked if a 3d rendering
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.
2006-03-21 11:29:03 +00:00
ee5d54c0fa Threshold for non-flat quad detection was too wide still. Causing errors
of quads filling in in octrees...
2006-03-19 20:14:16 +00:00
cf0408a4f6 More environment map stuff:
- 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
2006-03-19 17:50:53 +00:00
54004b8dcc Bugfix in environment mapping: Ztransp and Halo didn't show up. Bug is
there since the Render refactor of early january.
2006-03-19 15:16:02 +00:00
4bbc9df60d Added option to only render a single side of an Environment map cube,
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.
2006-03-19 14:26:56 +00:00
e2660f614d Dang... on background rendering (renderfarm) the user preset for temp dir
isn't set. Hardcoded it to /tmp/ now. Have put on list this requires a
better solution (same issue open for yafray afaik)
2006-03-15 20:41:08 +00:00
6bc3f0f85e Silly copy/paste error enabled the 'save render to file' option always...
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...
2006-03-15 10:18:33 +00:00
ea9866a75f Memory saving for large renders:
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.
2006-03-14 21:29:42 +00:00
fe3506f6d4 WIP commit on getting the 'render result layers' saved in a single
file. Previous fix accidentally committed parts of that... :)

Note: it is currently disabled still... will commit the real version
soon.
2006-03-14 17:48:40 +00:00
e3fb99ad70 Urgh... the commit to free texture images always also did it for preview... 2006-03-14 17:44:19 +00:00
705beae517 Made 'free texture images' default for a while... gives too many errors
for stressed artists who forget it. Will rewind later. :)
2006-03-14 13:26:33 +00:00
ba12d909c9 When faces are extremely small (like 0.01 size of pixel), the UV calculus
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.
2006-03-14 10:56:46 +00:00
4a673d1d9b Autosmooth fix: if original Mesh has same amount of faces and vertices
as the one resulting from Modifiers, it uses that data to calculate
autosmooth for. This prevents weird stuff on rendering softbody for
example.
2006-03-13 18:16:23 +00:00
34a5739a8a Two fixes in renderpipe...
- Renderwin still used a thread-unsafe malloc, in the header text print

- Setting clipping flags in vertices for parts required a mutex lock after
  all... I thought it would go fine, but noticed on renders with small
  amounts of faces that sometimes faces disappear from a render.
  (was doing movie credits, so all faces are visible! Otherwise it would
  have hardly been noticable...)
2006-03-13 11:01:17 +00:00
afc3d1ade3 Sequencer now outputs float buffers to render too, when available. 2006-03-12 19:00:48 +00:00
8a8c70c63a A couple of render improvements;
- Bug fix: the upper tile in a collumn for Panorama render didn't put the
  mainthread to sleep properly. Now panorama renders 25% faster if you had
  set Y-Parts to 4.

- Enabling Compositing in Scene for first time now adds a "Composite" node
  too, so render output gets applied.
- An attempt to render with "Do Composite" without "Composite" node will
  throw an error and stops rendering. In background mode it will just not
  render at all, and print errors.
- Errors that prevent rendering now give a popup menu again.
- Having MBlur or Fields option on will now normally render, but with an
  error print in console (not done yet...)
2006-03-12 11:51:56 +00:00
4e4cd9407d Added security to vectorbuffer code... before it gets used, it checks
for leftover initialized max-speed values, and clears it. Also gives
a giant print then... I want to know when it happens, and howto redo!

(error print = "tsk tsk! PASS_VECTOR_MAX left in buffer...")
2006-03-11 23:10:13 +00:00
bad09bd2f9 And now the studio is rendering panoramas... finding out that vectorblur
also could use correction for it.
The current perspective projected blur would look in 180 degree view like
this:

http://www.blender.org/bf/p2.jpg
(circle of planes rotating around camera)

After some fight with my rusty highschool gonio I got it fixed; nice
cylindrical projected speedvectors:

http://www.blender.org/bf/p1.jpg
2006-03-11 21:46:19 +00:00
85ac48c782 With the commit last week to have curve bevels nice circular (when no
front/back is selected), the UV coordinates for curves should also be
corrected.
This commit re-uses the same code as for Nurbs, to make sure UV coordinates
wrap around nicely.

BUT! I've noticed that Daniel's commit of august in this code actually
broke this UV correction... in his craze to cleanup old code, he missed
the actual functionality. Meaning that in 2.40 and 2.41, "UV orco" texture
coordinates wrap around ugly in Nurbs Surfaces, something that was fixed
in NaN days.

Got no time for tracker now... but I'm sure it's in there! :)
2006-03-11 12:34:50 +00:00