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
2006-12-21Bugfix:Ton Roosendaal
For "Render to Image window": On re-render, the 32 bits display buffer of a RenderResult was not freed, so it looked as if the rendered image was not changed.
2006-12-20Two bugfixes for Image commit:Ton Roosendaal
- Jkey press without a render crashed - UV FaceSelect, assign/view image, crashed all over... :)
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-11-07move SPACE_* (enum) and SPACEICONMAX to DNA_space_types (being the more ↵Nathan Letwory
logical place than DNA_screen_types). SPACEICONMAX gets its value now through this enum, so it is not anymore easy to forget to update it correctly :)
2006-11-06Merged Google Summer of Code sculptmode/multires/retopo tools.Nicholas Bishop
From the tracker: https://projects.blender.org/tracker/index.php?func=detail&aid=5018&group_id=9&atid=127
2006-10-29=render window zoom with mousewheel and pgup pgdwn=Tom Musgrove
adds additional shortcuts to zoom on the render window, patch by Onur Yalazi (onuryalazi)
2006-08-10Compositor: finished work on node "File Output".Ton Roosendaal
- It saves a file with indicated type on each change, with number appended denoting the current frame (like ANIM saving). - Output filename button supports relative paths ("//") - Shows optional preview image too - For now, added a print on each file save as feedback To make this option work nicely, changed the BKE_makepicstring() function to have less globals inside, so it is more generic. Todo: allow amount of digits in filenames to be set (to support files like tmp_123456.jpg)
2006-07-18Second part of bugfix #4715Ton Roosendaal
Re-replaced glFinish back to glFlush, should fix display updates?
2006-07-13Three more valgrind discoveries:Ton Roosendaal
- readfile.c, version patch for new toolsettings used a malloc, using unitialized variables - despgraph, another malloc changed to calloc - timer code for render ESC: unitialized variable in struct
2006-07-12- ray.c: a string was assinged to stats drawing, but not cleared. couldTon Roosendaal
create buffer overflows in string drawing - removed static variable from renderwin.c. No fix, just nicer code.
2006-07-05Bugfix #4609Ton Roosendaal
ESC for OpenGL render (in anim) was hanging, so a 2nd anim render always returned immediately. Own bug collection: the SHIFT+NumPad-0 option didn't do an undo-push.
2006-07-05Testing in irc becomes more of battle in finding stupid ways to crashTon Roosendaal
Blender! Nevertheless, this case was fixable, so... Bug: While rendering opengl anims, closing the output window crashes blender.
2006-07-02Fix: While checking on render stats timer, I found there was already statsTon Roosendaal
reserved for field and blur steps, but never used or printed.
2006-06-27Bugfixes from own collection:Ton Roosendaal
- when renderwin exists, but not used for render, the ESC timer check still could return ESC event, due to missing flag clearing. (For example in sequencer, a scene strip did not update on frame advance) - option 'single layer' set in combination with render "Do Sequence" didn't free the pushed layers.
2006-06-26Bugs #4488 and #4431Ton Roosendaal
Sequencer: Removing feature that allowed live updates of render progress while using scene strips. In 2.41 and older this also happens invisible, and ESC from it works now anyway. Two reasons: - it is quite annoying, especially on quit renders - new 'render to window' conflicts too much with the sequencer window option that shows previews (in code as well as functional!)
2006-06-24Bugfix #4436Ton Roosendaal
RenderWindow redraws (after rendering) was still using GL_FLOAT. Replaced it with the faster glaDrawPixelsSafe_to32() call. Stupid ATIs! :)
2006-06-21Fix: the new "render out to Image Window" option didn't get a refreshTon Roosendaal
event on compositing changes.
2006-06-18Bugfix #4352Ton Roosendaal
More Sequence render fixes: - on load of .blend file, with Sequencer invoking a sequence render, the header window matrix was not set, giving "Insane icon" prints - option "Do Sequence" had no re-display call in end
2006-06-18Bugfix #4351Ton Roosendaal
ESC wasn't supported for sequence-based rendering yet. Solved it with correctly initializing the sequence render with all render callbacks, including render updates (which it didn't do yet). Cleanup: - Bug in ghostwinlay code: the get_mbut() function reads from the window struct if a mouse is pressed. However, when you press the mouse in the sequencer, which causes a render, this value was hanging because then the active window was a render window. - The new render display options (image window) didn't work for sequence render OK. There was a recursion even, because a sequence draw command calls a render, which in turn now calls redraws.
2006-06-17Also for new 'to image window' rendering, drawing of float buffers whileTon Roosendaal
rendering now is full 32 bits. This gives drawing issues in some cards, like ATIs. Copied the function used for renderwindow to glutil.c, and used now in the image window.
2006-06-14Endian fix for drawing alpha in images.Ton Roosendaal
2006-06-12New feature! (Well, replacement for the exisiting cumbersome "DispView")Ton Roosendaal
Next to the "DispWindow" there are now two new choices: - Display render output to Image Editor - Display render output to Screen-sized Image Editor Both options won't open a 2nd window anymore, which makes work quite more smooth even, especially because 'focus' isn't lost. Further it fits in the 'single window UI' paradigm of Blender. Should have been done 10 years ago! Lastly it might bypass issues with X11... having 2 windows with opengl context is not always stable in Linux. This option uses an identical trick as for the Compositor viewer, using an Image block with a fixed name ("Render Result"). The flow, when invoking a Render, goes as follows: - first it checks if there's an Image Editor visible displaying the "Render Result", if so then it uses that area-window. (Use this option for dual-monitor setups for example, a render will always go to the same location then) - else it checks if there's an Image Editor open in general, it then assigns that window the "Render Result" Image. - else: it searches for the largest Area in the screen, and turns that into a temporal Image Editor showing render output. After a render, an ESC will push back the former view, if the Area type has changed. Same rules apply for the "Full Screen" option. Here an ESC will always go back to the regular Screen, and restore Area type if required. While rendering, the queue for the renderwindow isn't handled yet, so you can not zoom (nor get full redraws), as for the regular render window. Existing conflicts: - in FaceSelect mode, the Image editor enforces to display the face texture after rendering again. - when using an Image window for compositing, you'll lose the Viewer output on a render. Implementation note: While rendering updates, nothing is drawn in frontbuffer anymore. That's good news for b0rked OpenGL drivers (and faster). However, for the few OpenGL cards that don't do a "swap copy" but a "swap exchange" you get issues... has to be worked on. I'm afraid we have to drop frontbuffer drawing altogether. Other fixes: - Hotkeys NumPad 1, 2, 4, 8 will set zoom levels (was half coded only?) Use SHIFT to zoom out (smaller). - Rendering Tile updates still had draw errors on edges of tiles, in OSA only. (Caused by commit 4 days ago)
2006-06-11The "ESC doesn't cancel renders" problem:Willian Padovani Germano
Changing from ITIMER_VIRTUAL to ITIMER_REAL solved the issue for all who tested it (Hos, pidhash and me, at least). Ton said to commit it so more people can test, but other solutions may still be investigated. The change is only for POSIX systems (so Windows code was not touched).
2006-06-06Added support for linked objects from libraries which can have names thatAlfredo de Greef
are already defined locally, probably does not work fully yet. Added extra 'threads' parameter as requested by Lynx3d. Optimized drawing of rendered tiles, so that the entire image doesn't have to be redrawn every time a tile is complete. The blender code that handles this part was not yet complete and could only draw (sets of) scanlines. I extended the renderwin_progress() function in renderwin.c to handle a given subrectangle. This code needs review! For the limited test I did it seems to work at least...
2006-06-02Bugfix:Ton Roosendaal
- OpenGL render didn't display the render buffer - OpenGL anim render always exported to movie, now it supports formats like normal renders.
2006-05-29Render window: Jkey (swap display buffers) works as 2.41 again. Meaning,Ton Roosendaal
it keeps storing a previous buffer for as long you don't render showing this previous buffer. If you render showing the previous buffer, it stores the current render. To make this more clear, the window title shows "previous" when it shows the stored copy.
2006-05-29Yafray 'should' now work again. A bit more testing needed.Alfredo de Greef
But seems to work sofar anyway, composit nodes should work as well.
2006-05-22Brought back the Scene strip in Sequencer. Even does a full composite withTon Roosendaal
only images input in compositor. Currently still renders in the scene's own resolution. It also doesn't show scanline/tile updates yet while rendering.
2006-04-01Sequence render bug: pressing ANIM didn't update renderwindow, when filesTon Roosendaal
for input were 32 bits.
2006-03-13Two fixes in renderpipe...Ton Roosendaal
- Renderwin still used a thread-unsafe malloc, in the header text print - Setting clipping flags in vertices for parts required a mutex lock after all... I thought it would go fine, but noticed on renders with small amounts of faces that sometimes faces disappear from a render. (was doing movie credits, so all faces are visible! Otherwise it would have hardly been noticable...)
2006-03-12A couple of render improvements;Ton Roosendaal
- Bug fix: the upper tile in a collumn for Panorama render didn't put the mainthread to sleep properly. Now panorama renders 25% faster if you had set Y-Parts to 4. - Enabling Compositing in Scene for first time now adds a "Composite" node too, so render output gets applied. - An attempt to render with "Do Composite" without "Composite" node will throw an error and stops rendering. In background mode it will just not render at all, and print errors. - Errors that prevent rendering now give a popup menu again. - Having MBlur or Fields option on will now normally render, but with an error print in console (not done yet...)
2006-03-09<sob>dropping OpenGL float buffer drawing... it seems that this isn'tTon Roosendaal
a well supported feature for glDrawPixels(), especially on ATIs crashes happen with it irregularly. (note; drawing float is a regular opengl 1.0 feature...). Now all scanline/part updates in renderwindow is converted to 32 bits before drawing, also the in the UV Image window only 32 bits RGBA is drawn. What is still float: drawing the final image after render in renderwindow, and drawing the Z or Alpha in renderwindow and UV image. Of course we need to test this first. :) Will await reports...
2006-03-08Test with render window not drawing in frontbuffer anymore. Only enabledTon Roosendaal
now for OSX though... that's where we can verify if the irregular crashes will stop (ATI issue, nvidia seems to be OK) If ATI users for other platforms want to check; just extend the two #ifdefs I added for frontbuffer drawing. Note; the syntax then becomes #if defined(__APPLE__) || defined(_YOUR_PLATFORM_)
2006-03-08Compositing workflow goodie; each 'render result' node now has a buttonTon Roosendaal
option to re-render that specific node. Also works for nodes using other scenes.
2006-02-24Made the most critical variables in render pipeline "volatile", especiallyTon Roosendaal
the ones that get changed within threads, to communicate with the main thread. (Part of the long quest to get threaded render safe, especially in Linux)
2006-02-21Carefully went over all scanline updating while rendering, to ensure onlyTon Roosendaal
updates are allowed to draw when a part is within a scanline rendering loop. Might solve threads issues with opengl...
2006-02-19Changing a glFLush() in glFinish() for drawing info text in renderwindow...Ton Roosendaal
seems to be a reason for opengl crashes with thread render?
2006-02-16Added new malloc type in our MEM module; using the unix feature 'mmap'.Ton Roosendaal
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.
2006-02-16Rendering tricks for improving workflow:Ton Roosendaal
- 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.
2006-02-15Added printing stats back in commandline renders. Prints now a full 'log',Ton Roosendaal
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 :)
2006-02-15- Preview render (buttons) was executing the 'data ipos', causing insertingTon Roosendaal
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.
2006-02-15Potential fix for crashing ogl in drawing render updates... ATI only?Ton Roosendaal
I don't know why, but at Andrea's system it goes fine.
2006-02-13Couple of smaller fixes:Ton Roosendaal
- Improved stats drawing while rendering, it now draws - while preparing renderdata - each second the amount of verts/faces. Also while rendering, the amount of finished and total parts are printed. - Added ESC in loop that generated Group render data - On deleting Render Layers, the nodes that use them are now checked and corrected. - Restored drawing all scanlines in renderwindow... this wasn't the bug!
2006-02-12Couple of features/fixes:Ton Roosendaal
- Compositor now frees memory of buffers internally used in groups immediately. This wasn't part of the event-based cache anyway - New option: "Free Texture Images" (in render Output panel). This frees after each render of each scene all images and mipmaps as used by textures. As reference it prints total amount of MB freed. - Render stage 'creating speed vectors' had no ESC checking yet - Made drawing scanline updates during render draw 1 scanline less... dunno, still hunting for weird opengl crashes. - 3D preview render didn't properly skip sequence or composit render.
2006-02-11Switching glFlush() to glFinish() in renderwindow drawing for updates...Ton Roosendaal
no idea if it helps, will be tested now. :)
2006-02-08New:Ton Roosendaal
- ZTransp render now also delivers Z values and Speed vectors in passes Note that speed vectors accumulate within a pixel to store the minimum, so rendering ztransp on top of a non-moving plane won't give speed... Best results you get is by rendering it in a separate layer. The Z value stored is the closest visible transparent face in the pixel. Fixes: - Render to 'spare page' has been enabled again. Because of the strict separation of Render and UI, but especially because a 'render result' now can consist of unlimited images, I've not made this a Render feature. Instead, the render-window itself stores the 'spare' image... I also had to change the convention for it a bit. Now, instead of having two "render buffers" (which was a render feature), the RenderWindow will store each previous frame on a re-render. This storing will only start after you've pressed 'Jkey' once, but then always will happen for as long the rendered image is same size as previously. For clarity, I've also renamed the window title, to 'previous frame'. - RenderWindow shows alpha again on Akey - Display of the Zvalues in ImageWindow has been tweaked. White now denotes closest, and the color range goes from camera clip-sta to clip-end. - Bugfix: on splitting/merging/duplicating windows, the 3D Previewrender was not always freed correctly, potentially causing crashes or memory leaks.
2006-02-04More work on render stuff!Ton Roosendaal
- Scene support in RenderLayers You now can indicate in Compositor to use RenderLayer(s) from other scenes. Use the new dropdown menu in the "Render Result" node. It will change the title of the node to indicate that. The other Scenes are rendered fully separate, creating own databases (and octrees) after the current scene was finished. They use their own render settings, with as exception the render output size (and optional border). This makes the option an interesting memory saver and speedup. Also note that the render-results of other scenes are kept in memory while you work. So, after a render, you can tweak all composit effects. - Render Stats Added an 'info string' to stats, printed in renderwindow header. It gives info now on steps "creating database", "shadow buffers", and "octree". - Bug fixes Added redraw event for Image window, when using compositor render. Text objects were not rendered using background render (probably a bug since depsgraph was added) Dropdown buttons in Node editor were not refreshed after usage Sometimes render window did not open, this due to wrong check for 'esc'. Removed option that renders view-layers on F12, with mouse in 3d window. Not only was it confusing, it's now more efficient with the Preview Panel, which does this nicely.
2006-02-01Three features;Ton Roosendaal
- Live scanline updates while rendering Using a timer system, each second now the tiles that are being processed are checked if they could use display. To make this work pretty, I had to use the threaded 'tile processor' for a single thread too, but that's now proven to be stable. Also note that these updates draw per layer, including ztransp progress separately from solid render. - Recode of ztransp OSA Until now (since blender 1.0) the ztransp part was fully rendered and added on top of the solid part with alpha-over. This adding was done before the solid part applied sub-pixel sample filtering, causing the ztransp layer to be always too blurry. Now the ztransp layer uses same sub=pixel filter, resulting in the same AA level (and filter results) as the solid part. Quite noticable with hair renders. - Vector buffer support & preliminary vector-blur Node Using the "Render Layer" panel "Vector" pass button, the motion vectors per pixel are calculated and stored. Accessible via the Compositor. The vector-blur node is horrible btw! It just uses the length of the vector to apply a filter like with current (z)blur. I'm committing it anyway, I'll experiment with it further, and who knows some surprise code shows up!
2006-01-28Cleanup of blender/ module; Makefiles now compile this warning free.Ton Roosendaal
Mostly was unused variables, unused functions, missing prototypes and missing include files.
2006-01-28Final merge of HEAD (bf-blender) into the orange branch.Chris Want
Here are my notes on things to look out for as potential problem spots: source/blender/blenkernel/intern/displist.c: + is initfastshade(void) supposed to be empty? I had to make it empty to get the merged tree to compile. source/blender/python/api2_2x/Armature.c: + went with the version that had Armature_getLayers() source/blender/python/api2_2x/Object.c + went with the version of Object_getPose() from bf-blender. (#ifdef 0-ed the other version) source/blender/python/api2_2x/Pose.[ch] + had problems linking due to no Pose_Init() ... copied these two files straight from bf-blender. source/blender/src/drawview.c: + view3d_panel_properties() had things shifted a few things shifted a few pixels, otherwise, things were painless source/blender/src/splash.jpg.c: + went with bf-blender version (orange is dead) source/gameengine: + went with bf-blender version -- does not compile due to IMB_rect* stuff, Ton should look into this.