Commit Graph

1865 Commits

Author SHA1 Message Date
Jeroen Bakker
a83c3c0b14 The material index did not work when FSAA was turned on.
The information was written in the temp exr files, but was not read back.
After checking I saw that the pass was not merged back in the rendercore.

After adding this it worked. tested with all FSAA settings.
2011-07-06 16:08:24 +00:00
Brecht Van Lommel
febce577ba Fix #27873: nan pixels in render with degenerate faces. 2011-07-06 09:15:18 +00:00
Jeroen Bakker
830fe8af84 Updated the indent, sorry! 2011-07-04 19:22:37 +00:00
Jeroen Bakker
c4491f558b Current situation
A mesh can consist out of multiple material. Take a character with clothing's. the skin can be a different material as the different clothing's. During compositing it is a common use-case to only do a part of the composit on only a specific material. Currently this can not be done.

In blender movies this feature is known to be implemented, but until now it never got integrated into trunk.
Proposal

With material index the Blender internal renderer will be capable of creating a buffer containing the material indexes of the first pixel-hit. This will be implemented in the same manner as the object index.

In the compositor the ID Mask node can be used to extract the information out of the Render pass.
Impact
User interface

On the properties-space the next changes will be done

    Scene⇒Render layer⇒Passes⇒Material index will be added
    Material⇒Options⇒Pass index will be added

DNA

    Material struct will get an new field called “index”. this will be a short-type.
    Material struct the field pad will be removed.
    A new Render-layer pass will be added (bit 1«18)

RNA

    Material RNA is updated (based on “pass index” from object)
    Render layer RNA is updated (based on IndexOB)

Blender internal renderer

The Blender internal renderer will process the render pass as a copy of the Object index.
Blender compositor

The render layer input will get a new output socket called “IndexMA”
Usage

An example on how to use material index can be found at:

https://svn.blender.org/svnroot/bf-blender/trunk/lib/tests/compositing/composite_materialindex.blend

This is also example of a commit message longer than the commit itself :)
2011-07-04 18:14:41 +00:00
Campbell Barton
acc69b87d7 fix/workaround [#27807] bake malloc loop if Deep Shadow && strand && children
render strands use the window matrix and window size which were both zero while baking, this caused divides by 0 and eternal malloc loop.
So set unit window matrix and dummy view size.
This is more a workaround then a fix but avoids crashing.
2011-06-30 02:02:16 +00:00
Campbell Barton
bad785cce4 minor edits, no functional change. 2011-06-30 01:40:20 +00:00
Brecht Van Lommel
8ddd2db648 RenderEngine API: add self.report() error reporting function for render engines,
works the same as for operators. Also includes some refactoring of render error
reporting code to use ReportList.
2011-06-28 16:25:07 +00:00
Campbell Barton
3c43e8e50a fix [#27782] Tileable displacement map issue in Blender 2.58
this bug was introduced in 2.58 (r37342), when adding filtering support to imagewrap(), the problem is boxsample was getting float values which were not wrapped as int values are.
2011-06-28 12:48:39 +00:00
Matt Ebb
826ed5ed1d Fix [#27748] undeterministic behaviour of volumetric renderer
* Made clearer in the UI that the approximate multiple scattering always enables light cache
* Fixed a potential problem in anisotropic scattering
2011-06-25 00:33:36 +00:00
Campbell Barton
12e02fd474 own patch [#27752] Python Callback (Scriptlink functionality)
Python:
 * adds bpy.app.handlers which contains lists, each for an event type:
   render_pre, render_post, load_pre, load_post, save_pre, save_post
 * each list item needs to be a callable object which takes 1 argument (the ID).
 * callbacks are cleared on file load.

Example:
 def MyFunc(scene): print("Callback:", data)
 bpy.app.handlers.render_post.append(MyFunc)

C:
 * This patch adds a generic C callback api which is currently only used by python.
 * Unlike python callbacks these are not cleared on file load.
2011-06-24 16:54:30 +00:00
Campbell Barton
734a4aa428 fix [#27746] Black and White Render doesn't work and/or Saves as a Blank screen
convert to grayscale when saving renders rather then only writing the red channel.
2011-06-24 03:49:56 +00:00
Lukas Toenne
587b51831d More flexible size options for particle billboards. This adds scale factors for width and height of billboards, relative to the particle size. It's useful when the particle size is primarily used for collision and the like, so the billboard appearance can be adjusted independently. Also allows non-square billboards.
In addition the billboards can be scaled by the particle velocity with optional head and tail factors (similar to line drawing options). This allows for pseudo-motionblur effects.
2011-06-23 18:59:47 +00:00
Ton Roosendaal
f6d899af05 Bugfix #27692
Render + compositing error:
When adding renderlayer nodes in a composite, without having own
scene render, the renderlayer nodes were not tagged as changed,
causing compositing to give previous result.
2011-06-20 16:38:21 +00:00
Campbell Barton
692e0ebc13 fix for incorrect bake api usage. but not a bug. 2011-06-20 15:20:33 +00:00
Campbell Barton
11014defdb since render branch isnt planned to be merged now, enable strict warning flags for cmake and tag unused vars. 2011-06-20 15:17:02 +00:00
Michael Fox
3e76245eb2 small fix, This enables correction of the tangent when normal mapping is in use and tangent lighting will be used 2011-06-20 03:37:41 +00:00
Michael Fox
6d7e3509a9 small safety fix for recent commit to normal mapping (uninitialised variables) 2011-06-20 02:37:13 +00:00
Daniel Salazar
dd364944d1 By Morten S. Mikkelsen; this adds support for tangent bump shading
left: legacy bump, righ: sparkybump

http://pasteall.org/pic/show.php?id=13875

bugs [#26320], [#27506]

there's still an issue with texture OSA as you can see
2011-06-19 20:41:41 +00:00
Campbell Barton
968b2a8afb rename cmake include/libraries to conform with suggested cmake names 2011-06-18 14:12:54 +00:00
Brecht Van Lommel
aaf7dae5f1 Code cleanup: remove unused shaded draw mode code. 2011-06-15 10:17:06 +00:00
Campbell Barton
1669ab6648 correction for own commit r37492 2011-06-15 02:17:39 +00:00
Campbell Barton
b89924f5dd de-duplicate multires image filter function. (no functional change) 2011-06-15 02:14:38 +00:00
Campbell Barton
1d41694e69 fix [#27662] Storing png/tga images ignore Alpha settings
- don't clear alpha when baking RGB images
- when baking results in partial alpha. set the depth to 32.
2011-06-15 01:56:49 +00:00
Brecht Van Lommel
4ca197ba59 Fix #27540: bug with bump mapping + reflection texture coordinates + nodes. 2011-06-13 14:56:47 +00:00
Ton Roosendaal
f6de4fecfa Bugfix #27519
Full Sample AA (FSA) was failing in cases. Bug report was an empty
scene (with compo nodes) linking in another .blend scene (with render).

That case gave warning "FSA not supported with rendering". That now is
allowed.

Then I noticed FSA was giving corrupt sample buffers or crashes in cases, 
especially on first buffer, this appeared to be a missing compo tag on 
first sample buffer.

Lastly, to make FSA render a tiny bit less frustrating: added render window
statistic to show which of the FSA steps is being done.
2011-06-12 13:35:17 +00:00
Campbell Barton
a3101de7be remove backbuf from internal struct's (unused in 2.5x) 2011-06-11 08:55:29 +00:00
Campbell Barton
eeba877926 fix [#27607] Scene's render.filepath gets cropped to 159 characters
use 240 char limit, remove backbuffer path which wasn't used.
2011-06-10 10:13:50 +00:00
Ton Roosendaal
10082b7986 Bugfix #27081
Displacement mapping didn't do linear interpolation between pixels,
causing render artefacts. Now it uses for image render without AA
a default interploation filter of 1 pixel size.

Fix provided by Miika Hamalainen. Thanks!
2011-06-09 16:12:10 +00:00
Campbell Barton
15d0d3f41e replace log() calls with constants 2011-06-09 14:27:51 +00:00
Matt Ebb
5922b69501 Fix [#27438] Volume Material Density Inaccuracy
Lower density limit for shading optimisation was set too high
2011-06-05 22:35:37 +00:00
Sergey Sharybin
a1c22262fe Bake from multires mesh
=======================

Added option to baked named "Bake From Multires" which is avaliable for
normals baking and displacement baking.

If this option is enabled, then no additional hi-res meshes and render
structures would be created . This saves plenty of memory and meshes
with millions of faces could be successfully baked in few minutes.

Baking happens from highest level against viewport subdivision level,
so workflow is following:
  - Set viewport level to level at which texture would be applied
    during final rendering.
  - Choose Displacement/Normals baking.
  - Enable "Bake From Multires" option.
  - You're ready to bake.

Displacement baker had aditional option named "Low Resolution Mesh".
This option is used to set if you want texture for realtime (games)
usage.

Internally it does the following:
  - If it's disabled, displacement is calculated from subdivided
    viewport level, so texture looks "smooth" (it's how default
    baked works).
  - If it's enabled, dispalcement is calculated against unsubdivided
    viewport levels. This leads to "scales". This isn;t useful for
    offline renders much, but very useful for creating game textures.

Special thanks to Morten Mikkelsen (aka sparky) for all mathematics
and other work he've done fr this patch!
2011-06-05 20:54:04 +00:00
Brecht Van Lommel
32368aac43 Fix #27241: crash with point density texture when using particle age/velocity
fallof for object vertices.
2011-06-02 16:59:12 +00:00
Campbell Barton
09da9d4393 cmake maintenance
blender_add_lib now takes a separate include argument to suppress warnings in system includes (mostly ffmpeg & python).
also only build wm_apple.c on apple+carbon configuration.
2011-05-31 01:15:44 +00:00
Daniel Salazar
fc3904d7b3 General error in coderivative for orthogonal camera. Culprit of new bump failing on orthogonal cameras; bug #27492
Commiting bug kill by Sparky
2011-05-28 21:53:07 +00:00
M.G. Kishalmi
7e6520c080 additional bake modes
(refined patch #23430)

+ specular color
+ specular intensity
+ mirror color
+ mirror intensity
+ alpha (tranparency)
+ emission (glow)
2011-05-18 07:46:54 +00:00
Matt Ebb
b73fe01295 * Enabled rna access to fluid sim velocity vectors
The main purpose for this is to allow rendering motion blurred blender fluids in external renderers (eg. http://vimeo.com/21870635 ).

Python code snippet for interpreting this data here: http://www.pasteall.org/21577 . Cleaned up some ugly hacks in this area too

* Also added read-only access to scene.subframe to RNA - setting current frame and subframe should still go via scene.frame_set()
2011-05-12 22:52:30 +00:00
Campbell Barton
eabb444106 minor cleanup: make functions static, use NULL for pointer comparisons,
also fixed a possible bug assigning incorrect DPX function types to
imbuf.
2011-05-10 13:11:36 +00:00
Campbell Barton
d4e540dff3 comment some unused code. 2011-05-08 10:29:40 +00:00
Brecht Van Lommel
cb12337363 Code cleanup: remove source/kernel module, this wasn't really the kernel of
anything, only contained a hash map and functions to pass command line args
to the game engine. Moved those to container and BlenderRoutines modules.
2011-05-06 20:18:42 +00:00
Campbell Barton
1093f69e50 Style Cleanup
- duplicate cases in if/else
- calc inside sizeof(...)
- redundant NULL checks.
- assignment to self.
- fix error getting text prefix for screen ID button.
2011-05-01 10:14:09 +00:00
Joseph Eagar
9736061c07 =trunk=
Made some improvements to the point density texture.  Added support
for tweaking the falloff with a custom curve.  Also coded new
falloff types based on the age or velocity of particles.

Also added a test break check to the volumetric shade cache code,
to avoid nasty hangups from the preview render (on render, exit,
etc).
2011-05-01 03:57:53 +00:00
Sergey Sharybin
d2218cb7f3 Fix one more crash introduced with r36384: trying to bake resulted in a segfault
Also, use tabs for indentation in previous fix for the same crash
2011-04-30 13:47:25 +00:00
M.G. Kishalmi
14e2ac09eb fixed a crash introduced in r36384
where the preview render was calling getCam before setting the scene.
2011-04-30 10:02:23 +00:00
Campbell Barton
e7ffd32a61 use camera render argument to avoid temp overwriting the scene camera.
also fix for mistake with rendering stars from previous commit.
2011-04-30 05:42:37 +00:00
Campbell Barton
c4c22d4e9f - pass the camera to the render stamp function.
- add BKE_write_ibuf_stamp() since saving environment maps & screen shots shouldn't have stamp.
2011-04-30 05:26:09 +00:00
Campbell Barton
abcdf9573a add back support for rendering local view camera. 2011-04-30 04:29:36 +00:00
Campbell Barton
f3a9b7580e spelling corrections. 2011-04-29 04:43:36 +00:00
Campbell Barton
bc6828426d fix [#27174] World Starfield Generation causes crash
allow escaping from render if generating stars takes too long.
2011-04-27 08:32:20 +00:00
M.G. Kishalmi
f9cb8f80e7 fixed some issues with the new "shadow only + shading" code.
patch from MiikaH.
2011-04-26 15:29:12 +00:00
Campbell Barton
8fdebf24f4 harmless changes to quiet clang static check warnings.
- made EXPANDED_AGRP take bAnimContext as an argument.
- remove unneeded NULL check drawFacesColored functions.
- comment some vars which are set but not used.
2011-04-24 10:51:45 +00:00