Commit Graph

9022 Commits

Author SHA1 Message Date
a9110ee033 * Adaptive QMC AO feature - "Adapt from speed vectors"
This is a new feature that can make using AO a lot more attractive when rendering 
animations with vector blur. It uses the speed vector info calculated in the 'Vec' 
speed vector pass, in order to reduce AO samples where pixels are moving more 
quickly. There's not much point calculating all those AO samples when the result is 
going to be smeared anyway, so you can save a bit of render time by doing 
a more noisy render in those areas.


You can use this with a new slider in the Adaptive QMC settings 'Adapt Vec'. The 
higher the value, the more aggressively it will reduce samples. 0.0 means no 
reduction, and 1.0 reduces one sample per pixel of average displacement for that 
pixel. 0.25 or so generally gives decent results, but it depends on how fast things 
are moving.

Here's a demo (compare the final blurred result, and render times):
http://mke3.net/blender/devel/raytracing/adapt_speed_off2.jpg
http://mke3.net/blender/devel/raytracing/adapt_speed_on2.jpg

And a less contrived example, a short clip from macouno's 'petunia' bconf animation:
http://mke3.net/blender/devel/raytracing/petunia-adaptvec-noblur-h264.mov
http://mke3.net/blender/devel/raytracing/petunia-adaptvec-blur-h264.mov
2007-10-24 12:42:08 +00:00
2339eacce8 PyConstraints Bugfixes (again!):
Files saved with PyConstraints with multiple targets crashed on load, as the targets didn't actually get saved.
2007-10-24 10:03:19 +00:00
05768a38e5 ==Image Stamp - Patch by GSR==
When using non opaque background, some overlap lines appear
due to filling some pixel lines twice. Before it did not matter
as only opaque bg was allowed, and it even compacted the text
a bit. The fix spreads a bit the lines to overcome the issue.
As a plus no text should touch the top edge ever (slashes did,
for example).

Compare:
http://www.infernal-iceberg.com/blender/stamp-alpha-overlap.png
http://www.infernal-iceberg.com/blender/stamp-alpha-cleanup.png
2007-10-24 08:45:23 +00:00
94dfb616a9 Patch by GSR #7628, I also added alpha for text background.
The list of changes (some are fixes):
- Properly horizontally centered tags in all fields (bug?).
- File area does not have trailing space and has leading "File " at
start instead (probably a bug).
- Small separation between to time related fields, space saving.
- Removed colons, for consistency and space saving again.
- Frame field is zero aligned for higher visual stability.
- Marker name shows a rarer name, "<none>" (using <> is typical for cases
in which there is nothing: <none>, <empty>, <blank>, etc).
- Top area for misc info that can be really long (file, note and render date).
- Bottom area for more constantly changing but short ones (marker, SMPTE,
frame, camera and scene).
- Only render date moves a line (when note field is not used), and frame one
moves if no SMPTE (still in same line, so no big jump), for extra visual
stability (marker is fixed, assuming most people would show frame and or
SMPTE).
- ISO 8601 date format for render date, localization independant.

Comparision images:
http://www.infernal-iceberg.com/blender/stamp-original.png
http://www.infernal-iceberg.com/blender/stamp-cleanup.png
2007-10-23 22:51:50 +00:00
5b0a79c7c7 bug fix, when opening blender with a file (by double clicking or from the command line) - the initial undo state would be set to the default scene.
So holding Ctrl+Z would go back to the default .B.blend rather then the file that the user opened.
2007-10-23 21:31:59 +00:00
7fc1297b3c Unwrap menu (ukey) only in MESH edit mode, not all edit mode. 2007-10-23 19:57:41 +00:00
8b5de20512 patch from gensher - UV menu from the header 2007-10-23 19:47:30 +00:00
298707e5f6 made color generated strips work like single image strips - no center frame limitation 2007-10-23 19:30:22 +00:00
6210fe5ad6 made drawing curve handles in the 3d view optional - this is much nicer for editing curves with Automatic handles so you dont select a handle by mistake and change its type. 2007-10-23 18:56:43 +00:00
1362b210c6 automerge wasnt maintaining totverts (bug #7608) 2007-10-23 15:25:59 +00:00
96a7997a6a normal size of vertice when active 2007-10-23 10:49:47 +00:00
535deca633 More constraints bugfixes:
* Fixed crash that occurs when using an unknown constraint type or a Null constraint - missing NULL check
* ClampTo constraint now draws ok again
* Null constraints now get drawn in the stack again
2007-10-23 10:16:46 +00:00
cf8032f315 == PyConstraints - Now working again ==
I've finally traced down the causes of several of the bugs which caused PyConstraints to work incorrectly (or not at all).

* Freeing is now done using BLI_freelistN inside the pycon_free function, instead of looping through the targets ourselves. This fixes all of those Memblock free: pointer not in list errors.
* BPY_pyconstraint_update now correctly creates/frees the constraint's targets as needed. Previously, it was creating/removing the wrong number of targets. Also, pyconstraints no longer get disabled when using armatures (not bones)
* The panel drawing was also not working right, as there were still some offset issues.
2007-10-23 08:23:57 +00:00
bf68055b93 Compiler warnings silencing - mostly uninitialised vars 2007-10-23 06:24:29 +00:00
00237a08e7 * Fix for bug #7633: SSS makes QMC crash
This occurred when using qmc shadows, full OSA, and sss - it was 
assuming full OSA was being used, even when (during the SSS prepass) 
osa is set to 0.

Fixed by tightening up the checks for full OSA.
2007-10-23 03:13:34 +00:00
c1b9b32b8b * Brought eeshlo's halton_sample fix into trunk 2007-10-23 01:52:26 +00:00
9e0cecc337 ConvertToMesh for text ( and possibly curves ) was generating the wrong normals - the fact that the generated model was being set to double sided helped hide this.
To test for this in Blender, just add text, TAB out of edit mode, then convert to mesh ( ALT+C ), and press P for the game engine.  Alternatively select Textured Draw Mode.  You'll notice that the text is only visible from the back.  This patch reverses this, to be more correct.

Based on discussions on IRC, I'm now trying to fix another aspect of the extrude code - the fact that the faces at the front and back of the extruded curve face the same way ( ie one of them will be wrong ).  I'll keep working on this, but if someone can help out, feel free!
2007-10-23 00:02:29 +00:00
Chris Want
03650fcf0b == CMake ==
Fix by Stéphane SOPPERA to find bmfont includes.
2007-10-22 20:54:19 +00:00
2dee6b04c7 stub added by Hamed Zaghaghi in the ge branch, (fix own error) 2007-10-22 16:16:16 +00:00
0361b80525 Missing check for constraint target (ct->tar) caused crash.
Caused in Joshua's work on constraint, committed yesterday.
2007-10-22 14:30:40 +00:00
81effa9e2f small changes suggested by ton ans gsr 2007-10-22 13:26:47 +00:00
2dcc81071b dna error was not being set, allowing build to finish with DNA
allignment errors.
2007-10-22 11:50:05 +00:00
e0668e9d22 == Constraints Bugfixes ==
* Removed the old get_con_subtarget_name function and fixed the places that used it. This was only suitable for single-target constraints.

* PyConstraints interface drawing should now no longer draw multiple-target fields on top of each other

* Removed double call to BPY_pyconstraint_update when the Update button was clicked. I found this while debugging why PyConstraints didn't seem to be working yet...
2007-10-22 10:49:34 +00:00
cfd9d390fc Several fixes:
* DNA_action_types.h - fixes for typos that broke compiling (own error)

* transform.c - fix for implicit definition of a function (missing header)

* outliner.c - commented out a few unused vars (as a result of constraints refactor)

* editsima.c - fixed uninitialised var warning

* drawview.c - bugfix #7598 load without ui crashes if there is no camera. Patch provided by Daniel Genrich (genscher)
2007-10-22 06:28:39 +00:00
2cc41ad890 == Action/NLA Transform ==
Added a new auto-snapping mode: snap to nearest marker. 
This mode can be toggled using the ALTKEY.
2007-10-22 05:32:17 +00:00
f721ce13fb == Action Constraint ==
Now the Action Constraint can be applied to Objects as well as Bones!
2007-10-22 02:43:07 +00:00
6422a740c2 == Constraints System - Recode 2 ==
Once again, I've recoded the constraints system. This time, the goals were:
* To make it more future-proof by 'modernising' the coding style. The long functions filled with switch statements, have given way to function-pointers with smaller functions for specific purposes.
* To make it support constraints which use multiple targets more readily that it did. In the past, it was assumed that constraints could only have at most one target.

As a result, a lot of code has been shuffled around, and modified. Also, the subversion number has been bumped up.

Known issues:
* PyConstraints, which were the main motivation for supporting multiple-targets, are currently broken. There are some bimport() error that keeps causing problems. I've also temporarily removed the doDriver support, although it may return in another form soon. 
* Constraints BPy-API is currently has a few features which currently don't work yet
* Outliner currently only displays the names of the constraints instead of the fancy subtarget/target/constraint-name display it used to do. What gets displayed here needs further investigation, as the old way was certainly not that great (and is not compatible with the new system too)
2007-10-21 23:00:29 +00:00
a4e8e87983 == Core ==
Tried to fix renderlayer crash, that was introduced with NTSC-patch
on 64bit platforms.
2007-10-21 20:18:54 +00:00
af03bbe412 == Sequencer ==
Peach request: display last mapped frame in status bar of speed control
effect. (To come: auto-resize based on this information)
2007-10-21 20:05:01 +00:00
477a8c30fa == Core ==
Fixed fixup code in readfile, that makes old files load with
correct FPS.
2007-10-21 19:19:53 +00:00
8bcfafa3d9 changed default nan_definitions.mk to use python 2.5 for linux (ai64 default was py 2.2 which probably wont even compile anymore)
pose.c - left a print here
export obj would ask about file overwriting twice.
2007-10-21 17:38:17 +00:00
373a1b05be own error, was returning the wrong python error type 2007-10-21 16:48:12 +00:00
Stephen Swaney
2ecc688e76 warning cleanup:
unused var
 return makes integer from pointer without cast
2007-10-21 16:43:21 +00:00
c4218a810c added missing include dir from stampinfo patch to msvc project files and SConscript file. 2007-10-21 16:17:33 +00:00
969c3e1cf6 change in the include for stamping (image.c needs to call font drawing) 2007-10-21 15:48:09 +00:00
a0390e5cc3 == Core ==
This adds fractional FPS support to blender and should finally
make NTSC work correctly.

NTSC has an FPS of 30.0/1.001 which is approximately 29.97 FPS.
Therefore, it is not enough to simply make frs_sec a float, since
you can't represent this accurately enough. 
I added a seperate variable frs_sec_base and FPS is now 
frs_sec / frs_sec_base.

I changed all the places, where frs_sec was used to my best knowledge.

For convenience sake, I added several macros, that should make life
easier in the future:

FRA2TIME(a) : convert frame number to a double precision time in seconds
TIME2FRA(a) : the same in the opposite direction
FPS         : return current FPS as a double precision number 
              (last resort)

This closes bug #6715 
Standard framerates not supported / breaks sync -- 23.967 29.967 etc.

https://projects.blender.org/tracker/?func=detail&aid=6715&group_id=9&atid=125

Please give this heavy testing with NTSC files, quicktime in/export
and the python interface.
Errors are most probably only spotted on longer timelines, so that is
also important.

The patch was tested by Troy Sobotka and me, so it most probably should
work out of the box, but wider testing is important, since errors are
very subtle.

Enjoy!
2007-10-21 15:42:08 +00:00
bacfc9eb91 fix for crash's in file selector.
- on unix BLI_diskfree was only using 100 chars for the dir name, and 
not checking if the name given was longer, increased to FILE_MAXDIR 
(160) and added a check, return -1 if its too long.

The file selector only allowed 80 chars to be typed into the directory 
entry.

Made the file selector check that the path is less then FILE_MIXDIR, if 
you try and enter a path thats longer it will tell you that the path is 
too long, before it was writing into other memory and crashing.
2007-10-21 09:32:18 +00:00
3a04520686 python api, slicing works differently on the 64bit ubuntu gutsy system, compared to the 32bit
install.
face.uv[:] was returning a blank list. and making smart UV projection script fail.

On one system Python is giving the slice function positive values, whereas on the 64bit system its 
passing negative which are then clamped to zero.
made mathutils types accept negative values for slicing. This is very odd because both systems are 
running ubuntu gutsy with python 2.5
2007-10-20 20:24:09 +00:00
30479e6912 adding the glalphaclip variable didnt allign on 32 bit linux but worked
in 64bits. added a pad value.
2007-10-20 18:57:40 +00:00
960eaed6cd added an option to adjust the alpha clipping value in the oprnGL preferenes. in some cases you might
want to use 0.5 to see through more of the texture. (less halo's with clipmaps), defailt is 0.0 so it 
will only clip 0 alpha.
2007-10-20 18:01:57 +00:00
bfbb350040 some mistakes in stamp commit 2007-10-20 16:58:48 +00:00
992bd025e7 allocating memory for the time line was still crashing blender (not sure why), added more checks and
I cant get it to crash anymore.
2007-10-20 16:47:07 +00:00
46deddcc62 Image Stamping patch by Diego (and peach request)- stamps image info into metadata and optionally
draws into the
frame.

This patch includes some changes I made...   
* use blenders bitmap fonts (rather then own fonts)
* select font size
* user interface layout changes
* Marker as another image stamp option

Also added some new API calls   
BMF_GetFontHeight(font);
BMF_DrawStringBuf(...);  - so we can draw text into an imbuf's image buffer.
get_frame_marker(frame) - get the last marker from the frame.
IMB_rectfill_area(...) - fill in an image buffer with a rectangle area of color.

TODO - draw stamp info in 3d view, at the moment it just displays in the animation.
2007-10-20 16:17:27 +00:00
e5a9e0b12a Fix "Remove Doubles" of w menu and a couple of typos:
This commit makes "Remove Doubles" of w menu to work again.
Also renamed "AutoMarge" to "AutoMerge".
Added shortcut of "Select Inverse" to menus and renamed 
"Select/Deselect All" to be consistent with rest of Blender.
2007-10-20 12:16:54 +00:00
a4c8783153 made setting the pose_bone.poseMatrix possible, this does not set the matrix directly, only the pose
bones loc/size/rot, when dealing with an armature without constraints this works as expected. it uses 
the same code as Copy Visual Loc/Size/Rot.
2007-10-20 11:28:58 +00:00
0014fed54f Cosmetic change for Copy Attributes menu (Ctrl-C).
The "drawtype" options copies all the draw extra (x-ray, wire, ...) too, so I've renamed the menu entry "draw options".
2007-10-19 17:31:57 +00:00
d407f5ae81 added point to edge collision in case point to face missed
/* special hidden feature! shrink to fit */
if (G.rt > 500){
	scale = (G.rt - 500) / 100.0f;
}
-- shrink a T shirt to fit .. evil grin
-- by the way i did set up the rule 'if any *outer object* hits no *inner* will be regarded' ... pretty poor IMHO .. well but it works
2007-10-18 22:47:55 +00:00
5ea45a1385 Mesh edit option 'AutoMerge' - access from the mesh menu, basically runs remove doubles after transform. but only merges
unselected verts into selected verts, so it wont merge verts your not editing.
2007-10-18 21:47:55 +00:00
87b9283e1d (own mistake) transform markers wasnt working, bad memory use. 2007-10-18 20:43:39 +00:00
27d97b7124 (bad mistake) - didnt read docs and removed lib from Sequence struct 2007-10-18 20:03:12 +00:00