Commit Graph

207 Commits

Author SHA1 Message Date
Campbell Barton
e3f8bcbe88 bugfix #24334] Filename looses all parts after a dot when saving
replacing the extension could remove the frame number added to a path when writing images, so just add the extension rather then replacing even though it gives odd names at times. eg: foo.png0001.tga
2010-10-26 23:28:10 +00:00
Campbell Barton
4d37cf90b9 remove G.sce, use G.main->name instead.
Both stored the filename of the blend file, but G.sce stored the last opened file.
This will make blender act differently in some cases since a relative path to the last opened file will no longer resolve (which is correct IMHO since that file isnt open and the path might not even be valid anymore).

Tested linking with durian files and rendering to relative paths when no files is loaded however we may need to have some operators give an error if they are used on the default startup.blend.
2010-10-18 06:41:16 +00:00
Elia Sarti
3b6564a821 Fix for [#24292] When rendering with the stamp feature the scene opt. affects the seq. strip placement
Fixed typo.
2010-10-16 17:28:52 +00:00
Campbell Barton
8268a4be71 most unused arg warnings corrected.
- removed deprecated bitmap arg from IMB_allocImBuf (plugins will need updating).
- mostly tagged UNUSED() since some of these functions look like they may need to have the arguments used later.
2010-10-16 14:32:17 +00:00
Campbell Barton
db09ca106d remove/tag unused args for view*.c, gpu*.c & image*.c 2010-10-15 12:29:02 +00:00
Janne Karhu
1eda2c8594 Fix for [#24205] Multilayer EXR files used as input sequence are displayed incorrectly
* Image buffer profile wasn't set to linear rgb for multilayer image sequences
2010-10-13 11:40:59 +00:00
Campbell Barton
8408997c84 remove some unused code and reduced the scope if some vars (no functional change). 2010-10-05 21:22:33 +00:00
Campbell Barton
8df244f20d images bigger then 32k no longer crash blender, use unsigned int for image size rather then short.
also check if jpeg fails to allocate an imbuf.
2010-09-28 10:03:56 +00:00
Brecht Van Lommel
8babc5056f Fix for fix in revision 32122, viewer node wasn't working anymore in some cases. 2010-09-25 22:21:35 +00:00
Brecht Van Lommel
9da82e2d68 Fix #23690: threading crash with compositing nodes and scopes view. 2010-09-25 16:35:02 +00:00
Campbell Barton
b859d355c8 bugfix [#23739] # (hash) character can't be used in image filenames
images would convert hashes to numbers on load but it didnt update properly and this is what image sequences is for.
2010-09-20 13:35:55 +00:00
Campbell Barton
e546d7666b minor changes needed for the next commit.
- BKE_add_image_extension now sets the extension rather then appending. (no more image.jpg.tga)
- py/rna functions which have no return value now raise an error if a non-None value is returned.
- added back the red-alert flag so buttons can have a red highlight if somethings wrong.
2010-09-17 05:58:06 +00:00
Campbell Barton
bd5a62cfcb bugfix [#23068] Image editor: Update Automatically not updating the compositor.
[#23637] Replacing an image used in the compositor crashes
       [#23343] changes in images doesn't update compositor image nodes
2010-09-13 06:08:26 +00:00
Campbell Barton
a992fec4e7 bugfix
- image filepath in the image view would only be set when first loading a frame.
- check to free animated image buffers on opengl render was comparing against the wrong value.
2010-08-25 02:32:02 +00:00
Campbell Barton
957976882d build options to disable image formats WITH_CINEON, WITH_HDR.
- updated cmake, make & scons.
- renamed CMake build options WITH_TIFF -> WITH_IMAGE_TIFF, same for DDS, OPENJPEG etc.
2010-08-03 11:25:34 +00:00
Campbell Barton
449f8ce4fe bugfix [#22859] Multi-user images cant be made into single user in texure panel.
turns out this isnt exactly a bug since support was never written for this but may as well support it.
now rna/py can do image.copy() too.
2010-07-30 06:09:23 +00:00
Campbell Barton
22c6b7d174 PNG Compression can now be set, writing uncompressed PNG's is significantly faster for high resolution images - 2k. 2010-07-17 13:29:55 +00:00
Jason Wilkins
5505697ac5 Merge GSOC Sculpt Branch: 28499-30319
https://svn.blender.org/svnroot/bf-blender/branches/soc-2010-jwilkins
See log of that branch for details.
2010-07-14 14:11:03 +00:00
Brecht Van Lommel
358738c1aa Fix #22354, #22727, #22501: image window not display correct
renders with compositing and slots.
2010-07-07 14:28:22 +00:00
Campbell Barton
80f6102629 better reporting for file i/o failier, use system error message in more places: Permission Denied, No space left, File not found etc.
- blend load/save uses os message.
- image load gives os message. (remove check for slash at end of line, just let the os report an error)
- python api load image/font/text raise errors with message (was just retuning None for image and font)
- minor edits to py api errors.
2010-07-03 17:47:06 +00:00
Campbell Barton
35dd09a9ef add alpha option for new images (operator and function) 2010-06-29 22:07:27 +00:00
Matt Ebb
3173232bfa Fix [#22610] Alpha problem with textureswhen Brightness > 1 or Contrast < 1
* Enabled premultiplication for packed images
* Added pack/unpack operator to image template
* Moved brightness/contrast corrections to after de-premultiplication in image texture sampling
2010-06-17 07:20:12 +00:00
Campbell Barton
4da179749e - [#22492] [29159] commit breaks importing of script file that has a reload to self in it
broke when including the blend path in the modules filename.       

- new function BLI_path_basename(), matches pythons os.path.basename().
  replace a number of cases where BLI_split_dirfile was being used to get the filename only.
2010-06-05 21:19:59 +00:00
Campbell Barton
9cbbc9d3af rename some rna properties filename --> filepath
* filename == "foo.ext"
 * filepath == "/path/to/and/including/foo.ext"

this was alredy followed in some places not not everywhere.
2010-06-02 17:58:28 +00:00
Campbell Barton
1bd58bdbf4 = misc small stuff =
- own mistake in scene help text.
- rename properties to have users as the prefix for better ordering.
- use fixed height for stamp, gives better aligned text.
2010-05-25 17:04:32 +00:00
Matt Ebb
2be851c966 Blender TIFF support
* Removed dynamic linking libTIFF code and change it to static linking 
(built into the blender executable). Dynamic linking made things a 
fair bit more complicated and wasn't working at all before on OS X - 
the dylib didn't exist and wasn't being copied. Since TIFF is more heavily
depended upon now in Blender, it makes sense to make it less 'optional'
and more in line with other libraries.

I've updated both CMake and scons, and CMake on OS X/64bit works fine.
It's now up to other platform/build system maintainers to enable this for 
their respective platforms (Campbell will check it for linux). For windows,
and non-64bit osx, we need static libtiff libraries in /lib.

I've added options WITH_TIFF for CMake and WITH_BF_TIFF for scons,
so if blender won't build because of this, you should be able to disable 
these options until your build system has been updated.

* Bonus feature: while doing this, I added support for loading 16bit and 32bit 
per channel TIFFs - they get converted to Blender's float buffers. Handy for 
zbrush displacement maps!
2010-05-21 03:25:38 +00:00
Campbell Barton
5741dbf6e4 render time wasnt being written to the metadata of images. 2010-05-08 20:07:29 +00:00
Brecht Van Lommel
008863daec Merge image related changes from the render branch. This includes the image
tile cache code in imbuf, but it is not hooked up to the render engine.


Imbuf module: some small refactoring and removing a lot of unused or old code
(about 6.5k lines).

* Added a ImFileType struct with callbacks to make adding an file format type,
  or making changes to the API easier.
* Move imbuf init/exit code into IMB_init()/IMB_exit() functions.
* Increased mipmap levels from 10 to 20, you run into this limit already with
  a 2k image.
* Removed hamx, amiga, anim5 format support.
* Removed colormap saving, only simple colormap code now for reading tga.
* Removed gen_dynlibtiff.py, editing this is almost as much work as just
  editing the code directly.
* Functions removed that were only used for sequencer plugin API:
  IMB_anim_nextpic, IMB_clever_double, IMB_antialias, IMB_gamwarp,
  IMB_scalefieldImBuf, IMB_scalefastfieldImBuf, IMB_onethird, IMB_halflace,
  IMB_dit0, IMB_dit2, IMB_cspace
* Write metadata info into OpenEXR images. Can be viewed with the command
  line utility 'exrheader'

For the image tile cache code, see this page:
http://wiki.blender.org/index.php/Dev:2.5/Source/Imaging/ImageTileCache
2010-05-07 15:18:04 +00:00
Brecht Van Lommel
a547e91d41 Two bugfixes from the render branch:
* Fix for FSA update while rendering fix, should set float rect to NULL.
* Fix for irradiance cache mutex unlock that got lost in code changes.
2010-04-26 12:50:48 +00:00
Brecht Van Lommel
23ad9588ad Some fixes from the render branch:
* Take border render into account when drawing grid before for render
  result becomes visible.
* Use antialiasing for rendering icon previews.
* Fix Full Sample not drawing render result while rendering.
* Mesh Deform Modifier: also forgot to commit this file.
2010-04-23 18:02:50 +00:00
Diego Borghetti
a56b72fd82 BugFix:
[#20854] PROPERTIES STAMP: Rendering stamp flickers in output renders

Blenfont was not thread safe, that is why one thread can change
the font properties (size, dpi, color, etc) at the same time
that the stamp draw on the image, and then the problem.

To make blenfont thread safe I have to change two important things:

1) Every BLF_* function take one argument, the font id.
2) We have two new function to make font "thread safe":
	BLF_load_unique
	BLF_load_mem_unique

This two function are for case like stamp, that need and own font
that don't share the glyph cache, so can draw without problem
in a different thread.

Why the BLF_*_unique function ?

Because blenfont keep only one copy of a font and keep a list of
"glyph cache". Every glyph cache have size and dpi, so if two
different thread access the same font at the same time, they can
change value and finish with something like the stamp problem.

Why don't remove the glyph cache ?

Because if we do that, we finish with a font object for every size
and dpi, and the stamp is really a special case that happen in
the rendering process, so I really thing is better keep the
glyph cache and make this two new function to handle this
special case.

(When I say "font object" I mean have the same freetype font multiple
times just to have differents size and dpi)

As Matt point we still can have one case that two thread access
the BLF_*_unique function at the same time, but I am looking to
fix this with some class of thread lock.

For now I test and work fine, so if some one found problem, please
let me know.

Campbell I have to change the python api (python/generic/blf_api.c)
to the new syntax, so maybe you can take a look at this.
2010-04-22 10:56:45 +00:00
Brecht Van Lommel
9a85013692 Merge various small changes from render branch:
* Division by zero fix for TNT SVD code.
* Sound fix, in case ffmpeg decode fails, don't use the samples.
* Fix for incorrect bounds of transformed objects in new raytracing code.
* Gave memory arena's a name used for allocations for easier memory
  usage debugging.
* Dupligroup no_draw option was using layers but not restrict view/render
  setting. (not a bugfix exactly but would do display list context switching
  while drawing for no reason).
* Fix objects instanced on hair particles not giving consistent results
  when the object is transformed.
* New math functions: madd_v4_v4fl, len_squared_v3v3, interp_v4_v4v4v4,
  mul_v4_m4v4, SH and form factor functions, box_minmax_bounds_m4.
* mul_m4_m4m4 and mul_m3_m3m3 now accept the same pointers for multiple
  arguments.
* endjob callback for WM jobs system.
* Geometry node uv/color layer now has search list/autocomplete.
* Various small buildsystem tweaks, not strictly needed yet in trunk.
2010-04-15 10:28:32 +00:00
Campbell Barton
09489418a3 [#21910] Add Current Time to Render Stamps
by Harley Acheson (harley) 

note from the submission
-snip-
While in there I removed the Win32 conditionals that made "_strdate" used to
get date on Windows. "localtime" works fine on Windows so the results are consistent on all platforms.
2010-04-04 21:57:51 +00:00
Brecht Van Lommel
9822e07be6 Attempted fixes for render crashes on windows, still can't redo them here
in a virtual machine, maybe that has some different threading behavior.
Also should fix a problem with displaying render passes and multiple slots.
2010-04-01 12:51:24 +00:00
Brecht Van Lommel
46895ab1f2 Attempt to fix #21796: render crash on windows after slots commit. 2010-03-28 13:45:19 +00:00
Brecht Van Lommel
57101c4fd2 Second attempt at committing the different render slot implementation. This
has a fix that hopefully solves the problem on mac/win. Also fixes #21322,
render slots not working well with FSA.
2010-03-27 15:35:34 +00:00
Campbell Barton
1e9bf0cfdb spaces -> tabs, (4 spaces == 1 tab, only for white space preceding text) 2010-03-22 09:30:00 +00:00
Campbell Barton
546ca400d8 removed unused includes, except for physics and particle related files 2010-03-21 13:42:25 +00:00
Campbell Barton
03acdd75e0 [#21660] improved UV test grid
from shuvro sarker (shuvro) 
Added text to the patch and made other minor tweaks.

moved image generation functions into their own file.
2010-03-21 00:25:52 +00:00
Brecht Van Lommel
f17dcf58c8 Fixes for thread related render / compositing crashes:
* Viewer node could free image while it is being redrawn, viewer image
  buffers now need acquire/release to be accessed as was already the
  case for render results.
* The Composite node could free the image buffers outside of a lock,
  also causing simultaneous redraw to crash.
* Especially on Windows, re-rendering could crash when drawing an image
  that was freed. When RE_RenderInProgress was true it would access the
  image buffer and simply return it while it could still contain a pointer
  to a render result buffer that was already freed. I don't understand
  why this case was there in the first place, so I've removed it.

Possibly fixes bugs #20174, #21418, #21391, #21394.
2010-03-16 16:58:45 +00:00
Campbell Barton
1708ac0723 rename some functions to use easier to understand names.
'BLI_makestringcode' --> 'BLI_path_rel'
'BLI_convertstringcwd' --> 'BLI_path_cwd'
'BLI_convertstringframe' --> 'BLI_path_frame'
'BLI_convertstringframe_range' --> 'BLI_path_frame_range'
'BLI_make_cwdpath' --> 'BLI_path_cwd'
2010-03-09 17:36:23 +00:00
Campbell Barton
754b22bd51 option to use offscreen opengl drawing with the sequencer scene strips.
warning, uses bad level call, will need to resolve very very soon!
2010-03-08 21:33:51 +00:00
Campbell Barton
b356eb6a8b image re-project now uses offscreen render function and has input for render size.
unrelated changes that ended up being more trouble to commit separate...

- removed BLI_split_dirfile(), was nasty, occasionaly modifying the source string, it could create directories and used the $CWD in some cases. was only used in 2 places in filesel.c, if this gives problems can address without bringing back this function.
  renamed BLI_split_dirfile_basic --> BLI_split_dirfile

- view3d_operator_needs_opengl was being called for offscreen render when it wasnt needed.
2010-03-08 20:08:04 +00:00
Campbell Barton
878d8b44ee remove rna functions image.get_export_path() and image.get_abs_filename(), filename functions should not be spesific to images.
rename BKE_get_image_export_path() to BKE_rebase_path() and take a filename arg rather then an image.

obj export file copy was also not working because of a missing import.
2010-02-26 11:50:59 +00:00
Brecht Van Lommel
ad01c90ee3 Revert render slots commit for release, I can't find the bug or even redo
it myself, there will still be render slots just old implementation.
2010-02-16 19:24:04 +00:00
Brecht Van Lommel
2061f91741 Render Slots: change the implementation by moving it from the render to the
image code, this should be clearer and makes reusing the Render struct later
on easier.
2010-02-16 15:49:22 +00:00
Benoit Bolsee
ce26d457ba Support GPU image auto_refresh also for movie (was for sequence only). 2010-02-13 21:24:13 +00:00
Ton Roosendaal
b673f7318c Added support for animated texture draw, GLSL textures.
Note, this is not like GE ffmpg, but Blender Image Texture
display for GLSL materials. Speed can be disappointing,
use smaller images for realtime edits.
2010-02-13 13:09:30 +00:00
Campbell Barton
081c1205a3 correct fsf address 2010-02-12 13:34:04 +00:00
Brecht Van Lommel
10240261e9 J-key render switching back, now with 10 slots.
Implementation note: this was done by giving each Render a slot number,
and for every slot a new Render will be created. Not sure if this is
ideal, but it ensures that all passes, render info, etc are separate so
you can also compare render layers and passes, in 2.4x only whatever it
was currently displaying was backed up.
2010-02-09 19:37:37 +00:00