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
2020-03-06Cleanup: Image: Move to IDTypeInfo and remove unused BKE API.Bastien Montagne
2020-03-06Cleanup: rename 'verify' to 'ensure' for BKE_image_viewer functionsCampbell Barton
2020-03-04Refactor ID make local to use a single flag parameter.Bastien Montagne
Instead of using anonymous booleans flags, also allows to keep the same behavior in all cases, without needing special handling from calling code for our beloved oddballs object proxies...
2020-03-04Cleanup: ID make local: remove `id_in_bmain` argument.Bastien Montagne
This info is now stored in ID tags themselves, so no need to pass an extra anonymous boolean parameter around, yay!
2020-03-04Cleanup: Rename 'make local' functions to new scheme.Bastien Montagne
Also removed some only used locally from the header, `BKE_lib_id.h` is already way too big, no need to overload it with unused things.
2020-02-26Fix T74225: Image (from sequence) cannot be loadedPhilipp Oeser
If the current frame was not in range, the ImageTile's 'ok' was stuck at 0. Similar to the ImageUser being reset to 'ok' in BKE_image_user_frame_calc, we now do for ImageTiles as well. note: the crasher part of T74225 was fixed in rB5c490d437743. Maniphest Tasks: T74225 Differential Revision: https://developer.blender.org/D6939
2020-02-17Fix T73898: UDIM crash changing form tiled to singleCampbell Barton
2020-02-10Cleanup/refactor: Rename `BKE_library` files to `BKE_lib`.Bastien Montagne
Note that `BKE_library.h`/`library.c` were renamed to `BKE_lib_id.h`/`lib_id.c` to avoid having a too generic name here. Part of T72604.
2020-01-29imbuf: support writing grayscale BMP imagesJames Fulop
2020-01-20Fix T73110: UDIM Texture Paint CrashPhilipp Oeser
This would happen if a tile is found on disk, painting would actually request that tile (because corresponding uvs were in that range), but that tile was not added in blenders list of tiles in that Image. Need to also check tile in `image_quick_test` (regardless of iuser having passed). thx @lukasstockner97 for additional input! Maniphest Tasks: T73110 Differential Revision: https://developer.blender.org/D6578
2020-01-16Fix T73133: UDIM texture count in Eevee is limited by OpenGLLukas Stockner
Based on @fclem's suggestion in D6421, this commit implements support for storing all tiles of a UDIM texture in a single 2D array texture on the GPU. Previously, Eevee was binding one OpenGL texture per tile, quickly running into hardware limits with nontrivial UDIM texture sets. Workbench meanwhile had no UDIM support at all, as reusing the per-tile approach would require splitting the mesh by tile as well as texture. With this commit, both Workbench as well as Eevee now support huge numbers of tiles, with the eventual limits being GPU memory and ultimately GL_MAX_ARRAY_TEXTURE_LAYERS, which tends to be in the 1000s on modern GPUs. Initially my plan was to have one array texture per unique size, but managing the different textures and keeping everything consistent ended up being way too complex. Therefore, we now use a simpler version that allocates a texture that is large enough to fit the largest tile and then packs all tiles into as many layers as necessary. As a result, each UDIM texture only binds two textures (one for the actual images, one for metadata) regardless of how many tiles are used. Note that this rolls back per-tile GPUTextures, meaning that we again have per-Image GPUTextures like we did before the original UDIM commit, but now with four instead of two types. Reviewed By: fclem Differential Revision: https://developer.blender.org/D6456
2019-12-20Textures: Support UDIM imagesLukas Stockner
This adds UDIM support to e.g. the Displacement modifier. The implementation is straightforward: If the image is tiled, lookup the tile based on UVs and shift the UVs into the tile's coordinates.
2019-12-12Add support for tiled images and the UDIM naming schemeLukas Stockner
This patch contains the work that I did during my week at the Code Quest - adding support for tiled images to Blender. With this patch, images now contain a list of tiles. By default, this just contains one tile, but if the source type is set to Tiled, the user can add additional tiles. When acquiring an ImBuf, the tile to be loaded is specified in the ImageUser. Therefore, code that is not yet aware of tiles will just access the default tile as usual. The filenames of the additional tiles are derived from the original filename according to the UDIM naming scheme - the filename contains an index that is calculated as (1001 + 10*<y coordinate of the tile> + <x coordinate of the tile>), where the x coordinate never goes above 9. Internally, the various tiles are stored in a cache just like sequences. When acquired for the first time, the code will try to load the corresponding file from disk. Alternatively, a new operator can be used to initialize the tile similar to the New Image operator. The following features are supported so far: - Automatic detection and loading of all tiles when opening the first tile (1001) - Saving all tiles - Adding and removing tiles - Filling tiles with generated images - Drawing all tiles in the Image Editor - Viewing a tiled grid even if no image is selected - Rendering tiled images in Eevee - Rendering tiled images in Cycles (in SVM mode) - Automatically skipping loading of unused tiles in Cycles - 2D texture painting (also across tiles) - 3D texture painting (also across tiles, only limitation: individual faces can not cross tile borders) - Assigning custom labels to individual tiles (drawn in the Image Editor instead of the ID) - Different resolutions between tiles There still are some missing features that will be added later (see T72390): - Workbench engine support - Packing/Unpacking support - Baking support - Cycles OSL support - many other Blender features that rely on images Thanks to Brecht for the review and to all who tested the intermediate versions! Differential Revision: https://developer.blender.org/D3509
2019-11-19Use mutex for lock in image.cRay Molenkamp
Usage of spinlock during heavy IO gave reduced performance see D6267 for details. Reviewed By: sergey Differential Revision: https://developer.blender.org/D6267
2019-10-04Fix expanding paths ignoring data-block librariesCampbell Barton
- Image views. - Sequencer text strip font. - Text check for modified/reload. - Collada image export. - Brush icons.
2019-09-26Fix T67732: metadata "Include Labels" checkbox doesn't work when "Use Strip ↵Sybren A. Stüvel
Metadata" is checked The 'metadata from sequencer strip' system was using the `stampdata_from_template()` function, which ignored the 'Use Labels' setting.
2019-09-14Fix T69857: image.load() API function does not load pixelsBrecht Van Lommel
Broke after recent changes for DNA default initialization.
2019-09-11DNA: defaults for ID typesCampbell Barton
2019-09-07Cleanup: includes in headersCampbell Barton
Forward declare structs where possible.
2019-08-15Cleanup: use booleanCampbell Barton
2019-07-08Fix wrong colors when creating a float normal map image in texture paintBrecht Van Lommel
2019-07-07Cleanup: use BKE_packedfile prefix for function namesCampbell Barton
Avoid ambiguity with terms check & compare.
2019-06-26Fix T66141: missing viewport texture update after find missing filesBrecht Van Lommel
2019-06-26Fix T66137: added normal map for painting has wrong color space until refreshBrecht Van Lommel
2019-06-19Fix T65780: unnecessary GPU image texture reloads after recent changesBrecht Van Lommel
2019-06-19Fix T65902: save all modified images should not try to save .psd filesBrecht Van Lommel
We can't save these without data loss, so don't try to do this.
2019-06-18Cleanup: remove unused render buffersBrecht Van Lommel
2019-06-17Fix T63867: image sequence not updating in Eevee animation renderBrecht Van Lommel
2019-06-15Cleanup: spellingCampbell Barton
2019-06-12Cleanup: spelling in commentsCampbell Barton
2019-05-19Images: change alpha settings to support channel packingBrecht Van Lommel
This also replaces the Use Alpha setting. We now have these alpha modes: * Straight: store RGB and alpha channels separately with alpha acting as a mask, also known as unassociated alpha. * Premultiplied: transparent RGB pixels are multiplied by the alpha channel. The natural format for renders. * Channel Packed: different images are packed in the RGB and alpha channels, and they should not influence each other. Channel packing is commonly used by game engines to save memory. * None: ignore alpha channel from the file and make image fully opaque. Cycles OSL does not correctly support Channel Packed and None yet, we are missing fine control over the OpenImageIO texture cache to do that. Fixes T53672
2019-05-17Images: changes to avoid losing new images that have not been savedBrecht Van Lommel
The basic idea is that such new images will be packed into the .blend file when saving all modified images from the quit dialog. To make this workflow nicer a number of changes were made to how this type of packed image is handled. * "Save Modified Images" now packs generated images into the .blend file. * "Save As" for packed images now automatically unpacks the image, so that it's easy to save automatically packed images. "Save Copy" keeps it packed. * "Save" for packed images now re-saves the image into the .blend file, so that it's effectively the equivalent of "Save" for non-packed images. * Empty image filepaths are no longer remapped when saving the .blend file. Previously it would become e.g. "//../../" which makes no sense for generated images with no filepath yet. * Hide unpack button and filepath for such packed images with no filepath. Unpacking does not work in a predictable way without a filepath, better to just "Save As".
2019-05-14Cleanup: isolate image dirty flag access in functionsBrecht Van Lommel
2019-04-27Cleanup: comments (long lines) in blenkernelCampbell Barton
2019-04-23Correct braces with ifdef'sCampbell Barton
2019-04-22Cleanup: style, use braces for blenkernelCampbell Barton
2019-04-18Images: support packing edited images as OpenEXR or PNG.Brecht Van Lommel
This way float and multilayer images can now be packed without data loss. This removes the as_png option and always uses the appropriate file format depending on the image contents.
2019-04-18Cleanup: deduplicate single/multiview image packing code.Brecht Van Lommel
2019-04-18Cleanup: deduplicate image user initialization, make consistent.Brecht Van Lommel
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-16Cleanup: trailing commasCampbell Barton
2019-04-14Cleanup: doxy commentsCampbell Barton
Use doxy references to function and enums, also correct some names which became out of sync.
2019-03-14Fix some unreported issues with image sequence updates, clean code.Brecht Van Lommel
Lamp and world nodes were missing, nested node trees were updated twice, remove some legacy code.
2019-03-12Use the same string for DNA enum and CLI argument for EXR image format settingSybren A. Stüvel
The `--render-format` CLI option takes `EXR` and `MULTILAYER`, whereas the DNA image format render setting uses `OPEN_EXR` and `OPEN_EXR_MULTILAYER`. This commit adds the DNA values to the CLI argument, so that it is possible to take the selected value from DNA and pass it as-is to the CLI. This is used in Flamenco, for example. The `OPEN_EXR` and `OPEN_EXR_MULTILAYER` are now aliases, so both the existing and the new options keep working. Reviewers: campbellbarton, brecht Reviewed By: brecht Subscribers: fsiddi Tags: #bf_blender_2.8 Differential Revision: https://developer.blender.org/D4502
2019-03-12Fix missing metadata for multilayer exr sequencesSergey Sharybin
2019-03-12Cleanup: BLI_utildefines struct macrosCampbell Barton
Use the term "AFTER" instead of "OFS" since it wasn't obvious these macros operate on everything after the struct member passed. Avoid casting to non-const types when only reading.
2019-03-08Cleanup: use plural names for Main listsCampbell Barton
Convention was not to but after discussion on 918941483f7e we agree its best to change the convention. Names now mostly follow RNA. Some exceptions: - Use 'nodetrees' instead of 'nodegroups' since the struct is called NodeTree. - Use 'gpencils' instead of 'grease_pencil' since 'gpencil' is a common abbreviation in the C code. Other exceptions: - Leave 'wm' as it's a list of one. - Leave 'ipo' as is for versioning.
2019-03-04Show metadata for rendered imagesSergey Sharybin
Previously metadata was only shown for images which are saved to disk. This change makes it so that it's possible to see metadata right after pressing F12.
2019-02-25Merge branch 'blender2.7'Brecht Van Lommel
2019-02-25Fix T61946: Cycles border render missing samples and crypto metadata.Brecht Van Lommel