Commit Graph

3559 Commits

Author SHA1 Message Date
36bedb3d7e Bugfix #4363
In windows, without temp path set, the 'save buffers' render option crashes.

I've coded a blenlib BLI_is_writable(char *filename) to check for such
cases. This is not much needed in Blender, since the open() command is
checked for. However, file saving happens deep inside the C++ exr lib, and
it throws an exception crash when a file cannot be written.
2006-06-19 13:53:00 +00:00
5f5ee11fcb Seems a large commit, but I also changed function names to match the new
naming convention for Compositing:

- Render Result node -> Render Layers node (name only appears in Add menu)
- Compositor image -> Viewer Node image

I've also added a version patch (2.41 saved files only) to rename existing
"Compositor" Images.
2006-06-19 08:45:11 +00:00
2a67e98359 Bugfix #4352
More Sequence render fixes:

- on load of .blend file, with Sequencer invoking a sequence render, the
  header window matrix was not set, giving "Insane icon" prints
- option "Do Sequence" had no re-display call in end
2006-06-18 12:27:06 +00:00
5a4dc67281 Cleanup of UI for new renderpipeline
- removed "Unified" button, replaced with "HD" preset for 1920x1080 output
- removed the unused "Pass" options
- removed the unused "Strands" render-layer option

Because the internal render pipe supports this already; added two more
render-layer options:

- "Sky", to enable/disable sky render in a layer (this was part of "Solid"
  before, not so correct... to ensure previously saved files work, the
  "Sky" option is set by default when "Solid" was set. The version patching
  will do this temporally always, until we've bumped up version to 2.42
- "Edge", to enable/disable edge render in a layer. Nice for compositing.

Also in this commit: fixed warnings for exported functions for the new
Node Editor pull-down menus.
2006-06-17 10:25:07 +00:00
3593d0684a Plumiferos fix-fix :)
Code to allow "Env" material to mask out ztransp gave bad AA on edges of
solid faces, when transparant was behind it.

Recoded "Env" to use index -1 in the polygon index buffer, and restored
code that caused the bad AA.
2006-06-16 19:16:27 +00:00
7aeba4fd0f Preview Texture for Stucci works again.
NOTE: stucci didn't return 'intensity' since blender 1.0, something that
alsways caused headaches all over (all other textures do per definition).
But, allowing stucci to return 'intensity' would break old files.

To make it work for preview, I had to solve this once. Done with a version
patch, so old files (including current 2.41!) won't read with color channel
active for Stucci textures.

(Preview.blend I saved as a 2.42 file btw!)
2006-06-16 15:31:32 +00:00
3356c4ba2f The new "transmissivity" option for ray-transparent now can be controlled.
By default it is disabled (depth 0.0), so rendering is as usual.

The meaning of "depth" and "falloff" will be extensively shown in the
release log pages. Coming soon!

(Patch provided by Ed Halley)
2006-06-16 13:11:21 +00:00
a33798d697 Bugfix #4341
The code added to ensure Image textures in nodes use the correct mapping
settings (UV, repeat, etc) crashed when editing non-osa cases.
2006-06-16 12:33:35 +00:00
006800cd09 Halos rendered with 'line' option could deliver overflow alpha values,
needs to be clipped.
2006-06-15 13:00:28 +00:00
ecb204fa7c Bugfix #4338
When Edge render was choosen, the zbuffer values were altered, causing a
halo render to go wrong.
2006-06-15 10:10:27 +00:00
bbc6468b34 Restored the pretty lousy but still popular stars render in blender.
Hope our sky guru can come with something cooler for next release!
2006-06-13 20:00:14 +00:00
f4dcb244f5 Lens flare rendering back.... completely forgot about this antique
feature.

It doesn't render preview yet... for that we have to fix preview system.
2006-06-13 14:51:17 +00:00
bad72cec61 New feature! (Well, replacement for the exisiting cumbersome "DispView")
Next to the "DispWindow" there are now two new choices:

- Display render output to Image Editor
- Display render output to Screen-sized Image Editor

Both options won't open a 2nd window anymore, which makes work quite more
smooth even, especially because 'focus' isn't lost. Further it fits in the
'single window UI' paradigm of Blender. Should have been done 10 years ago!

Lastly it might bypass issues with X11... having 2 windows with opengl
context is not always stable in Linux.

This option uses an identical trick as for the Compositor viewer, using an
Image block with a fixed name ("Render Result").

The flow, when invoking a Render, goes as follows:
- first it checks if there's an Image Editor visible displaying the "Render
  Result", if so then it uses that area-window.
   (Use this option for dual-monitor setups for example, a render will always
   go to the same location then)
- else it checks if there's an Image Editor open in general, it then
  assigns that window the "Render Result" Image.
- else: it searches for the largest Area in the screen, and turns that into
  a temporal Image Editor showing render output.

After a render, an ESC will push back the former view, if the Area type has
changed.

Same rules apply for the "Full Screen" option. Here an ESC will always go
back to the regular Screen, and restore Area type if required.

While rendering, the queue for the renderwindow isn't handled yet, so you can
not zoom (nor get full redraws), as for the regular render window.

Existing conflicts:
- in FaceSelect mode, the Image editor enforces to display the face texture
  after rendering again.
- when using an Image window for compositing, you'll lose the Viewer output
  on a render.

Implementation note:
While rendering updates, nothing is drawn in frontbuffer anymore. That's
good news for b0rked OpenGL drivers (and faster). However, for the few
OpenGL cards that don't do a "swap copy" but a "swap exchange" you get
issues... has to be worked on. I'm afraid we have to drop frontbuffer
drawing altogether.

Other fixes:

- Hotkeys NumPad 1, 2, 4, 8 will set zoom levels (was half coded only?)
  Use SHIFT to zoom out (smaller).

- Rendering Tile updates still had draw errors on edges of tiles, in OSA
  only. (Caused by commit 4 days ago)
2006-06-12 14:39:08 +00:00
c2df22f306 Commit from Alfredo to support yafray sub-rect updating required an
additional initialize for scanline length in Blender.

(Error: only the entire tiles were visibly updated while render)
2006-06-11 19:53:24 +00:00
7c8008da58 Bugfix 4312
Preview render in 3d window could crash when a re-render was invoked before
the render was initialized even, reading a NULL pointer for scene.
Happened on frantic & quick editing.
2006-06-11 10:13:00 +00:00
cbf1dc9e21 Bugfix #4299
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)
2006-06-11 09:06:07 +00:00
d9081db9e0 Thought to be nice for for backwards compat && users... so the old
"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).
2006-06-10 16:30:44 +00:00
9acd066925 Bugfix #4286
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 :)
2006-06-09 16:10:12 +00:00
77223515a9 Bugfix #4298
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.
2006-06-09 12:21:15 +00:00
908389b787 Bugfix #4293
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.
2006-06-09 11:15:52 +00:00
8bc6697978 Fix in commit I did of May 29
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!
2006-06-06 18:45:55 +00:00
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