Revision d128c19 by Ton Roosendaal February 18, 2006, 17:07 (GMT) |
Added mask input for new Hue/Saturation Node. |
Revision 7117d7f by Ton Roosendaal February 18, 2006, 16:21 (GMT) |
The regular warning fix update; includes two variables that were used without initialization. For Brecht: source/blender/blenkernel/intern/subsurf_ccg.c:329: warning: left-hand operand of comma expression has no effect This line I don't understand... |
Revision f4ddc2f by Ton Roosendaal February 18, 2006, 15:57 (GMT) |
Quick change in Hue/Saturation Node: made the central Hue value 0.5, to make applying changes easier. Saturation slider goes to 2.0 now. Fix: rendering compositing nodes without scene crashed in header stats drawing. |
Revision 1ea9099 by Ton Roosendaal February 18, 2006, 14:35 (GMT) |
- Restored "dither" option for conversion from float -> byte images. 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. |
Revision 7425a8f by Ton Roosendaal February 18, 2006, 14:26 (GMT) |
Small tweak to get openexr compiling in scons |
Revision 387f9a7 by Ton Roosendaal February 18, 2006, 13:28 (GMT) |
Four-in-one commit: (NOTE: new include dependency in Render module, might need MSVC update! It has to include the imbuf/intern/openexr/ directory in search path) -> New Composite node: "Hue Saturation". Works like the former 'post process' menu. There's no gamma, brightness or multiply needed in this node, for that the Curves Node functions better. -> Enabled Toolbox in Node editor This now also replaces the SHIFT+A for adding nodes. The nodes are automatically added to the menus, using the 'class' category from the type definition. Current classes are (compositor examples): Inputs: RenderResult, Image Outputs: Composite, Viewer Color Ops: RGB Curves, Mix, Hue Saturation, AlphaOver Vector Ops: Normal, Vector Curves, Map Value Filters: Filter, Blur, VectorBlur Convertors: ColorRamp, RGBtoBW, Separate RGBA, Separate HSVA, Set Alpha Generators: RGB, Value, Time Groups: the list of custom defined nodes -> OpenEXR tile saving support Created an API for for saving tile-based Images with an unlimited amount of layers/channels. I've tested it for 'render result' now, with the idea that this can (optionally) replace the current inserting of tiles in the main result buffers. Especially with a lot of layers, the used memory for these buffers can easily go into the 100s of megs. Two other advantages: - all 'render result' layers can be saved entirely in a single file, for later use in compositing, also for animation output. - on each render, per scene, a unique temp file can be stored, allowing to re-use these temp files on starting Blender or loading files, showing the last result of a render command. The option is currently disabled, needs more work... but I had to commit this because of the rest of the work I did! -> Bug fix The Image node didn't call an execute event when browsing another image. |
Revision 78942aa by Erwin Coumans February 17, 2006, 20:18 (GMT) |
temporarily fix from Johnny Matthews committed, win32 doesn't have munmap. Someone can worry about a future mmap-like implementation. |
Revision 69d00bc by Ken Hughes February 17, 2006, 17:50 (GMT) |
===Python API=== Bugfix: make face and edge .extend() methods check that input vertices are from the same mesh. Fixes a bug found by Cam. |
Revision 6f62023 by Ton Roosendaal February 17, 2006, 15:44 (GMT) |
- Added option 'convert to premul' to AlphaOver node in Compositor - Fixed mix mode "Overlay", it was missing a multiplication with 2 :) - small bugix in Matts nodes commit, wrong pointers transfered to coltobw() |
February 17, 2006, 13:51 (GMT) |
3 very simple new composite nodes that I wanted for working with here. Hope the code is ok, they work ok in testing here and get done what I need, any checks or fixes are welcome. * Separate RGBA: Separates an input RGBA image into its R, G, B and A channels * Separate HSVA: Separates an input RGBA image into H, S, V and A channels * Set Alpha: Takes an input RGBA image and an alpha value channel and combines them into a single RGBA image channel. You can also set the alpha for the entire image with the number field when there's no input alpha channel. TODO: Allow input alpha channel with no input image, in order to output a solid colour, with alpha. |
Revision 7592c09 by Ken Hughes February 16, 2006, 20:09 (GMT) |
===Python API=== Allow object.setMatrix() to accept 3x3 matrices by extending to a 4x4 internally. Also check the dimensions of the new matrix and throw an exception if not a 3x3 or 4x4. |
Revision fe036a0 by Ton Roosendaal February 16, 2006, 17:51 (GMT) |
Added new malloc type in our MEM module; using the unix feature 'mmap'. In Orange we've been fighting the past weeks with memory usage a lot... at the moment incredible huge scenes are being rendered, with multiple layers and all compositing, stressing limits of memory a lot. I had hoped that less frequently used blocks would be swapped away nicely, so fragmented memory could survive. Unfortunately (in OSX) the malloc range is limited to 2 GB only (upped half of address space). Other OS's have a limit too, but typically larger afaik. Now here's mmap to the rescue! It has a very nice feature to map to a virtual (non existing) file, allowing to allocate disk-mapped memory on the fly. For as long there's real memory it works nearly as fast as a regular malloc, and when you go to the swap boundary, it knows nicely what to swap first. The upcoming commit will use mmap for all large memory blocks, like the composit stack, render layers, lamp buffers and images. Tested here on my 1 GB system, and compositing huge images with a total of 2.5 gig still works acceptable here. :) http://www.blender.org/bf/memory.jpg This is a silly composit test, using 64 MB images with a load of nodes. Check the header print... the (2323.33M) is the mmap disk-cache in use. BTW: note that is still limited to the virtual address space of 4 GB. The new call is: MEM_mapalloc() Per definition, mmap() returns zero'ed memory, so a calloc isn't required. For Windows there's no mmap() available, but I'm pretty sure there's an equivalent. Windows gurus here are invited to insert that here in code! At the moment it's nicely ifdeffed, so for Windows the mmap defaults to a regular alloc. |
Revision 7f4b01c by Ton Roosendaal February 16, 2006, 12:27 (GMT) |
Rendering tricks for improving workflow: - Button option "Single" in render-layer panel will enable to only render the currently indicated render-layer. It will also skip compositing. - Brought back the 'Local View' render. This will only render the visible objects, but with lights from the original view-layers. To make the option useful, it also temporal enables 'Single', which has the a disadvantage that you need to set the correct render-layer. It is a bit a tricky option though... since its quite invisble and confusing for people who don't know the feature. This might become either a button in 3d header, or use a popup requester to confirm, or... will need to think over! At least; both options display in render window a text to denote the option. |
Revision 32a9c7b by Brecht Van Lommel February 15, 2006, 22:33 (GMT) |
==UV Editor== Small ABF stability improvement, do some angle clamping during iteration, fixes a particular model that went wrong. |
Revision 9fedbd6 by Brecht Van Lommel February 15, 2006, 22:31 (GMT) |
==Python== Small bug reported on irc, matrix.translationPart didn't check bounds properly (needed to use || instead of &&). Also fixed similar bugs in rotationPart and rich compare. |
Revision 55610ac by Ton Roosendaal February 15, 2006, 19:55 (GMT) |
We found out memory got fragmented a lot for creating speed vectors on large scenes... this because it has to make 3 entire databases to find the vertex-speed to previous and next frame. Even though most of the prev/next database was freed, the parts I kept were spread all over memory. This commit copies from the prev/next database only the two screen aligned speed vectors and stores that in temporal per-object structs. Even whilst it takes more memory, it then can free the entire database, making space for the next database to be built. Tests reveiled it saves quite some... well, if you want to believe the 'virtual memory' total unix gives... :) |
Revision 8d0a2c4 by Ton Roosendaal February 15, 2006, 15:22 (GMT) |
Added printing stats back in commandline renders. Prints now a full 'log', using 1 line per part rendered. Might go back to 1 line again, but at this moment I need the logs for debugging. Same prints are active now for UI rendering. Just temporal :) |
Revision 9ef9d66 by Ton Roosendaal February 15, 2006, 09:35 (GMT) |
- Preview render (buttons) was executing the 'data ipos', causing inserting keys with IKEY in buttons to not work. - Crash in opengl while rendering was caused by the fact that scanline updates are drawn in the main thread, whilst the actual render thread then can already be doing different stuff. Especially with many layers & passes it's getting confusing easily :) Convention now is that scanline render updates only happen while the thread is looping over scanlines. As soon as it reached the last, no drawing happens, not even to update the last segment. This isnt a problen, since any finished tile is drawn again entirely. |
Revision 8bc0060 by JLuc Peuriere February 14, 2006, 23:52 (GMT) |
added proper casts to get things compiling with gcc 4.0 Os X |
Revision 343dbc5 by Alexander Ewering February 14, 2006, 22:17 (GMT) |
Fix for report #3916: The background image size/offset buttons now have max values multiplied by the view's grid setting, like most other buttons dealing with sizes and locations. Sorry, untested, as I can't get it to link (error while loading shared libraries: libavformat.so) |
|
|
|


Master Commits
MiikaHweb | 2003-2021