Commit Graph

2056 Commits

Author SHA1 Message Date
Campbell Barton
02b28e9162 replace MIN2 / MAX2 with minf / maxf to avoid calling functions multiple times. 2012-02-19 05:11:24 +00:00
Campbell Barton
61596d5bb3 patch [#30227] Various MSVC (32-bit) Warning and Typo Fixes
made some small edits
- removed changes to AVI reading since the data types are apart of the format spec.
- absf -> abs for a double value in render code.
2012-02-17 19:21:47 +00:00
Campbell Barton
2b7ca2304a unify include guard defines, __$FILENAME__
without the underscores these clogged up the namespace for autocompleation which was annoying.
2012-02-17 18:59:41 +00:00
Brecht Van Lommel
9467ddb903 Fix #30081: the fix for #30026 related to rendering indirect/environment light
with material ambient zero broke backwards compatibility too much. The behavior
to have ambient zero affect things even if it is not used as a factor does not
make much sense but keeps things compatible. Now instead fixed the use of
uninitialized memory.
2012-02-07 21:04:10 +00:00
Campbell Barton
deec4ce0bc Code Cleanup: avoid double promotion. 2012-02-04 06:55:29 +00:00
Brecht Van Lommel
5c9ad8653a Fix #29921: render rasterization error in a corner case, only happened on 32bit
builds because of extended float precision, slightly tweaked code to avoid that,
so that it works the same as on 64bit.
2012-02-02 21:46:11 +00:00
Brecht Van Lommel
01d0e279db Fix related to #30053: crash rendering scene strips without a scene (due to missing library). 2012-02-02 13:21:38 +00:00
Brecht Van Lommel
40beecea8f Fix #30026: errors rendering material with ambient 0 and AO/env/indirect light.
It would skip rendering the latter if ambient was 0, however this is not actually
used in adding the contribution from these.
2012-01-30 19:47:30 +00:00
Brecht Van Lommel
2e9ae40aaf Fix #29960: fields option should not be used for external engine rendering. 2012-01-26 14:55:46 +00:00
Brecht Van Lommel
f99343d3b8 Cycles: Render Passes
Currently supported passes:
* Combined, Z, Normal, Object Index, Material Index, Emission, Environment,
  Diffuse/Glossy/Transmission x Direct/Indirect/Color

Not supported yet:
* UV, Vector, Mist

Only enabled for CPU devices at the moment, will do GPU tweaks tommorrow,
also for environment importance sampling.

Documentation:
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Passes
2012-01-25 17:23:52 +00:00
Campbell Barton
cd4123e1db use inline BLI_math functions for dot product and length calculation. 2012-01-22 17:20:37 +00:00
Sergey Sharybin
f0fc8c22bb Fix #27120: Bake to image used for rendering glitch (bake feedback loop)
Detect feedback loop and do not bake to images detected in this loop and show
nice warning message in such cases.

It's a way which wouldn't overcomplicate code trying to duplicate images and so
without real benefit.
2012-01-20 07:43:46 +00:00
Campbell Barton
a87c5eb52c use color conversions functions in more places.
also add rgba_float_to_uchar, rgba_uchar_to_float
2012-01-19 10:04:51 +00:00
Campbell Barton
4786541285 add utility functions linearrgb_to_srgb_uchar4,
linearrgb_to_srgb_uchar3, was being done inline.
2012-01-19 08:22:23 +00:00
Brecht Van Lommel
7162ca5be7 Fix #29922: NaN pixels due to bump map in degenerate case. 2012-01-18 22:36:19 +00:00
Campbell Barton
0d5595befb add utility function to BLI_math_color - rgb_to_luma, rgb_to_luma_byte, also use rgb_to_grayscale in more places. 2012-01-14 17:14:23 +00:00
Campbell Barton
0863575816 tag unused function args in raytrace code. 2012-01-14 10:08:47 +00:00
Sergey Sharybin
74aede4d71 Fix #29824: Error writing frame if 3D scene starts after first frame of animation and output is H264
Issue was caused by incorrectly set PTS value frames came form Scene strip renderer.
This value used to be calculated from RenderData current and start frame which
lead to non-uniformuly counting which totally confuses encoder.

Switch append_avi and append_ffmpeg to use current frame from rendering scene
(which was already passing to this functions and was used mostly for logging)
and start frame of rendering scene (it's new parameter added). This allowed to
calculate correct PTS value easily and get rid of global static sframe variable
in writeavi.c file.
2012-01-13 09:20:13 +00:00
Campbell Barton
c4473dc51c added comment; zbuffillGLinv4 and zbuffillGL4 are identical except for a 2 lines.
no functional changes.
2012-01-12 07:10:44 +00:00
Brecht Van Lommel
e26cd10b7a Fix #29836: stress not working as input for displacement texture. Previously it
would be computed after displacement, but I don't think this made much sense.
2012-01-11 16:21:17 +00:00
Sergey Sharybin
51bada696f Longer names support for all ID and other object names
This commit extends limit of ID and objects to 64 (it means 63 meaning
characters and 1 for zero-terminator). CustomData layers names are also
extended.
Changed DNA structures and all places where length constants were hardcoded.

All names which are "generating" from ID block should be limited by MAX_ID_NAME-2,
all non-id names now has got own define called MAX_NAME which should be used all
over for non-id names to make further name migration stuff easier.

All name fields in DNA now have comment with constant which corresponds to
hardcoded numeric value which should make it easier to further update this
limits or even switch to non-hardcoded values in DNA.

Special thanks to Campbell who helped figuring out some issues and helped a lot
in finding all cases where hardcoded valued were still used in code.

Both of forwards and backwards compatibility is stored with blender versions newer
than January 5, 2011. Older versions had issue with placing null-terminator to
DNA strings on file load which will lead to some unpredictable behavior or even
crashes.
2012-01-11 08:51:06 +00:00
Campbell Barton
0239333f0c fix error building without openexr 2012-01-05 23:36:03 +00:00
Brecht Van Lommel
f6620d0097 Fix #29723: wrong IOR for raytraced refraction after reflection inside mesh,
patch by Juha Maki-Kanto.
2012-01-05 22:41:56 +00:00
Brecht Van Lommel
de4befb075 Code refactoring: split render result related functions into separate file. 2012-01-05 17:50:09 +00:00
Sergey Sharybin
829216325d Fix #29764: Crash when border rendering in sequencer. (Not Cycles related)
Sequencer render context should be as large as the whole frame when rendering
using border without clipping.

Can be implemented in more clear way but it'll require more global refactoring.
2012-01-04 15:28:03 +00:00
Morten Mikkelsen
3b8404ac53 derivative maps must take into account that texture scales can be negative 2012-01-03 22:27:30 +00:00
Morten Mikkelsen
aa1325ef55 calculate factor before using MAX2 macro 2012-01-03 22:18:52 +00:00
Morten Mikkelsen
5fbd6223c5 derivative maps were not working correctly with UV scale (the texture setting size) 2012-01-03 22:09:22 +00:00
Campbell Barton
dcdcaf25ba fix [#29761] Texture painting with interpolation ignores use alpha
reporter - Shawn Zilbert (enigmatic) included patch.
2012-01-03 02:26:32 +00:00
Brecht Van Lommel
1fc26516ea Fix #29746: cycles crash with border render. 2012-01-02 16:20:18 +00:00
Miika Hamalainen
6c10080d24 Fix: Material "Vertex Color Light" option didn't apply vertex alpha. 2011-12-31 10:46:21 +00:00
Brecht Van Lommel
d7d856a23d Color management: add "Color Unpremultiply" option for images and render settings.
For premultiplied alpha images, this makes any color space conversion for the image
or render output work on color without alpha multiplied in.

This is typically useful to avoid fringing when the image was or will be composited
over a light background. If the image will be composited over a black background on
the other hand, leaving this option off will give correct results.

In an ideal world, there should never be any color space conversion on images with
alpha, since it's undefined what to do then, but in practice it's useful to have
this option.

Patch by Troy Sobotka, with changes by me.
2011-12-30 14:17:11 +00:00
Campbell Barton
5ed0cd4ad7 possible fix for [#29708] Crashes when Rendering Cross Dissolve + XVID Codec
was calling memcpy with both src and dst args were the same pointer.
2011-12-29 13:12:40 +00:00
Brecht Van Lommel
b9ff5840a6 Code refactoring: add unified image buffer functions for doing float => byte,
byte => float, float => float, byte => byte conversions with profile, dither
and predivide. Previously code for this was spread out too much.

There should be no functional changes, this is so the predivide/table/dither
patches can work correctly.
2011-12-28 13:29:33 +00:00
Campbell Barton
397d7d949f remove unneeded casts from 'unsigned int' to 'int' 2011-12-27 03:54:23 +00:00
Brecht Van Lommel
4d7c44717a Code cleanup: fix some clang static checker warnings. 2011-12-22 20:29:44 +00:00
Brecht Van Lommel
81c635a3bb Fix #25775: crash using border render from external render engines, merging
back the tile used wrong offsets.
2011-12-20 12:25:18 +00:00
Campbell Barton
71ce197bbb patch [#28094] New equirectangular world texture mapping option 2011-12-19 23:52:17 +00:00
Brecht Van Lommel
3311164b24 Math lib: matrix multiplication order fix for two functions that were
inconsistent with similar functions & math notation:

mul_m4_m4m4(R, B, A) => mult_m4_m4m4(R, A, B)
mul_m3_m3m4(R, B, A) => mult_m3_m3m4(R, A, B)

For branch maintainers, it should be relatively simple to fix things manually,
it's also possible run this script after merging to do automatic replacement:
http://www.pasteall.org/27459/python
2011-12-16 19:53:12 +00:00
Morten Mikkelsen
490536561d reenabled auto scale for derivative maps 2011-12-15 15:48:44 +00:00
Antony Riakiotakis
6ccc605660 Bicubic bump map filtering.
This commit introduces bicubic bump map capabilities for the viewport for OpenGL 3.0+ capable GPUs. 

To use the functionality change the bump mapping method to "best quality"
Previous "best quality" setting becomes "medium quality" now.
For non OpenGL 3.0 GPUs this becomes the same as "medium quality"

Also:
* added tooltip descriptions to the bump method settings.
* modified the shader to ommit extraneous matrix multiplications for matrices already provided by OpenGL.

Bicubic shader by Morten Mikkelsen. Thanks a lot!

Oh...and FIRST!
2011-12-15 13:58:09 +00:00
Morten Mikkelsen
82b9e4d16f verify existence of dm 2011-12-10 01:00:12 +00:00
Morten Mikkelsen
965c287630 fixes scale on derivative maps 2011-12-09 23:26:06 +00:00
Brecht Van Lommel
f8ccc111cf Tweak related to #29545: show info message if no frames are written in animation
render due to disabled Overwrite option.
2011-12-08 14:21:55 +00:00
Campbell Barton
9c5ad4fb60 remove old renderer struct member, was only used for setting yafray but was still being checked in a few places, 2011-12-04 16:22:53 +00:00
Campbell Barton
3fdc28b736 add a new object member to store the dsize, since with my recent commit broke forward compatibility. now the new values are copied into 'dscale' and existing ones remain.
this is annoying since now we have dsize and dscale, will look into a way to deprecate struct members next.
2011-12-04 03:35:54 +00:00
Campbell Barton
06c3d5bd09 de-duplicate dominant axis calculation, exact same checks were in 6 different places.
added function:  axis_dominant_v3(...)
2011-12-02 22:14:20 +00:00
Campbell Barton
6403858ad9 fix [#29111] Wrong application of delta scale
apply delta scale as a multiplier & do-versions on existing files.

- bumps subversion to 2.60.6
2011-11-29 21:13:37 +00:00
Brecht Van Lommel
8c01369935 Fix #29028: dupli objects missing speed vectors. Check for avoiding creation of
speed vectors was checking object instead of object instance layer, which is the
one that is actually used for render layer checks.
2011-11-29 15:46:33 +00:00
Brecht Van Lommel
93f455dab6 Fix #29411: displacement texture not working anymore, seems part of delta
scale patch got accidentally committed in revision 41485, reverted now.
2011-11-29 12:12:12 +00:00