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-01-04code cleanup, also remove glError check in font drawing code since its now a ↵Campbell Barton
debug option.
2013-01-02Patch [#29035] Vertex colour bakingAlex Fraser
There is a new option in the Bake panel to enable baking to vertex colors. Unlike regular baking, this mode does not require a UV map or image to bake to, however the object must have a vertex color layer. Thanks to: - AutoCRC for funding - Brech van Lommel and Dalai Felinto for their initial advice on how to implement it - Campbell Barton for helping to make this feature work with modifiers and bmesh
2013-01-01Highlight currently rendering tilesSergey Sharybin
This commit implements highlight of tiles which are being currently rendered for both Blender Internal and Cycles (and should be possible to use it for other external engines as well). Couple of implementation details: - Added one extra boolean flag to render engine which should be set to truth if render engine wants to highlight tiles. If so, property use_highlight_tiles should be set to True. - Render Part's ready boolena was changed by status enum, which could be NONE, IN_PROGRESS and READY. All render part with IN_PROGRESS status will be highlighted in image editor. - For external engines render part's status is filling in automatically. Initially all render parts has got NONE status, then one external engine acquire render result, corresponding part will change status to IN_PROGRESS. As soon as render result is finished, corresponding render part will change status to FINISHED This should make it easy to highlight tiles for other engines as well.
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-29style cleanupCampbell Barton
2012-12-28style cleanupCampbell Barton
2012-12-28Better error report when no camera is found.Pablo Vazquez
While trying to render a RenderLayer from a linked scene, I couldnt tell why it wasnt doing anything. It just stopped rendering. Until I look on the console and see the No Camera print. This commit replaces the simple terminal printf with an actual error report, that shows in both terminal and to the user: http://pasteall.org/pic/show.php?id=42499 I believe this commit is pretty harmless, and only adds functionality. But feel free to remove it.
2012-12-23flip lines to reduce odds of re-execution (non critical race condition when ↵Morten Mikkelsen
triangles overlap
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-12-21Bug fix #33639Ton Roosendaal
Material Texture blend modes Screen, Overlay and Multiply didn't respect the alpha for textures... an error I could trace back to 2004 even. Obviously the fix should be done, but it might change the appearance of renders somewhat. Will keep an eye open if this is worth ugly version-patching. Now: image textures with alpha, will only apply the blend modes respecting the alpha values.
2012-12-21replace MIN/MAX 3,4 with inline functionsCampbell Barton
2012-12-20add a commentMorten Mikkelsen
2012-12-20must use permutation tableMorten Mikkelsen
2012-12-20style cleanupCampbell Barton
2012-12-19Multirs baker: support for threaded bakingSergey Sharybin
2012-12-19code cleanup: warningsCampbell Barton
2012-12-18Multires baker: made octree aware of user-defined resolution in performance ↵Sergey Sharybin
panel
2012-12-18Multires baker: noneed to tag display as invalid after every flushed pixelSergey Sharybin
2012-12-18Ambient occlusion baker from multi-resolution meshSergey Sharybin
This implements AO baking directly from multi-resolution mesh with much less memory overhead than regular baker. Uses rays distribution implementation from Morten Mikkelsen, raycast is based on RayObject also used by Blender Internal. Works in single-thread yet, multi-threading would be implemented later.
2012-12-18Move multires baker into own file in render/Sergey Sharybin
Currently will only keep object editor a bit clearer, but in the future will be needed because of using some internal renderer data structures.
2012-12-18Fix #33505: various issuesBrecht Van Lommel
* Motion blur with shutter time > 1 did result in the correct evaluation of some modifiers because it set the subframe to values > 1, and some places assume the current frame to be set to the integer coordinate and the subframe to be a value between 0 and 1. * Shape keys did not take subframe time offsets into account. * Point density texture was using an current frame value that was never set.
2012-12-17Added GPL header to sconscripts!Bastien Montagne
Also changed shebang to '#!/usr/bin/env python', this is more portable across unixes...
2012-12-16Bugfix IRC reportSergey Sharybin
Curves heavily scaled down will have render artifacts Caused by precision issues when computing average normal map for INDEX3 surface type. Now calculation happens in local object space instead of world space.
2012-12-12Fix related to #33480: for blender internal volume rendering, the camera insideBrecht Van Lommel
volume wasn't accurate, it still isn't quite but hopefully a bit better by taking clip start into account. With clip start it's actually impossible to do a single 'inside' test, since there will not be a single point where all camera rays start from, though for small clip start they will be close together.
2012-12-11define the size of matrix args for both rows/cols.Campbell Barton
2012-12-11code cleanup: spelling labda -> lambdaCampbell Barton
2012-11-26fix [#33303] face selection masking for painting does not work with mesh ↵Campbell Barton
with n-gon caused by own change to how origindex is used, now if mpoly's CD_ORIGINDEX array is missing its assumes that its the original mpoly array.
2012-11-23ifdef'd gcc diagnostic pragma's to quiet msvc and others.Campbell Barton
2012-11-21fix for re->partx/re->party values being different for ↵Campbell Barton
RE_Database_FromScene() then the main render loop.
2012-11-19Fix #33229: Blender crashes on finishing renderSergey Sharybin
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-11-13Render Engines: fix crash when changing render engine during renderingSergey Sharybin
Crash would have been happen when changing render ending at the same time rendering happens. It could be final Cycles render or even preview LUX render.
2012-11-12code cleanup: spelling,Campbell Barton
also initialize bmesh-bevel settings struct to zero to avoid possible uninitialized memory later.
2012-11-11style cleanupCampbell Barton
2012-11-10Fix for wrong usage of RE_engine_freeSergey Sharybin
2012-11-10Updated stubs to make blender player compilableSergey Sharybin
2012-11-10Fix part of #33132: render resoltuion refresh issues after persistent imagesBrecht Van Lommel
was added for cycles. This fixes the case where the option is disabled. I moved the option now to Blender itself and made it keep the engine around only when it's enabled. Also fixes case where there could be issues when switching to another renderer.
2012-11-09code cleanup: double promotion warnings, also allow cmake to build SDL ↵Campbell Barton
without audaspace.
2012-11-09Cycles: persistent images optionSergey Sharybin
This option enables keeping loaded images in the memory in-between of rendering. Implemented by keeping render engine alive for until Render structure is being freed. Cycles will free all data when render finishes, optionally keeping image manager untouched. All shaders, meshes, objects will be re-allocated next time rendering happens. Cycles cession and scene will be re-created from scratch if render/ scene parameters were changed. This will also allow to keep compiled OSL shaders in memory without need to re-compile them again. P.S. Performance panel could be cleaned up a bit, not so much happy with it's vertical alignment currently but not sure how to make it look better. P.P.S. Currently the only way to free images from the device is to disable Persistent Images option and start rendering.
2012-11-08Fix #33113: cycles not rendering motion blur correct with dying particles.Brecht Van Lommel
There were a bunch of other issues with dupli motion blur and syncing, the problem being that there was no proper way to detect corresponding duplis between frames or updates. As a solution, a persistent_id was added to the DupliObject. It's an extension of the previous index value, with one index for each dupli level. This can be used to reliably find matching dupli objects between frames. Works with nested duplis, multiple particle systems, etc.
2012-11-07code cleanup: use min/max functions rather then macros.Campbell Barton
2012-11-07style cleanup, also remove redundant call to set_listbasepointers in ↵Campbell Barton
free_main().
2012-11-05Render engines: replace number of x/y tiles with tile sizeSergey Sharybin
Now tile size is setting up explicitly instead of using number of tiles. This allows better control over GPU performance, where having tiles aligned to specific size makes lots of sense. Still to come: need to update startup.blend to make tiles size 64x64.
2012-11-05Cycles: memory usage reportSergey Sharybin
This commit adds memory usage information while rendering. It reports memory used by device, meaning: - For CPU it'll report real memory consumption - For GPU rendering it'll report GPU memory consumption, but it'll also mean the same memory is used from host side. This information displays information about memory requested by Cycles, not memory really allocated on a device. Real memory usage might be higher because of memory fragmentation or optimistic memory allocator. There's really nothing we can do against this. Also in contrast with blender internal's render cycles memory usage does not include memory used by scene, only memory needed by cycles itself will be displayed. So don't freak out if memory usage reported by cycles would be much lower than blender internal's. This commit also adds RenderEngine.update_memory_stats callback which is used to tell memory consumption from external engine to blender. This information is used to generate information line after rendering is finished.
2012-11-04code cleanup: double promotionsCampbell Barton
2012-11-04code cleanup: quiet -Wdouble-promotion, disabled this warnings for a few ↵Campbell Barton
files since its done throughout the code in some places.
2012-11-03style cleanup: tabs & whitespaceCampbell Barton
2012-11-03Render API: shader script node for custom shaders.Brecht Van Lommel
* Shader script node added, which stores either a link to a text datablock or file on disk, and has functions to add and remove sockets. * Callback RenderEngine.update_script_node(self, node) added for render engines to compile the shader and update the node with new sockets. Thanks to Thomas, Lukas and Dalai for the implementation.
2012-11-02Fix #33040: baking selected to active could miss at pixels at the edge of facesBrecht Van Lommel
when there was a tiny mismatch between low and high poly models, maybe because of float precision when editing the mesh. Added a small epsilon now to avoid this.
2012-10-31Fix blender internal strand render issue with deep shadow buffers, and AA ↵Brecht Van Lommel
samples smaller than the number of shadow sample buffers. There was not enough shadow in such cases, as some of the sample buffers were not filled in.