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
path: root/intern
AgeCommit message (Collapse)Author
2013-04-02Fix #34833: crash using SSS node on windows, invalid memory access when ↵Brecht Van Lommel
building lookup table.
2013-04-02Fix build for MinGW without opencollada (updated libs coming soon), MinGW64 ↵Antony Riakiotakis
now builds with opencollada
2013-04-02Fix FFMPEG build error with older versions after planar formats commit.Brecht Van Lommel
2013-04-02Cycles: initial subsurface multiple scattering support. It's not working asBrecht Van Lommel
well as I would like, but it works, just add a subsurface scattering node and you can use it like any other BSDF. It is using fully raytraced sampling compatible with progressive rendering and other more advanced rendering algorithms we might used in the future, and it uses no extra memory so it's suitable for complex scenes. Disadvantage is that it can be quite noisy and slow. Two limitations that will be solved are that it does not work with bump mapping yet, and that the falloff function used is a simple cubic function, it's not using the real BSSRDF falloff function yet. The node has a color input, along with a scattering radius for each RGB color channel along with an overall scale factor for the radii. There is also no GPU support yet, will test if I can get that working later. Node Documentation: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Shaders#BSSRDF Implementation notes: http://wiki.blender.org/index.php/Dev:2.6/Source/Render/Cycles/Subsurface_Scattering
2013-04-02Cycles: code refactoring to add generic lookup table memory.Brecht Van Lommel
2013-04-01Epic fail in original GLSL display transform commitSergey Sharybin
Apparently C== allowed to have implementations of OCIOImpl::setupGLSLDraw, OCIOImpl::finishGLSLDraw and OCIOImpl::freeGLState in two different files. STUPID!
2013-04-01Hopefully compilation with FFmpeg 0.10 works fine now.Sergey Sharybin
2013-04-01Audaspace: adding support for ffmpeg planar formats, breaks support for ↵Joerg Mueller
older ffmpeg versions.
2013-03-31Cycles / Shader Graph optimization:Thomas Dinges
* Unnecessary shader inputs inside the Mix Shader are now ignored, in case the factor is 0.0 / 1.0 and not connected. This way we save some render time for complex node graphs. Example: http://www.pasteall.org/pic/show.php?id=48226 Check the Mix Shader at the end: In this case, Cycles will now avoid the complete huge shader tree, and only calculate the Diffuse Shader. Rendertime decreased from 1:50 min to 1:20 min on CPU. GPU rendering benefits as well from this. This only affects SVM, OSL was already doing these optimizations.
2013-03-31Elbeem fluid: Remove hardcoded 16GB RAM limit on 64bit systemsDaniel Genrich
2013-03-29Compile fix for recent OCIO commit, missing GLEW include.Thomas Dinges
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-29misc minor edits.Campbell Barton
- pass string size to BLI_timestr() to avoid possible buffer overrun. - quiet warning for mingw. - include guards for windows utf conversion funcs. - fix for mistage in edge-angle-selection check. - some style cleanup.
2013-03-29code cleanup: quiet warnings building with mingw.Campbell Barton
2013-03-28code cleanup: python/pep8 and double-promotion warnings.Campbell Barton
2013-03-28style cleanup: osl and NULL pointer use, also correct sequencer gap operator ↵Campbell Barton
id's
2013-03-27Cycles / SunSky:Thomas Dinges
* Use already calculated theta^2 for theta^3 calculation.
2013-03-27Code cleanup / Cycles:Thomas Dinges
* Remove unused variable from noise_wave().
2013-03-27Fix #33518: Jack sync doesn't work in 2.64, 2.64 or 2.65 stable versionsSergey Sharybin
Added new build option WITH_JACK_DYNLOAD for CMake and WITH_BF_JACK_DYNLOAD for SCons, which means there'll be no build-time linking against libjack and getting symbols from libjack will happen runtime using dlopen and dlsym tricks. Alternative would be to use weak linking, but it'll require having wrapper for preloading libjack. This new options are disabled by default and they only intended to be used on linux. Other platforms shall not be using this and there shall be no functional changes on non-linux platforms at all.
2013-03-25Bugfix [#34749] Fluid domain > 10GB crashes Blender - out of memoryDaniel Genrich
I am unsure if I did catch all problematic code but I ran out of memorybefore the sim started ;)
2013-03-25code cleanup:Campbell Barton
- remove unused defines. - quiet some shadow warnings. - bevel, ifdef out some asserts that are too common. - style
2013-03-24OS X Fullscreen: shortcut now is CTRL + Cmd + F. Is more common, and it keepsTon Roosendaal
Cmd + F for searches.
2013-03-24Fix for [#34747] Rendering invisible tilesThomas Dinges
* reset_session() was not taking render percentage into account in case persistent_data was enabled. * also deprecate old "maximsize" DNA variable.
2013-03-24Unix/X11 - use RGBA icon (netwm icon), rather then pixmap icon.Campbell Barton
2013-03-23Fix for cycles group node bug, reported on IRC: Group nodes input proxies ↵Lukas Toenne
did not get their correct default value set. Forgot to add this during r55440 ...
2013-03-23Bug fix 34743Ton Roosendaal
Mac OS X full screen: the old option to go full screen now didn't hide the dock/topbar anymore. Also made it use dock auto-hide now, not permanent hide.
2013-03-23Cycles:Thomas Dinges
* Avoid an unnecessary condition in light.cpp, (totarea > 0.0f) is always true inside the "if(kintegrator->use_direct_light)" branch.
2013-03-23Cycles:Thomas Dinges
* Move OpenGL settings out of the film panel into its own. Imho these should go completely elsewhere, but better separated than mixed with Cycles settings.
2013-03-23GHOST_Cocoa, let new fullscreen also appear on 10.6 deployed buildsJens Verwiebe
2013-03-23fix for buffer out-of-bounds reading for STR_String comparisons with char ↵Campbell Barton
arrays.
2013-03-22OSX feature:Ton Roosendaal
Blender now supports the 10.7+ "Full screen" mode, which pushes a window to a permanent other "screen", with animated zoom and sliding. Available via the icon in window header (right), Apple+F, or "Window" menu in top. Works much nicer than Blender's own "full screen" option. Todo: the zoom effect is still draws a bit ugly, because Blender doesn't have "live resize" yet.
2013-03-22code cleanup: unused defines, shadowing and unintended enum-as-variable.Campbell Barton
2013-03-22code cleanup: use NULL rather then 0 for pointers, and make vars static ↵Campbell Barton
where possible. also found unintentionally defined enum/struct variables that where only meant to be defining the type.
2013-03-22code cleanup: use booleans and const's for operator vars.Campbell Barton
2013-03-21code cleanup: misc warnings/styleCampbell Barton
2013-03-21Fix #34700: cycles depth of field now works with orthographic cameras too.Brecht Van Lommel
2013-03-20Prefetching for movie clipsSergey Sharybin
This commit basically implements frames prefetching for movie clip datablock. Number of frames to be prefetched is controlled in User Preferences, System tab, Prefetch Frames option. Currently prefetching is destructive-less for movie cache, meaning mo frames will be removed from the cache when while prefetching. This is because it's half of simplier to implement, but it also makes sense from tracking point of view -- we could want to playback in both directions and removing frames from behind time cursor is not always a good idea. Anyway, smarter prefetching strategy could be developed later. Some implementation notes: - Added MEM_CacheLimiter_get_memory_in_use function to get memory usage of specified memory limiter. - Fixed prototype of MEM_CacheLimiter_get_maximum which was simply wrong (used wrong data type for output). - Added some utility functions to movie clip and movie cache for direct cache interaction and obtaining cache statistics. - Prefetching is implemented using general jobs system. which is invoking from clip draw function. - Prefetcing will stop as soon other job or playback starts. This is done from performance point of view. Jobs will likely require lots of CPU power and better to provide whole CPU to it. Playback is a bit more complicated case. For jpeg sequence playback prefetching while paying back is nice. But trying to prefetch heavy exr images and doing color space conversion slows down both playback and prefetching. TODO: - Think of better policy of dealing with already cached frames (like when cached frames from other clips prevents frames from current clip to be prefetched) - Currently a bit funky redraw notification happens from prefetch job. Perhaps own ND_ is better to have here. - Hiding clip while prefetch is active in theory shall stop prefetching job. - Having multiple clips opened on file load will prefetch frames for only one of them.
2013-03-20OSX/tablet: fix a longstanding bug with certain devices and a cornercasesJens Verwiebe
2013-03-20Fix for #34708 and #34709, cycles group nodes were not working well with 0 ↵Lukas Toenne
or 2+ group input/output nodes. The issue here was that the proxy nodes created for connecting extern group node sockets to the internal nodes were generated by the input/output nodes themselves. 0 input/output nodes: there would be no proxy that external group node sockets can map to 2+ input/output nodes: additional nodes would overwrite entries from previous nodes, so that only one of the input/output nodes would be used. Solution is to always generate exactly 1 proxy node for every group socket in advance, regardless of whether it is used internally. Internal node sockets can then all map to this proxy node. In the case out output nodes there should only ever be one active node, otherwise the connection to the proxy would be ambiguous. For this purpose the NODE_DO_OUTPUT flag has been exposed to RNA, so that cycles can check it and only use the active output.
2013-03-19OSX/pen: change sensivity graduation to a good value found with Sebastian ↵Jens Verwiebe
and remove debug print
2013-03-19OSX/pen: change sensivity graduation so we don't get maximum too early and ↵Jens Verwiebe
have more feeling
2013-03-19Smoke Bugfix /enhancement: Load pre 2.65 pointcaches.Daniel Genrich
Warning: Just make sure that you DON'T free the cache at any point. This patch can only display existing pointcaches from e.g. 2.64
2013-03-18Hopefully blender will compile with strict flags again.Sergey Sharybin
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-18style cleanupCampbell Barton
2013-03-17Cycles / CUDA:Thomas Dinges
* Simplify Computing Capability Check, only check for major.
2013-03-17code cleanup: incorrect sized array args, remove some redundant code.Campbell Barton
2013-03-17- ghost-sdl builds again.Campbell Barton
- without python builds without warnings. - replace MAXFLOAT -> FLT_MAX in some areas, MAXFLOAT overflows (lager then float range). - add cmake option WITH_GCC_MUDFLAP to enable libmudflap use.
2013-03-16Fix for [#34654] Cycles hair particle system modifier obeys viewport ↵Thomas Dinges
visibility as well * Now Show Render and Show Viewport flags work independently and correct.
2013-03-14Border rendering now works for all scenes used in compositor,Sergey Sharybin
before this only active scene would be rendered with border. When do_render_fields_blur_3d() is finished, it'll modify render's display rect so it'll correspond bordered render result placed on black backgrund. Actual border is stored nowhere, which makes it only way to re-calculate disprect for all other renders used in compo based on source. Not so big deal actually. Also needed to modify Cycles a bit, because before this patch it used border settings from scene being rendered. Now made it so render data is passing to external engines. Using a property inside RenderEngine structure for this. Not best ever design for passing render data, but this would prevent API breakage. So now external engines could access engine.render to access active rendering settings. Reviewed by Brecht, thanks!