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-06-21Code cleanup: fix some vs2012 compiler warningsBrecht Van Lommel
2013-03-17Fix "can't paint" bug no.1, painting with black on image editor did notAntony Riakiotakis
paint. Was own regression when optimizing colour operations. I will not use an alpha bit mask since it may run into portability issues with byte order.
2013-03-05Image buffer rectangle operation optimization: Remove a switch statementAntony Riakiotakis
outside of loop and remove a function call. Should give a little speedup when painting inside the image editor.
2013-02-11Implemented delayed partial rect update for image buffersSergey Sharybin
Used by image painting mode, so every brush step would mark area if affected on, but actual color space conversion would happen later when actually displaying image. Implemented as a rcti stored in ImBuf which is getting merged with partial rect passed to IMB_partial_display_buffer_update_delayed. This makes painting as fast as it currently possible and finally solves #33935: Texture painting slow down with mouse, but not with tablet
2013-02-07Fix #34145: 'Save Image' incorrect file type.Sergey Sharybin
Own mistake in 16bit PNG support, wrong bitmask for custom flags ftype really needs cleanup..
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-3016 bit PNG write supportSergey Sharybin
This commit adds a support of saving 16bit PNG files. Alpha for such files would be premultiplied, would be corrected with an upcoming alpha premul cleanup (it's not the only format which will output 16bit image with premul alpha).
2012-12-23Added support of J2K codec for Jpeg2000 writingSergey Sharybin
This codec is absolutely needed to generate DCP using OpenDCP, before that external application to convert JP2 to J2K was used which slowed down export a lot. New codec is exposed to image format settings panel and called Codec. Default one is JP2 which creates files with .jp2 extension, new one is called J2K which creates with .j2c extension. Other changes: - Fixed avi jpeg warning which was treating as error here. - Made it so extension is detecting from ImageFormatData instead of image file type, which makes it possible to have different extension for the same file type depending on it's settings. IRIS format should still be changed (depending on number of channels it'll be .bw, .rgb or .rgba extension) - Default image format settings would be set from image buffer when re-saving it. Makes it possible to easily open .j2c file and save it using J2K codec (without this change it'll save as .jp2 using JP2 codec)
2012-10-22Patch #27397: Improved DPX/Cineon codeSergey Sharybin
Patch by Julien Enche, thanks! From the patch comment: It allows Blender to load: - 1, 8, 10, 12 and 16 bits files. For 10 and 12 bits files, packed or filled type A/B are supported. - RGB, Log, Luma and YCbCr colorspaces. - Big and little endian storage. - Multi-elements (planar) storage. It allows Blender to save : - 8, 10, 12 and 16 bits file. For 10 and 12 bits files, the most used type A padding is used. - RGB and Log colorspaces (Cineon can only be saved in Log colorspace). For Log colorspace, the common default values are used for gamma, reference black and reference white (respectively 1.7, 95 and 685 for 10 bits files). - Saved DPX/Cineon files now match the viewer. Some files won't load (mostly because I haven't seen any of them): - Compressed files - 32 and 64 bits files - Image orientation information are not taken in account. Here too, I haven't seen any file that was not top-bottom/left-right oriented.
2012-10-21style cleanup: trailing tabs & expand some non prefix tabs into spaces.Campbell Barton
2012-10-09code cleanup: make header defines more consistent, JOYSENSOR header guard ↵Campbell Barton
had a typo too.
2012-09-19Color Management: don't apply display transform on Non-Color imagesSergey Sharybin
Also don't color manage data buffers in texture painting. Makes it possible to view heights and normal maps in proper space and also paint on them without applying extra transformation.
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-18Suport function for Collada exporter: after a generated image was stored to ↵Gaia Clary
disk, the new filetype was not always recognized.
2012-06-30Finally committing support for compressed textures on the GPU (DDS+DXT). ↵Mitchell Stokes
This patch started out as a patch by me, then cleaned up by Kupoman during his work on Cucumber. One important thing to keep in mind when using this feature is that you'll need to flip your textures vertically (both the GIMP and Photoshop DDS tools I've seen have support for this on export). This is a quirk in using a texture format originally made for DirectX/DirectDraw, and flipping the compressed data is a real headache. Another quick fix for this issue is to change the Y value for the Size in the Mapping panel in the Texture properties to -1 (default is 1).
2012-05-29Massive Code cleanup:Thomas Dinges
* Remove all code for Texture and Sequencer plugin system, this never worked in 2.5x / 2.6x and is therefore not needed anymore. * DNA structures are kept, all read/writefile code is gone.
2012-04-30code cleanup: header cleanupCampbell Barton
2012-03-09style cleanup: comment blocksCampbell Barton
2012-02-17unify include guard defines, __$FILENAME__Campbell Barton
without the underscores these clogged up the namespace for autocompleation which was annoying.
2012-01-21change filepath limit from 240 to 1024Campbell Barton
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-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-05-16LCMS code removed, was an experiment but never finished.Brecht Van Lommel
2011-05-13support for reading/writing image resolution (dpi), for PNG and TIFF,Campbell Barton
only RNA access currently 'image.resolution'.
2011-05-13remove imbuf crect and profile_filename when building without LCMSCampbell Barton
2011-02-17Starting work on doxygen cleanup. Many things still to be done.Nathan Letwory
2011-01-17Bugfix #25657Ton Roosendaal
Three code fixes for 1 report. User experienced crashes while painting on float buffer + having preview renders on. - Texture Nodes: Image was re-allocated without using proper thread lock - Paint code: old convention to free the byte rect from a float image as signal to re-create now is a proper flag. This keeps image memory unchanged. Nice for render. - Imbuf: call to make a byte rect from float was freeing mipmaps unnecessary.
2010-12-14Bugfix #22040Ton Roosendaal
Old bug report: Image Editor, Painting: crash when texture was visible in Material or Texture preview. Was caused by paint code freeing mipmaps. Now replaced with a mipmap tag (to be done again), and a new mipmap function that doesn't re-allocate.
2010-10-19Using unsigned int from own commit r32425 broke tiling image textures in ↵Campbell Barton
imagetexture.c. Most formats use unsigned int, but practically its unlikely to be a problem to use int.
2010-09-28images bigger then 32k no longer crash blender, use unsigned int for image ↵Campbell Barton
size rather then short. also check if jpeg fails to allocate an imbuf.
2010-08-03minor cleanup, minimal functional change.Campbell Barton
replace some long duplicated, ifdef'd if statements for image extension. - new function: BLI_testextensie_array(), can take an array of extensions. - define extension arrays: imb_ext_image, imb_ext_movie, imb_ext_sound - we could have more of these. - removed amiga extensions iff and lbm
2010-08-03build options to disable image formats WITH_CINEON, WITH_HDR.Campbell Barton
- updated cmake, make & scons. - renamed CMake build options WITH_TIFF -> WITH_IMAGE_TIFF, same for DDS, OPENJPEG etc.
2010-05-07Merge image related changes from the render branch. This includes the imageBrecht Van Lommel
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-02-12correct fsf addressCampbell Barton
2009-07-17Colour ManagementMatt Ebb
- 1st stage: Linear Workflow This implements automatic linear workflow in Blender's renderer. With the new Colour Management option on in the Render buttons, all inputs to the renderer and compositor are converted to linear colour space before rendering, and gamma corrected afterwards. In essence, this makes all manual gamma correction with nodes, etc unnecessary, since it's done automatically through the pipeline. It's all explained much better in the notes/doc here, so please have a look: http://wiki.blender.org/index.php/Dev:Source/Blender/Architecture/Colour_Management And an example of the sort of difference it makes: http://mke3.net/blender/devel/rendering/b25_colormanagement_test01.jpg This also enables Colour Management in the default B.blend, and changes the default lamp falloff to inverse square, which is more correct, and much easier to use now it's all gamma corrected properly. Next step is to look into profiles/soft proofing for the compositor. Thanks to brecht for reviewing and fixing some oversights!
2009-05-17Color proofing support with lcms (http://www.littlecms.com/).Martin Poirier
Enable with WITH_LCMS (options have been added for scons). lcms is very common on linux package managers, so no need to add in extern (IMHO). Libs for windows can be added to /lib Code is mostly a proof of concept with hardcoded path for icc profile (taken from the lcms test suite). Adding this now to svn so it doesn't rot on my hard drive. People interested in pushing it forward should feel free to dig in the code or poke me about it.
2009-03-28- made epydoc generator write a list of words used in descriptionsCampbell Barton
- fix spelling mistakes in rna docs (and some comments)
2009-01-262.50: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender ↵Brecht Van Lommel
-r17853:HEAD
2008-06-23== FFMPEG ==Peter Schlaile
Added serious interlacing to movies opened using ffmpeg. (Other video decoders to be done) Rational: deinterlacing, if done seriously _has_ to be done in YUV-space. Since internal interface first converts data to RGB we are pretty much lost (and fall back to IMB_filtery in that case).
2008-04-17Patch from GSR that a) fixes a whole bunch of GPL/BL licenseChris Want
blocks that were previously missed; and b) greatly increase my ohloh stats!
2008-03-10Add an option for saving/loading DPX with in log color space withBrecht Van Lommel
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-09* Bakeing fix for apricot, stop pixels being extended for parts of the image ↵Campbell Barton
that are not being baked (useful for multiple objects) * Added support for baking alpha, as well as extending alpha margins.
2007-09-02== imagebrowser ==Andrea Weikert
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-06-25This commit is a modified version of patch #6860Kent Mein
It adds read only dds support. (Writing will come later) Kent
2006-12-20The Big Image refactor!Ton Roosendaal
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-03-12New: Import/Export of Cineon and DPX image files. The first is Kodak'sTon Roosendaal
standard for film scanning, 10 bits/channel and logarithmic. DPX is derived from Cineon as the ANSI/SMPTE industry standard. DPX supports 16 bits color/channel, linear as well as logarithmic. Code has been gratefully copied from CinePaint and was integrated in Blender by Joe Eagar. According to CinePaint's dev Robin Rowe the DPX code defaults to log colorspace. Can't find in the code clues yet how to enable/disable that. However, tests with write/read of DPX seems to show no visible loss by log conversion code. Might be because it uses the entire 16 bit range... CinePaint dpx files have been succesfully imported in a Quantel IQ HD/2K finishing/grading set without problem, so for now I guess we can use it! :) Changes in code: added tests for image magic numbers before entering the actual reading code. Prevents error prints, and makes it faster too. (Note; this because Blender doesn't check for extensions, but calls reading functions on every file until one accepts it. :)
2006-02-18- Restored "dither" option for conversion from float -> byte images.Ton Roosendaal
This now is a post-process option only (used to be in render). It is only handled within the Imbuf/ module, on conversions from float to byte rect, which atm mostly happens on saving images. - Small fix: when using Scene RenderLayer nodes, the speed vectors for these nodes were not created when that scene had "Do Composite" off.
2006-02-05* Add memcache limitor-support to imbufsPeter Schlaile
* Add ffmpeg-read support in anim.c and util.c * Makes ImBufs refcountable. You can now increase an internal refcounter in ImBufs (using IMB_refImBuf) which is decreased by freeImBuf. This makes it possible to simply pass ImBuf pointers around in the sequencer saving a few memcopies.
2006-01-12Orange;Ton Roosendaal
Until now, the zbuffer was written straight from the internal zbuffer, which has values that are inverse-proportional (like 1.0/z) which makes it very hard to use it for postprocess, like zblur or other composit effects that require Z. Based on info from ILM, the values stored for Z in exr files is the actual distance from a camera. I think that's about time to migrate to that convention! By default now, after render, the z values are converted to floats. This saves in exr files now, but not in the Iris Z files. That latter was a blender-only anyway, so might be not a real hassle to drop. :) You can see the difference in the image window, but notice the range now is linear mapped from camera clipstart to clipend. Note; I just discover that ortho Z values need a different correction...