Commit Graph

699 Commits

Author SHA1 Message Date
082b706e8d Fix for bug #8865: on mac os x, with certain processors (I'm guessing
Intel Xeon only), doing a lot of mutex locking is really slow. Getting
the image  buffer for each texture read then made using more threads
actually slow down the render. Now I've split up the function in two
parts, one parts that checks if the image is available, and another
that does a mutex lock and loading if needed.

Changes quite a lot of code, so hopefully doesn't break stuff, but it
seemed to survive test with rendering a number of frames using all
image types and many threads, though this kind of threading problem
only happens once in a while .. so hard to test for.
2008-04-28 20:57:03 +00:00
db18b47be5 fix for own error when trying to fix python command line crash,
was calling screenmain() before executing the python script which meant it was never executed (therefore no crash :) )

Moved screenmain() back to the the end of main() and added a TESTBASELIB_BGMODE which checks for G.vd and uses the scene layer if its not there. Of course python should not be running stuff that uses G.vd :/

Also made python scripts stay attached to screens when LOAD UI is disabled. This means you can load a new blend file and the python console can stay open, has been tested for a while in the apricot branch.
2008-04-27 11:37:57 +00:00
f057a38e98 Changed BLI_convertstringcode to replace any number of hashes with the frame number.
somefile_##.png -> somefile_01.png
somefile_########-image.png -> somefile_00000001-image.png

Before, A hash at the end of the string would be replaced by a number with 4 characters. This is still default if no #'s are in the string, so nothing has changed.

To use this function from the python api use scene.render.getFrameFilename()
2008-04-11 15:47:21 +00:00
0ec0f2a02f Add an option for saving/loading DPX with in log color space with
reference black, reference white and gamma.

Added 16 bit TIFF saving.

This needs more work to cleanup code and add 16 bit TIFF reading, but
committing it now so it can be tested.
2008-03-10 11:39:37 +00:00
13f70b8077 Fix for bug #8366, render color sampling bugs and inconsistencies:
- renderwindow didn't show values of previous buffer correct.
- renderwindow only showed floats and no char values like image editor.
- renderwindow didn't show x,y values.
- image editor didn't show z values.

Patch to fix these problems provided by Rob Hausauer, thanks!
2008-03-03 16:38:27 +00:00
0e233b3213 =Reversion of premul bugfix=
Reversion of premul bugfix, as it was apparently not
working all that well.

Note that this brings back the bug where the erase alpha
paint tool won't display correctly, since the UV image
editor just draws images in key alpha now.
2008-02-22 22:23:58 +00:00
ae464adffd Fix for [#8303] stamp gives wrong file name when using unsaved files
Also made alpha color work with OpenGL render caused by buf_rectfill_area not working on char rect's.
2008-02-21 23:19:06 +00:00
6907bcc79b Reverted the change of auto-turning on premul for images from last
commit.  I still think this is a good idea, but needs more discussion.

Basically, the way the premul option worked before is it actually
changed the image data to be premul (for each pixel it multipled r,g,b by a) when
loading an image.  So if a user wanted his image to be key, yet
still work in the renderer (which expects premul) he'd be stuck.
Also, it was kindof confusing how if you painted something in the image,
then saved it with premul on, when next you loaded the image it'd have
changed (especially since the image editor painting seems to paint in
key, not premul).
2008-02-14 12:44:27 +00:00
139b612b09 The "premul" option for images had a very bad implementation. It
basically flagged the image so that on next load/reload, the image
data would be converted to premul.  This was very confusing to the
user, as it meant premul wouldn't take effect will the image was
reloaded, and it would also change the image data, which the user
might've been painting.

To fix this, I've removed this behaviour and instead made the premul
option apply at render time.  During render while evaluating an image
texture, if the image has the premul flag set then the premul operation
is done on the texture result data, thus not touching the image data
at all.

Also, I've made premul be turned on by default.
2008-02-14 12:19:37 +00:00
baf7be9e46 Memory usage debugging: now with the -d debug option enabled, at the end
of rendering it prints memory usage for images and all memory blocks.
2008-02-01 12:14:15 +00:00
6f4c03a091 opengl stamp wasnt working right, stamp assumed an alpha channel existed. 2008-01-20 23:52:48 +00:00
e6ee8c7d49 Bugfix: in the new image function, uv test grid option
didn't draw colored crosses correct.
2008-01-06 16:04:48 +00:00
58bf29e389 removed blenderdef.h, BIF_*, BDR_* and BSE_* header files (except for BIF_gl.h and BIF_glutil.h) 2008-01-01 18:16:10 +00:00
3ef896a945 == Sequencer ==
Attention! Rather large sequencer rewrite:

* Implemented layer blending using implicit effects. (works like layers 
  in "The Gimp" or Photoshop.)
* Fixed Space-Bar start-stop in preview windows.
  You can start playback using spacebar within a preview-window and it _works_!
* Fixed Flip Y (didn't work for float)
* Fixed premul (didn't work for float)
* Added IPOs to _all_ tracks. In blend-mode REPLACE it drives the 
  "mul"-parameter in all other blend modes it drives the effect.
* you can meta single tracks.
* moved "mute track" from "M" to "Shift-M"
* added "Shift-L" for "lock track"
* changed inner workings for Metas. Now all ImBufs have to use the
  reference counting mechanism. (Only interesting for coders :)

!!! Really important change, that affects current files!

Since you can mute tracks and now there is real layer blending capabilities
in place, I changed the silly behaviour that chose the output track.

Old behaviour: if we have an effect track visible, use the uppermost effect
track. If there is _no_ effect track visible, use the lowest input track.

New behaviour: always use the uppermost track. With blend modes active: 
work our way down starting from the uppermost track to the first 
"replace"-mode track. This is the way the gimp, photoshop, basically _all_
other applications work...

So if this change ruins your day: please try to fix your files using
"mute". If this doesn't work out, I can still restore the old behaviour,
but I really hope, that this is _not_ necessary!

Rational: most people won't get affected by this change, since you can't
really do anything usefull with the (old) sequencer without at least one 
effect track and then you are on the safe side...
2008-01-01 11:44:42 +00:00
97f144b5ff And now blender will link again! However, with a bad stub.c
That's going to be tackled.
2007-12-29 16:12:35 +00:00
3c1ad6a295 * Displacement map baking
This is an extension on the work Brecht already did to implement normal map baking. I've updated the release notes page here with info and pics:

http://www.blender.org/development/current-projects/changes-since-244/render-baking/
2007-12-29 05:17:19 +00:00
c79966be52 Blenkernel for 2.5 project, changes mainly are because of disabling
bad level calls. (which is not finished at all)
2007-12-24 18:38:03 +00:00
052a0551e4 Added 'File->External Data->Make all files Absolute'
OpenGL stamp also wasnt checking correctly (own error)
2007-12-24 17:07:52 +00:00
Ken Hughes
3e544d04b5 Tools
-----
Make FFMPEG image save use PNG format instead of JPEG.
2007-12-04 05:53:32 +00:00
Ken Hughes
62e28f52da Tools
-----
Bugfix #7831: fix image filename extensions on saved files.  Make FFMPEG save JPEG images by default, allow JPEG images to have either ".jpg" or ".jpeg" extension.
2007-12-03 23:37:33 +00:00
141e279d70 wizard_curve2tree.py - bounding twig mesh didnt work if it had some transformation.
buttons_shading.c - premul button was overlapping movie buttons
2007-12-01 22:00:09 +00:00
7154e84ee1 Images now have option to be tagged "convert to premul".
Option available in the Image (properties) panel.
2007-11-28 12:32:25 +00:00
2abb50d1ea Exclude generated images when checking if an image is already loaded, it can be very confusing when you don't appear to have the image loaded anywhere. 2007-11-10 19:56:06 +00:00
40f871c07f * new stamp option to stamp forground sequence strip name.
* made stamp filename optional
* renamed weightpaint "Filter" to "Blur"
* made the defailt weightpaint opacity 1.0 rather then 0.2 so when you select 1.0 weight you can paint it with without multiple clicks.
2007-11-08 13:02:59 +00:00
b617c191aa Bugfix #7685: Stamp info displays incorrect label for scene.
Copy+Paste error, wrong prefix used. Patch provided by Malcolm Tredinnick (malcolmt)
2007-10-30 05:58:25 +00:00
e448f20db5 Routine purge of compiler warnings. Yet again, they were mostly uninitialised vars. 2007-10-29 05:59:26 +00:00
7718b3d642 render stamp drawing is now done everywhere - (not just when saving
images)
separated stamp metadata and stamp draw functions.
2007-10-28 22:27:07 +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
bf68055b93 Compiler warnings silencing - mostly uninitialised vars 2007-10-23 06:24:29 +00:00
969c3e1cf6 change in the include for stamping (image.c needs to call font drawing) 2007-10-21 15:48:09 +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
aee06ac0d0 added an active face for the mesh editmode and normal mesh - this is needed because the TFace flag was not always easy to access from editmode.
using the last selected face was almost good enough however when selecting verts and edges the last selected face would become inactive and the space image would flicker about too much.
The active face is used for getting the space image at the moment and keeps scripts that use this flag working also.

This has 2 commands to get and set, so the variable is not accessed directly.

all "UV Calculate" scripts work now

last commit crashed when in solid draw mode, it seems subsurf modifier is ignoring the displayMask since MTFACE is available. just made it do a null check for now.

uvcalc_follow_active_coords.py - should be done inC and put in the snap menu.
2007-09-22 17:54:13 +00:00
356ab94373 == imagebrowser ==
Initial commit of imagebrowser in trunk.
BIG COMMIT!

Main changes:
* completely reworked imasel space
* creation and storage of the preview images for materials, textures, world and lamp
* thumbnails of images and movie files when browsing in the file system
* loading previews from external .blend when linking or appending
* thumbnail caching according to the Thumbnail Managing Standard: http://jens.triq.net/thumbnail-spec/
* for now just kept imasel access mostly as old imgbrowser (CTRL+F4, CTRL+F1) a bit hidden still.
* filtering of file types (images, movies, .blend, py,...)
* preliminary managing of bookmarks ('B' button to add, XKEY while bookmark active to delete)

More detailed info which will be updated here: http://wiki.blender.org/index.php/User:Elubie/PreviewImageBrowser

Places that need special review (and probably fixes):
* BLO_blendhandle_get_previews in readblenentry
* readfile.c: do_version and refactorings of do_library_append
* UI integration

TODO and known issues still:
* Accented characters do not display correctly with international fonts
* Crash was reported when browsing in directory with movie files
* Bookmark management still needs some UI work (second scrollbar?), feedback here is welcome!

Credits:
Samir Bharadwaj (samirbharadwaj@yahoo.com) for the icon images.

Many thanks to everyone who gave feedback and helped so far!
2007-09-02 17:25:03 +00:00
ca5c21e180 * updated MSVC projectfiles with SHD_sepcombRGB.c shader nodes.vcproj
* fix for possible double free.
2007-08-30 20:32:43 +00:00
613646b33e This commit is a modified version of patch #6860
It adds read only dds support.  (Writing will come later)

Kent
2007-06-25 19:50:25 +00:00
c71949419e == UV/Image Editor ==
Patch #6570.

This patch adds color and alpha selectors to Image -> "New..." dialog.
2007-05-03 15:10:44 +00:00
afdd54fa37 moved source and text to american spelling
* colour -> color
* centre -> center
* normalise -> normalize
* modelling -> modeling
2007-04-04 13:18:41 +00:00
054c471a04 Bugfix #6419
When adding images, there was no check if image file was a directory.
Result was an Image without name even. Fixed!
2007-03-29 12:42:30 +00:00
8e837d6f86 Fix for bug #5980:
Baked textures not updating in the 3D view. This bug was a side
effect of the image not being marked as loaded after changing
parameters (uv test grid, size) of a generated type image.
2007-02-10 16:59:20 +00:00
c01aaac311 Two in one:
- Bugfix #5714
  New option "Save changed images" didn't respect relative file names

- Bugfix #5621
  New camera (shiftx, shifty) was missing in IpoWindow as animatable option
2007-01-15 12:44:45 +00:00
Chris Want
66643dbf1f I think this might be a safer way of dealing with the non-OpenEXR
compilation of image.c -- Ton: please check.
2006-12-24 20:19:56 +00:00
Chris Want
1e6c007497 Some more duct tape to make sure that blender[player] still builds
when compiled without OpenEXR.
2006-12-24 16:03:31 +00:00
120ac48728 Another Image recode fix: the Composite backdrop option didn't work when
no viewer images was generated before.
2006-12-21 20:03:25 +00:00
af60771eca Fix for threads usage. This solves the hanging 'render baking', cauused
by yesterdays commit.

Now a designater LOCK_IMAGE is used for all image write/read.
2006-12-21 15:44:46 +00:00
edccdf9340 Packing Images fix:
- a 'procedural image' like 'UV Test Grid' now can be directly packed,
  it does ask first for confirming to pack it as PNG
2006-12-21 13:39:02 +00:00
Chris Want
5895c903cd Only include the header openexr_multi.h when WITH_OPENEXR is defined.
This header defines function stubs for builds without OpenEXR.
A quote from openexr_multi.h:

/* ugly... but we only use it on pipeline.c, render module, now */

No longer true! Function definitions should never be in header files,
I say.
2006-12-21 01:16:25 +00:00
e6c8702e7b Game Player links again, added new functions in the stubs
(image.c: prototype fix)
2006-12-20 21:51:08 +00:00
253432bfc7 The Big Image refactor!
Please read:
http://www.blender3d.org/cms/Imaging.834.0.html

Or in short:

- adding MultiLayer Image support
- recoded entire Image API
- better integration of movie/sequence Images

Was a whole load of work... went down for a week to do this. So, will need
a lot of testing! Will be in irc all evening.
2006-12-20 17:57:56 +00:00
2e0084c2d9 IRC reported bug:
When linking a referenced (Library) Image to a texture face, it wasn't
tagged to become saved in file. So you lost data.

Also fixed: tooltip for the "Li" icons was wrong.
2006-11-27 13:00:50 +00:00