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-04-03Fix/Workaround #34854: render buffer update writes to wrong layerSergey Sharybin
Was caused by recent change in image_buffer_rect_update which was writing data to ibuf-rect_float. Apparently, this buffer could point to different render layer than came from RenderResult. Made quick fix for this, which ends up in skipping float buffer update in image_buffer_rect_update and skipping GLSL when image has both byte and float buffers. This will bring speed down a bit, but slower blender is better than broken blender. Proper fix will arrive later this week.
2013-04-02More usage of GLSL for color managed image drawingSergey Sharybin
Uses GLSL for drawing image in Image Editor space. This requires change in image_buffer_rect_update, so original float buffer is being updated as well. This is unlikely be something bad, but will keep an eye on this change. Also no byte buffer allocation happens there, this is so because byte buffer used for display only and in case of GLSL display such allocation and partial update is just waste of time. Also switched OpenGL render from using CPU color space linearization to GLSL color space transform. Makes OpenGL rendering pretty much faster (but still slower than in 2.60). internal changes: - Added functions to setup GLSL shader for color space conversion in colormanagement.c. Currently conversion form a colorspace defined by a role to linear space is implemented. Easy to extend to other cases. - Added helper functions to glutil.c which does smarter image buffer draw (calling all needed OCIO stuff, editors now could draw image buffer with a single function call -- all the checks are done in glutil.c). - Also added helper function for buffer linearization from a given role to glutil.c. Everyone now able to linearize buffer with a single call. This function will do nothing is GLSL routines fails or not supported. And one last this: this function uses offscreen drawing, could potentially give issues on some cards, also will keep an eye on this.
2013-03-29Implement GPU-side display transform for clip editorSergey Sharybin
Implemented using GLSL API from OpenColorIO library and some general functions were added to it's c-api: - OCIO_setupGLSLDraw prepares OpenGL context for GPU-based transformation for a giver processor. This function compiles and links shader, sets up it's argument. After this transformation would be applied on an image displaying as a 2D texture. So, glaDrawPixelsTex called after OCIO_setupGLSLDraw will do a proper color space transform. - OCIO_finishGLSLDraw restores OpenGL context after all color-managed display is over. - OCIO_freeOGLState frees allocated state structure used for cacheing some GLSL-related stuff. There're some utility functions in IMB_colormanagent which are basically proxies to lower level OCIO functions but which could be used from any place in blender. Chacheing of movie clip frame on GPU is also removed now, and either glaDrawPixelsTex or glaDrawPixelsAuto are used for display now. This is so no code duplication happens now and no large textures are lurking around in GPU memory. Known issues: - Texture buffer and GLSL are no longer checking for video card capabilities, possibly could lead to some artifacts on crappy drivers/cards. - Only float buffers are displaying using GLSL, byte buffers will still use fallback display method. This is to be addressed later. - If RGB curves are used as a part of display transform, GLSL display will also be disabled. This is also thing to be solved later. Additional changes: - glaDrawPixelsTexScaled will now use RGBA16F as an internal format of storing textures when it's used to draw float buffer. This is needed so LUT are applied without precision loss.
2013-03-25Bug fix:Ton Roosendaal
On screen/area refresh calls the header scroll offset was cleared too. Probably an old remainder of early 2.5 coding. Should be not needed so much.
2013-03-25More new data names translation (most cases should be covered now).Bastien Montagne
Also done a few cleanup here and there...
2013-03-21code cleanup: rename editmode functions so we have ↵Campbell Barton
ED_object_editmode_load/enter/exit
2013-03-20code cleanup: use booleans for mesh and selection code.Campbell Barton
2013-03-19Nicer handling of undefined node, tree and socket types.Lukas Toenne
When nodes are loaded from a .blend file they can potentially have undefined types. This can happen if a type has been deprecated and removed, or if node types were defined in a python script that has not been loaded correctly. Previously all such nodes would automatically be removed from a node tree, assuming that their types were deprecated and no longer in use (more commonly caused by loading new nodes in an older Blender version). Due to the possibility of dynamic registration it is no longer feasible to simply delete such nodes. Display and handling of node trees was simply disabled before this patch, so that a node tree where any node or socket type was undefined would not be displayed at all. To give more information and avoid problems caused by necessary checks for the typeinfo pointer, there is now a 'Undefined' fallback type for trees, nodes and sockets. These types are used as placeholders in case the real type is not registered and can provide useful visual feedback on undefined nodes.
2013-03-18Merge of the PyNodes branch (aka "custom nodes") into trunk.Lukas Toenne
PyNodes opens up the node system in Blender to scripters and adds a number of UI-level improvements. === Dynamic node type registration === Node types can now be added at runtime, using the RNA registration mechanism from python. This enables addons such as render engines to create a complete user interface with nodes. Examples of how such nodes can be defined can be found in my personal wiki docs atm [1] and as a script template in release/scripts/templates_py/custom_nodes.py [2]. === Node group improvements === Each node editor now has a tree history of edited node groups, which allows opening and editing nested node groups. The node editor also supports pinning now, so that different spaces can be used to edit different node groups simultaneously. For more ramblings and rationale see (really old) blog post on code.blender.org [3]. The interface of node groups has been overhauled. Sockets of a node group are no longer displayed in columns on either side, but instead special input/output nodes are used to mirror group sockets inside a node tree. This solves the problem of long node lines in groups and allows more adaptable node layout. Internal sockets can be exposed from a group by either connecting to the extension sockets in input/output nodes (shown as empty circle) or by adding sockets from the node property bar in the "Interface" panel. Further details such as the socket name can also be changed there. [1] http://wiki.blender.org/index.php/User:Phonybone/Python_Nodes [2] http://projects.blender.org/scm/viewvc.php/trunk/blender/release/scripts/templates_py/custom_nodes.py?view=markup&root=bf-blender [3] http://code.blender.org/index.php/2012/01/improving-node-group-interface-editing/
2013-03-17Fix for "draw images as texture"Ton Roosendaal
Zooming in on images in Image window now shows pixels again (was filtered). Now the glaDrawPixelsTex() and glaDrawPixelsAuto() have an argument to define if images should zoom in with linear filter, or draw pixels.
2013-03-17New feature:Ton Roosendaal
Automatic switching for drawing pixel buffers via glDrawPixels or using GPU textures It works with a User Preference limit, in megapixels, to define whether to use GPU or direct pixel drawing. Default is now initialized to 10 MP (4k buffers). Especially for zooming out (draw smaller) texture drawing is much smaller. Also Nvidia cards typically draw much faster with textures in general. Added to node backdrop first now, the other editors follow in a next commit. For coders: added new DNA function to initialize new struct variables, so you don't have to sub-version files anymore. DNA_struct_elem_find(fd->filesdna, "structname", "typename", "varname") "filesdna" is the sdna description of the current file being versioned.
2013-03-15Screen: add exit callback for area and region types, this gets called whenBrecht Van Lommel
hiding or removing an area or region.
2013-03-13code cleanup: use const events for modal and invoke operators.Campbell Barton
2013-03-12use gcc warning -Wredundant-decls, exposes some odd/duplicate declarations ↵Campbell Barton
which have been removed.
2013-03-10Bugfix #34365Ton Roosendaal
Tiny tweak. Dragging option (cursor change) for region dividers in editors was having an un-even sensitivity hotspot. This conflicted with header buttons for example, where the hotspot and bottons overlapped. Now the hotspot is around the region-edge evenly.
2013-03-10patch [#34586] Variable typo in glaDrawPixelsTexScaledCampbell Barton
from Andre D (andred) xzoom was used where yzoom was meant to be used. Caused issues when xzoom and yzoom were not the same value.
2013-03-09code cleanup: favor braces when blocks have mixed brace use.Campbell Barton
2013-03-01Bug fix #34418Ton Roosendaal
Fix for 2.66a Screencast could be started twice in a row, but it then also added two handlers for drawing an overlay circle around mouse cursor. After ending the screencast, this circle then kept being drawn.
2013-02-28UI/DPI: user preferences window size now takes into account DPI, otherwise theBrecht Van Lommel
buttons don't fit properly.
2013-02-28More UI messages fixes...Bastien Montagne
2013-02-25style cleanupCampbell Barton
2013-02-24Another bunch of UI translation fixes, thanks to Leon Cheung, Gabriel ↵Bastien Montagne
Gazzán and S. Lockal for spotting them!
2013-02-23Bug fix #34347Ton Roosendaal
If you move (with F5) the properties and tools region in 3d viewport to the same side, the mini-axis and text overlays were drawing in wrong place.
2013-02-22code cleanup: remove unused argCampbell Barton
2013-02-20Fix DPI not taken into account for header text (e.g. during transform).Brecht Van Lommel
2013-02-15Various fixes for UI translation issues (reported by Leon Cheung on ↵Bastien Montagne
bf-translations ML, thanks!).
2013-02-11style cleanup: also some typosCampbell Barton
2013-02-06style cleanup: some warnigs & spelling.Campbell Barton
2013-02-05fix for valgrind warning - using uninitialized variable. Though in practice ↵Campbell Barton
it didn't cause any problems. Getting the 'CTX_data_main' while un-fullscreen'ing a space would do a context lookup into the view3d_context which had an uninitialized layer. since view3d_context doesn't hold a 'main' member it never did anything but cleaner not to do context lookups while modifying the view. - noticed while checking on a real bug :)
2013-02-02style cleanupCampbell Barton
2013-01-29More UI messages tweaks and fixes. Please do not use points inside tooltips, ↵Bastien Montagne
unless they are absolutely mandatory (they are ugly, as we do not have final points!).
2013-01-29code cleanup: var rename and add assert, when writing to out of bounds array.Campbell Barton
minor edit to recent tip change.
2013-01-29Better tooltips for the Full Screen option on Save Screenshot/Screencast ↵Pablo Vazquez
operators.
2013-01-27Operators name "cleanup"Dalai Felinto
The operator names all show up in the Search button. As such is nicer if they can all have the main words capitalized. e.g. "Snap strips" should be "Snap Strips" "Copy to clipboard" should be "Copy to Clipboard" This was done with a mix of bash tools, regex, and manual work because I'm too rushed into regex :) + fix bge stereo eye separation tooltip
2013-01-25header cleanup, include BLI before BKE, also use bool for ntreeShaderExecTreeCampbell Barton
2013-01-24style cleanupCampbell Barton
2013-01-23Fix #33556: overlapping regions draw over render info at the top of 3d view andBrecht Van Lommel
image editor. Also fix it not scaling properly with DPI.
2013-01-16WM / Screenshot fix:Thomas Dinges
* Screenshot resolution was wrong on Macbook Retina (did only capture a cropped part of the screen).
2013-01-09reduce the alpha of console selection (text was too hard to read)Campbell Barton
2013-01-08style cleanupCampbell Barton
2012-12-31Removed on old patch from the code, which attempted to keep the scrollersTon Roosendaal
in user preferences in place. New scroller code made user pref scroller jump back on activating add-ons, because that causes a full blender system refresh.
2012-12-28style cleanupCampbell Barton
2012-12-26Node editor: remove option to show overlapping Property region.Ton Roosendaal
- The main window has sliders, which was drawn behind the region - If property region had slider too, it got even worse. Basically the node editor is UI view, so drawing another UI on top isn't functioning well in general.
2012-12-26Region scrollbar fix!Ton Roosendaal
Now scrollbars correctly hide and show, making space for the actual contents in a region. It solves several old hacks, and puts view2d code a bit more back in control as well. Implementation notes: - The view2d mask feature is working again - The #define V2D_SCROLL_HORIZONTAL_HIDE means: "turn on hiding". - Code for UI_view2d_region_reinit() is enforcing better standard view settings But... two hack/patches needed to be added: - Region panel drawing: if after generating the button panels it appears a scroller hides or reveils, it calls all the generating code again. (a simple scale doesn't work due to rounding differences in layout code) - View2d code that maps 'tot' and 'cur' rects: if this code detects that the mask changes, it calcs the map code again. Also a bugfix (issue in 2.65) - The left/bottom area split widget was drawing 1 pixel too large sometimes, leaving bad trails on moving area dividers.
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-22Small drawing glitch, for UI with transparent overlapping regions;Ton Roosendaal
- The corner 'duplicate/merge area' widget was drawing too often. (Added comment in subwindow 'active' code, too many redraws are being sent on moving mouse over region eddges)
2012-12-19Another patch for changes in file format...Ton Roosendaal
- Since 2.50, the .blends have the current file name stored - In versions up to 2.65.0 this didn't save for files saved from startup (i.e. files saved without loading a file) Code now adds the file name after all, except for recovery loads.
2012-12-19Bugfix, in 2.61.1 Ton Roosendaal
Overlapping regions now hide automatic when too little space is left.
2012-12-19UI DPI scaling:Ton Roosendaal
Recoded the (2.65.1 version) region scale, which happened on loading files with different saved size windows. Also scaling window itself was affected. Old method: scaled region widths based on area/editor scaling factors. That was leading to too small or too large button regions easily. New method: region width/height now are in DPI control. Much nicer! - On changing dpi, buttons remain visually same widths. - On changing window sizes, the button views and zooms stick to exactly same. Caveat: people who were using Blender with 'extreme' dpi setting, might find the layouts slightly differ. Not sure if this is worth version patching... Todo: overlapping regions that overlap together draw badly. Fix underway.
2012-12-19DPI: fix wrong scaling of editor type choosing buttons, and for menu arrowsBrecht Van Lommel
overlapping or being too close to icons in small buttons.