Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-07-19code cleanup: case & brace placementCampbell Barton
2013-07-02Fix #35944: adding keyframes or drivers on image sequences offset did not workBrecht Van Lommel
for cycles image texture node.
2013-04-23rna attribute consistency edits, use common prefix for booleans.Campbell Barton
2013-03-07use bool for rna funcs.Campbell Barton
2013-03-04Bugfix #34493Ton Roosendaal
Should go to 2.66a Image Sequence texture now allows to animate "Offset" again with fcurves. This was disabled for 2.65, it only works for fcurve key inserting (not for drivers), but too many people have been using to animate character textures already...
2013-02-21Increase maximum render resolution from 10000 to 65536.Brecht Van Lommel
2013-01-24Fix #33953: blender crash after few steps with .exr image in compositorSergey Sharybin
Issue was caused by FILE multilayer ImBuf sharing buffers with render result, and SEQUENCE multilayer ImBufs duplicating buffers. Which is nice by it's own. But, changing image source wouldn't remove any loaded image buffers, meaning if you've got loaded FILE multilayers they'll likely became invalid. That behavior of handling multilayers on changing source was done as a fix for #24976, which is now actually not needed (removing check for multilayer doesn't change behavior at all). Just to be sure added check to RNA, so signal wouldn't be fired if source wasn't actually changed form a menu.
2013-01-16Movies support for CyclesSergey Sharybin
This adds support of movie textures for Cycles rendering. Uses the same builtin images routines as packed/generated images, but with some extra non-rna hookups from blender_session side. Basically, it's not so clear how to give access to video frames via C++ RNA -- it'll require exposing ImBuf to API, doing some threading locks and so. Ended up adding two more functions which are actually bad level call, but don't consider it's so much bad -- we have few bad calls already, which are actually related. Changed a bit how builtin images names are passing to image manager. Now it's not just an ID datablock name, but also a frame number concatenated via '@' character, which makes itpossible to easily know frame number to be used for movie images, without adding extra descriptors to image manager. Decoding of builtin name is a bit slower now, but it should be still nothing in comparison with rendering complexity. Also exposed image user's frame_current to python API, which is needed to get absolute frame number of movie from node's image user. P.S. Generated/packed images are also using bad level call but only does it to make things more clear here. Either all images are using C++ RNA here or no images does. That's the most clear for now.
2013-01-13Stupid keyboard should know what coders want to type ! (i.e. another typo ↵Bastien Montagne
fix in UI messages :p )
2013-01-12Packed and generated images support for CyclesSergey Sharybin
This commit adds support of packed and generated images for Cycles when using SVM backend. Movies are still not supported. This changes also doesn't touch OSL which is much less trivial to adopt for any images which are not saved to disk. Implementation details: - When adding images to Image Manager is now possible to mark image as builtin. Builtin images will bypass OIIO loader and will use special loading callbacks. - Callbacks are set by Blender Session and they're using C++ RNA interface to obtain needed data (pixels, dimensions, is_float flag). - Image Manager assumes file path is used as reference to a builtin images, but in fact currently image datablock name is used for reference. This makes it easy to find an image in BlendData database. - Added some extra properties to Image RNA: * channels, which denotes actual number of channels in ImBuf. This is needed to treat image's pixels correct (before it wasn't possible because API used internal number of channels for pixels which is in fact doesn't correlate with image depth) * is_float, which is truth if image is stored in float buffer of ImBuf. - Implemented string lookup for C++ RNA collections for cases there's no manual lookup function. OSL is not supported because it used own image loading and filtering routines and there's seems to be no API to feed pre-loaded pixels directly to the library. Think we'll either need to add some API to support such kind of feeding or consider OSL does not have support of packed images at all. Movies are not supported at this moment because of lack of RNA API to load specified frame. It's not difficult to solve, just need to consider what to best here: * Either write some general python interface for ImBuf and use it via C++ API, or * Write a PY API function which will return pixels for given frame, or * Use bad-level BKE_* call Anyway, small steps, further improvements later. Reviewed by Brecht, thanks!
2012-12-31Correction to RNA update functionsSergey Sharybin
Either forgot to merge some local changes into trunk or merge happened wrong..
2012-12-31Alpha premul pipeline cleanupSergey Sharybin
This assumptions are now made: - Internally float buffers are always linear alpha-premul colors - Readers should worry about delivering float buffers with that assumptions. - There's an input image setting to say whether it's stored with straight/premul alpha on the disk. - Byte buffers are now assumed have straight alpha, readers should deliver straight alpha. Some implementation details: - Removed scene's color unpremultiply setting, which was very much confusing and was wrong for default settings. Now all renderers assumes to deliver premultiplied alpha. - IMB_buffer_byte_from_float will now linearize alpha when converting from buffer. - Sequencer's effects were changed to assume bytes have got straight alpha. Most of effects will work with bytes still, however for glow it was more tricky to avoid data loss, so there's a commented out glow implementation which converts byte buffer to floats first, operates on floats and returns bytes back. It's slower and not sure if it should actually be used -- who're using glow on alpha anyway? - Sequencer modifiers should also be working nice with straight bytes now. - GLSL preview will predivide float textures to make nice shading, shading with byte textures worked nice (GLSL was assuming straight alpha). - Blender Internal will set alpha=1 to the whole sky. The same happens in Cycles and there's no way to avoid this -- sky is neither straight nor premul and doesn't fit color pipeline well. - Straight alpha mode for render result was also eliminated. - Conversion to correct alpha need to be done before linearizing float buffer. - TIFF will now load and save files with proper alpha mode setting in file meta data header. - Remove Use Alpha from texture mapping and replaced with image datablock setting. Behaves much more predictable and clear from code point of view and solves possible regressions when non-premultiplied images were used as textures with ignoring alpha channel.
2012-12-24Separate image input and sequencer's color spaces in the UISergey Sharybin
This two things were using the same DNA and RNA structures because internally they're completely the same. However, that was confusing from the interface point of view. Now it should be much more clear what's going on there.
2012-11-15Image thread safe improvementsSergey Sharybin
This commit makes BKE_image_acquire_ibuf referencing result, which means once some area requested for image buffer, it'll be guaranteed this buffer wouldn't be freed by image signal. To de-reference buffer BKE_image_release_ibuf should now always be used. To make referencing working correct we can not rely on result of image_get_ibuf_threadsafe called outside from thread lock. This is so because we need to guarantee getting image buffer from list of loaded buffers and it's referencing happens atomic. Without lock here it is possible that between call of image_get_ibuf_threadsafe and referencing the buffer IMA_SIGNAL_FREE would be called. Image signal handling too is blocking now to prevent such a situation. Threads are locking by spinlock, which are faster than mutexes. There were some slowdown reports in the past about render slowdown when using OSX on Xeon CPU. It shouldn't happen with spin locks, but more tests on different hardware would be really welcome. So far can not see speed regressions on own computers. This commit also removes BKE_image_get_ibuf, because it was not so intuitive when get_ibuf and acquire_ibuf should be used. Thanks to Ton and Brecht for discussion/review :)
2012-10-26Bug report #32970Ton Roosendaal
Added "not animatable" properties to Image animation options; that's not supported.
2012-10-26style cleanupCampbell Barton
2012-10-23Display buffer should be marked as invalid when setting pixels from pythonSergey Sharybin
2012-09-24No need to limit image frame offset to blender's frame rangeSergey Sharybin
2012-09-22code cleanup: make many functions staticCampbell Barton
2012-09-18"Colospace" -> "Color Space" (in UI messages).Bastien Montagne
2012-09-15Color Management, Stage 2: Switch color pipeline to use OpenColorIOSergey Sharybin
Replace old color pipeline which was supporting linear/sRGB color spaces only with OpenColorIO-based pipeline. This introduces two configurable color spaces: - Input color space for images and movie clips. This space is used to convert images/movies from color space in which file is saved to Blender's linear space (for float images, byte images are not internally converted, only input space is stored for such images and used later). This setting could be found in image/clip data block settings. - Display color space which defines space in which particular display is working. This settings could be found in scene's Color Management panel. When render result is being displayed on the screen, apart from converting image to display space, some additional conversions could happen. This conversions are: - View, which defines tone curve applying before display transformation. These are different ways to view the image on the same display device. For example it could be used to emulate film view on sRGB display. - Exposure affects on image exposure before tone map is applied. - Gamma is post-display gamma correction, could be used to match particular display gamma. - RGB curves are user-defined curves which are applying before display transformation, could be used for different purposes. All this settings by default are only applying on render result and does not affect on other images. If some particular image needs to be affected by this transformation, "View as Render" setting of image data block should be set to truth. Movie clips are always affected by all display transformations. This commit also introduces configurable color space in which sequencer is working. This setting could be found in scene's Color Management panel and it should be used if such stuff as grading needs to be done in color space different from sRGB (i.e. when Film view on sRGB display is use, using VD16 space as sequencer's internal space would make grading working in space which is close to the space using for display). Some technical notes: - Image buffer's float buffer is now always in linear space, even if it was created from 16bit byte images. - Space of byte buffer is stored in image buffer's rect_colorspace property. - Profile of image buffer was removed since it's not longer meaningful. - OpenGL and GLSL is supposed to always work in sRGB space. It is possible to support other spaces, but it's quite large project which isn't so much important. - Legacy Color Management option disabled is emulated by using None display. It could have some regressions, but there's no clear way to avoid them. - If OpenColorIO is disabled on build time, it should make blender behaving in the same way as previous release with color management enabled. More details could be found at this page (more details would be added soon): http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.64/Color_Management -- Thanks to Xavier Thomas, Lukas Toene for initial work on OpenColorIO integration and to Brecht van Lommel for some further development and code/ usecase review!
2012-08-29new image operator now allows color grid (before was only grid on/off)Campbell Barton
2012-05-26Add frame_duration read-only member to Image RNA struct, returns movie's ↵Bastien Montagne
length in frames (or 1 for still images).
2012-05-12style cleanup: mostly whitespace in rnaCampbell Barton
2012-05-05code cleanup: naming - pose/armature/image Campbell Barton
also use ..._find_name(..., name) rather then ..._find_named(..., name) --- both were used.
2012-04-29style cleanup: whitespace / commasCampbell Barton
2012-04-22style cleanup: commentsCampbell Barton
2012-03-28expose image render_slot so keybindings can be configured to changeCampbell Barton
2012-03-24style cleanup: follow style guide for formatting of if/for/while loops, and ↵Campbell Barton
else if's
2012-03-18Code style edits (mostly spliting long lines, and removing trailing spaces).Bastien Montagne
Note about long lines: I did not touch to two pieces of code (because I don’t see any way to keep a nicely formated, compact code, with shorter lines): * The node types definitions into rna_nodetree_types.h * The vgroup name functions into rna_particle.c
2012-03-06Code cleanup in rna files (huge, higly automated with py script).Bastien Montagne
Addresses: * C++ comments. * Spaces after if/for/while/switch statements. * Spaces around assignment operators.
2012-03-03"Fix" [#30431] UI string spelling & similar fixes.Bastien Montagne
All suggested changes looked good to me, thx to Michael Färber for this list of changes!
2012-01-11Fix: toggling premultiply or color management not updating packed images.Brecht Van Lommel
2011-12-30Color management: add "Color Unpremultiply" option for images and render ↵Brecht Van Lommel
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-11-26A bunch of fixes and tweaks in RNA messages, found while translating them in ↵Bastien Montagne
french...
2011-11-22replace ImBuf.depth with ImBuf.planes to match ImageFormatData.planes & to ↵Campbell Barton
avoid confusion with ImageFormatData.depth
2011-10-23remove $Id: tags after discussion on the mailign list: ↵Campbell Barton
http://markmail.org/message/fp7ozcywxum3ar7n
2011-10-20A big set of UI messages fixes and tweaks! No functional changes.Bastien Montagne
2011-07-21fix/workaround [#28040] float images reduced to 256 levels per channel upon saveCampbell Barton
Generated images would not be re-generated with a float buffer on load, even when selected on creation. Now save the float buffer setting as a generated image flag. This means you can enable before baking to enable baking to a float buffer.
2011-05-31tag unused rna args.Campbell Barton
2011-05-26add the property as an argument to enum item functions, not used yet but ↵Campbell Barton
needed for dynamic python enums.
2011-05-13support for reading/writing image resolution (dpi), for PNG and TIFF,Campbell Barton
only RNA access currently 'image.resolution'.
2011-04-28Twitter report fix :)Ton Roosendaal
More clear naming for image "source" type. "Single Image" and "Image Sequence" and "Movie File". Thanks @hjalti for poking!
2011-04-06Fix for Image.pixels set, buffer was not tagged as modified, patch by Domino ↵Brecht Van Lommel
Marama.
2011-04-04Fix for slow Image.pixels, make it a flat instead of multidimensional array.Brecht Van Lommel
2011-04-03Image pixel acces, through Image.pixels as floating point values.Brecht Van Lommel
It's not the most efficient solution, but this can be optimized later. It's best to copy out all the pixels at once into a list, rather than accessing them one by one.
2011-03-09image.depth, 96/128 for float color images, was 24/32 for byte images.Campbell Barton
also use <> for system includes
2011-02-27doxygen: blender/makesrna tagged.Nathan Letwory
2011-02-23doxygen: prevent GPL license block from being parsed as doxygen comment.Nathan Letwory
2011-01-07remove references to BKE_utildefines where its not needed.Campbell Barton
- move GS() define into DNA_ID.h - add BLI_utildefines as an automatic include with makesrna generated files.