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
2017-11-19Merge branch 'master' into blender2.8Julian Eisel
2017-11-18Cleanup: styleCampbell Barton
2017-11-07Merge branch 'master' into blender2.8Brecht Van Lommel
2017-11-07Fix T53129: Cycles missing update when changing image auto refresh.Brecht Van Lommel
Previously auto refresh worked, but only if it was already enabled before starting the viewport render.
2017-10-18Merge branch 'master' into blender2.8Campbell Barton
2017-10-18Cleanup: Use const for RNA EnumPropertyItem argsCampbell Barton
Practically all access to enum data is read-only.
2017-08-28Merge branch 'master' into blender2.8Sergey Sharybin
2017-08-28Make GS macro return proper IDType typeSergey Sharybin
Previously it was returning short, which was really easy to (a) compare against non-ID type value (b) forget to handle some specific value in switch statement. Both issues happened in the nearest past, so it's time to tighten some nuts here. Most of the change related on silencing strict compiler warning now, but there is also one tricky aspect: ID_NLA is not in the IDType enum. So there is still cast to short to handle that switch. If someone has better ideas how to deal with this please go ahead :)
2017-06-08Replace all old DAG calls with direct calls to new DEG and remove ↵Luca Rood
BKE_depsgraph.h This removes BKE_depsgraph.h and depsgraph.c
2017-05-25Docs: Image.has_data clarificationCampbell Barton
Resolves T51615
2016-03-08Fix T47701: Image not fully updated after setting .pixelsSergey Sharybin
The set callback was missing couple of things: - Mipmaps should be updated after pixels changes - GPU texture is invalid after setting pixels
2015-11-23Cleanup: use `rna_enum_` prefix for RNA enumsCampbell Barton
Definitions could shadow local vars.
2015-10-23Cleanup: rename 'datablocks' -> 'data-blocks'Campbell Barton
Similar to addons -> add-ons, for reading it fits better to hyphenate.
2015-10-20RNA: Change behavior of Image.save()Campbell Barton
Previously it would save packed file(s), which would ignore the image.filepath, making it impossible to set the destination. Add image.packed_files[...].save() so you can save packed files if its needed.
2015-10-15Fix T46223: multiview image sequences crashing.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D1549
2015-09-09Fix T45839 : Regression - Multi-layer image issues when using non-standard namesDalai Felinto
This was introduced in the fix for T44336 . The code is now what it should have been in the first place at the time of multiview commit. ImageUser->passtype is being removed in favour of bringing ImageUser->pass back. Reviewers: sergey Differential Revision: https://developer.blender.org/D1504
2015-07-13 Imbuf types refactor.Antony Riakiotakis
ImBuf types were getting stored as bitflags in a 32bit integer which had already run out of space. Solved the problem by separating file type to an ftype enum, and file specific options to foptions. Reviewed by Campbell, thanks a lot!
2015-04-17Fix T44336: Unable to select cycles-specific passes in UV/image editorDalai Felinto
This approach gets rid of iuser->pass for good. Also, I'm commenting out the pass increase/decrease. This was broken since multiview. I will fix it later (before 2.75), but I didn't want to get this patch mangled with that fix. Thanks Sergey Sharybin for the review and feedbacks. Reviewers: sergey Differential Revision: https://developer.blender.org/D1232
2015-04-06Multi-View and Stereo 3DDalai Felinto
Official Documentation: http://www.blender.org/manual/render/workflows/multiview.html Implemented Features ==================== Builtin Stereo Camera * Convergence Mode * Interocular Distance * Convergence Distance * Pivot Mode Viewport * Cameras * Plane * Volume Compositor * View Switch Node * Image Node Multi-View OpenEXR support Sequencer * Image/Movie Strips 'Use Multiview' UV/Image Editor * Option to see Multi-View images in Stereo-3D or its individual images * Save/Open Multi-View (OpenEXR, Stereo3D, individual views) images I/O * Save/Open Multi-View (OpenEXR, Stereo3D, individual views) images Scene Render Views * Ability to have an arbitrary number of views in the scene Missing Bits ============ First rule of Multi-View bug report: If something is not working as it should *when Views is off* this is a severe bug, do mention this in the report. Second rule is, if something works *when Views is off* but doesn't (or crashes) when *Views is on*, this is a important bug. Do mention this in the report. Everything else is likely small todos, and may wait until we are sure none of the above is happening. Apart from that there are those known issues: * Compositor Image Node poorly working for Multi-View OpenEXR (this was working prefectly before the 'Use Multi-View' functionality) * Selecting camera from Multi-View when looking from camera is problematic * Animation Playback (ctrl+F11) doesn't support stereo formats * Wrong filepath when trying to play back animated scene * Viewport Rendering doesn't support Multi-View * Overscan Rendering * Fullscreen display modes need to warn the user * Object copy should be aware of views suffix Acknowledgments =============== * Francesco Siddi for the help with the original feature specs and design * Brecht Van Lommel for the original review of the code and design early on * Blender Foundation for the Development Fund to support the project wrap up Final patch reviewers: * Antony Riakiotakis (psy-fi) * Campbell Barton (ideasman42) * Julian Eisel (Severin) * Sergey Sharybin (nazgul) * Thomas Dinged (dingto) Code contributors of the original branch in github: * Alexey Akishin * Gabriel Caraballo
2015-03-13BGE: Fix for T43793 Increment frame_start/end value to 255 framesJorge Bernal
Currently, for animated textures we were allowing 16x16 tiles but we can reproduce 128 frames only. Reviewers: moguri, sergey, campbellbarton Reviewed By: sergey, campbellbarton Differential Revision: https://developer.blender.org/D1164
2015-02-03Fix T43403: Compositor does not respect interlaced videoSergey Sharybin
This is actually issue with Image datablock, which had obscure Fields settings but didn't allow to de-interlace the video. Now added the option to de-interlace Image with Movie input type.
2015-01-24BKE_image: use BKE_image_*** prefixCampbell Barton
use bools for return values and some api naming consistency.
2015-01-06Fix copy-paste of colors to generated color not being correct. 'Antony Riakiotakis
Change generated color property to gamma space to match the add new image operator.
2015-01-03Fix RNA Image.frame_duration.Bastien Montagne
If a video was loaded (e.g. from python) but never 'ibuf-acquired', its Image->anim prop would still be NULL, returning useless '1' value as frame duration!
2014-10-09Cleanup: tabsCampbell Barton
Set your editor to tabs for all C/C++!
2014-10-09Implement custom names for render slotsSergey Sharybin
Basically the title tells it all, quite straightforward implementation. The only thing is the image.render_slot which used to represent the active render slot index is now moved to image.render_slots.active_index. Reviewers: venomgfx, campbellbarton Differential Revision: https://developer.blender.org/D821
2014-10-02Fix T42008: Dragging and packing issue about new blank imageSergey Sharybin
The issue was caused by the fact that we never used to store the generated image color in DNA, so image reload will loose this information. Now we store the color in DNA, making ti so re-loading the image will preserve it's generated color. It is now also possible to change generated image color using the color swatch in image properties after the image was created.
2014-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-02-09UI: use proportional option while dragging buttonsCampbell Barton
2014-01-14Empties with Images draw type: add support for movies and image sequencesGeoffroy Krantz
This adds an ImageUser to such empties with all the typical settings. Reviewed By: brecht, campbellbarton Differential Revision: https://developer.blender.org/D108
2014-01-04RNA API: use bool's for enum itemf callbacks.Campbell Barton
2013-12-13Image cache rewrite to using generic movie cacheSergey Sharybin
Summary: Behaves very much the same as cache for Movie Clip datablock: - Image now have `MovieCache *cache` field which replaced legacy `ListBase ibufs`. This allows image datablock to easily keep of image buffers which are owned by itself. This field isn't saved to the file and getting restored on undo steps. However, cache limit is global for movies, sequences and image datablocks now. So overall cached image buffers size will not go above cache limit size in user preferences. - Image buffers which are marked as BITMAPDIRTY will never be freed from the cache. - Added utility function to iterate over image buffers saved in movie cache. - Movie cache cleanup check callback now have ImBuf argument which can be used in a condition of cleanup. - Added some utility functions which replaces legacy ibufs iterations with image cache iteration which happens from inside a lock. - Fixed `image_mem_size()` which was only counting one of the buffers if both float and byte buffer present. Additional notes: - `BKE_image_get_first_ibuf()` is rather stupid, but direct access to ibufs->first was also the same stupid idea. Would consider avoid this function is another project. - There are some places which doesn't look threadsafe, but they already were not so much threadsafe anyway before. So think not a big deal with solving this later. Finally solves infinite memory usage by image sequences! :) Reviewers: brecht, campbellbarton Reviewed By: brecht CC: sebastian_k Differential Revision: http://developer.blender.org/D95
2013-12-12RNA: Add pixels property typeScott Petrovic
2013-11-25UI: change hard limits on a few camera and image properties to infinite, ↵Mark Ayers
soft limits stay the same. Reviewed By: brecht Differential Revision: http://developer.blender.org/D33
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