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
2015-10-153D View: support non-uniform scaled lampsCampbell Barton
D1378 by @youle Non-uniform scaled lamps now cast oval/rectangular shadows, viewport & BGE.
2015-08-24Fix T45737: Vertex colors show washed-outCampbell Barton
Blender-Internal and GLSL-nodes missed converting sRGB to linear color.
2015-07-28Fix T45590: Some more missing glsl functionsSergey Sharybin
Also SSS node was using wrong Normal input index.
2015-07-28Fix T45581: GPU failed to find function node_bsdf_refractionSergey Sharybin
This commit fixes shader tree compilation, but the shading result wouldn't be doing actual refraction because it's a bit involved change which isn't really considered a bug for now. There are more closures which are falling back to diffuse BSDF currently.
2015-07-20OpenSubdiv: Commit of OpenSubdiv integration into BlenderSergey Sharybin
This commit contains all the remained parts needed for initial integration of OpenSubdiv into Blender's subdivision surface code. Includes both GPU and CPU backends which works in the following way: - When SubSurf modifier is the last in the modifiers stack then GPU pipeline of OpenSubdiv is used, making viewport performance as fast as possible. This also requires graphscard with GLSL 1.5 support. If this requirement is not met, then no GPU pipeline is used at all. - If SubSurf is not a last modifier or if DerivesMesh is being evaluated for rendering then CPU limit evaluation API from OpenSubdiv is used. This only replaces the legacy evaluation code from CCGSubSurf_legacy, but keeps CCG structures exactly the same as they used to be for ages now. This integration is fully covered with ifdef and not enabled by default because there are several TODOs to be solved first: - Face varying data interpolation is not really cleanly implemented for GPU in OpenSubdiv 3.0. It is also not implemented for limit evaluation API. This basically means we'll have really hard time supporting UVs. - Limit evaluation only works with adaptivly subdivided meshes so far, which basically means all the points of CCG are pushed to the limit. This gives different result from old code. - There are some serious optimizations possible on the topology refiner creation, which would speed up initial OpenSubdiv mesh creation. - There are some hardcoded asumptions in the GPU and DerivedMesh areas which could be generalized. That's something where Antony and Campbell can help, making it so the code is structured in a way which is reusable by all planned viewport projects. - There are also some workarounds in the dependency graph to make sure OpenGL buffers are only freed from the main thread. Those who'll be wanting to make experiments with this code should grab dev branch (NOT master) from https://github.com/Nazg-Gul/OpenSubdiv/tree/dev There are some patches applied in there which we're working on on getting into upstream.
2015-07-20OpenSubdiv: Add OpenSubdiv files which are related on the CCGSubSurf and GPUSergey Sharybin
Those files are still not in use (SCons will tyr to compile new CCGSubSurf files but no code will be in use at all because those new files are fully wrapped by ifdef WITH_OPENSUBDIV check).
2015-07-14Particle Info node support for GLSL mode and the internal render.Alexander Romanov
With this patch "Particle Info" node from Cycles works in GLSL and BI Alexander (Blend4Web Team) Reviewers: psy-fi Note: moved particle info to object render instance instead of shadeinput during review - Antony. Differential Revision: https://developer.blender.org/D1313
2015-05-11Keep valgrind happy by using tight vec3 packing instead of lax vec4 withAntony Riakiotakis
an unused coordinate missing.
2015-04-09Fix T31546 fragment program gets created every frameAntony Riakiotakis
That was really crappy indeed. Now we have a separate API for low level OpenGL programs, plus a nice interface for GPU, also removes some GL calls from main code as a plus :) The source for the programs is also moved to nice external .glsl files (not sure which extension convention GPU assemply uses)
2015-03-30Attempt to fix T44056, dof high quality shader error in ATI cards.Antony Riakiotakis
ATI driver does not like declaration of gl_FragColor and glFragData in the same source file (even though only one of the two is ever referenced), just use one of the two.
2015-03-30Potential fix for T43987, ambient occlusion different between offscreenAntony Riakiotakis
and on screen rendering. Aaaaah, the beauty of driver implementations of OpenGL! Turns out the problem here is that drivers calculate df/dy differently in some cases (probably because OpenGL counts y reverse to how the window system does, so drivers can get confused). Fixed this for the ATI case based on info we have so far, there's also the Intel case which will be handled separately (missing info on Intel's renderer string etc). Unfortunately we can't really fix this for the general case so we'll have to haldle cases as they come in our tracker and by adding silly string comparisons in our GPU initialization module <sigh>.
2015-03-25Attempt to fix an error in compilation of geometry shaders in Intel 4000Antony Riakiotakis
cards (see T44072)
2015-03-24BGE: Fix T43592: World GLSLThomas Szepe
This patch will fix the world GLSL (mist, background, ambient) update for the BGE. Reviewers: moguri, brecht Reviewed By: moguri, brecht Subscribers: panzergame Differential Revision: https://developer.blender.org/D151
2015-03-20Fix high quality depth of field on the Mac.Antony Riakiotakis
Quite a few things wrong here: * Mac did not support EXT_draw_instanced, only ARB_draw_instanced * Draw instanced did not work unless data came from vertex buffer, which is second time we see weird things with vertex arrays in mac * There were a few stupid mistakes by me as well, such as binding to uniform locations for the wrong shaders (it's a wonder it ever worked :p)
2015-03-19Depth of field high quality:Antony Riakiotakis
A new checkbox "High quality" is provided in camera settings to enable this. This creates a depth of field that is much closer to the rendered result and even supports aperture blades in the effect, but it's more expensive too. There are optimizations to do here since the technique is very fill rate heavy. People, be careful, this -can- lock up your screen if depth of field blurring is too extreme. Technical details: This uses geometry shaders + instancing and is an adaptation of techniques gathered from http://bartwronski.com/2014/04/07/bokeh-depth-of-field-going-insane- http://advances.realtimerendering.com/s2011/SousaSchulzKazyan%20- %20in%20Real-Time%20Rendering%20Course).ppt TODOs: * Support dithering to minimize banding. * Optimize fill rate in geometry shader.
2015-03-18Simplify math in mix_linear glsl function. Thanks to valentin forAntony Riakiotakis
pointing out on irc.
2015-02-26SSAO: sampling coordinates go out of screen, reject the sampleAntony Riakiotakis
Previous behaviour would get occlusion at borders which could create over occlusion at edges of the screen.
2015-02-17Compositing works with X-Ray.Antony Riakiotakis
Basically, before drawing X-Rays, we now bind a second depth buffer. After drawing XRays, we do an extra resolve pass where we overwrite the non-XRay depth buffer in pixels where the depth is not maximum (which means background pixel, since depth is cleared before drawing X-Ray objects). This ensures both scene and X-Rays keep their depth values and are ready for compositing. Well, the odd effect due to depth discontinuities can be expected, and X-Rays are a bit more expensive (extra buffer + resolve pass) but at least X-Rays won't invalidate depth values anymore. Whee!
2015-02-16Fix T43689, viewport compositing does not respect alpha settings forAntony Riakiotakis
background. For SSAO supporting this is no problem, for DOF we would ideally do blurred alpha, but alpha channel in blurred buffers is occupied by coc field, so use original color alpha instead. It's not entirely correct but it's better than nothing.
2015-02-13Fix T43649: Geometry node breaks GLSL shadingSergey Sharybin
The issue was caused by the recently added attribute, which is to be added to the shader function even tho it's not supported.
2015-02-12Revert "Add missing trailing '}' in GLSL files"Antony Riakiotakis
This reverts commit ebd4a6e0dd3bdd511f3857dc9192df848f388200. Trailing '}' is added in C, also we add some extra code as needed.
2015-02-12Add missing trailing '}' in GLSL filesCampbell Barton
2015-02-12Viewport compositing - first codeAntony Riakiotakis
This commit introduces a few ready made effects for the 3D viewport and OpenGL rendering. Included effects are Depth of Field, accessible from camera view and screen space ambient occlusion. Those effects can be turned on and tweaked from the shading panel in the 3D viewport. Off screen rendering will use the settings of the current camera. WIP documentation can be found here: http://wiki.blender.org/index.php/User:Psy-Fi/Framebuffer_Post-processing
2015-02-04GLSL: On some cards '>' can't operate on 'float' and 'int'Sergey Sharybin
So make it so comparison doesn't imply type-cast.
2015-02-03Fix T43380 modulo operation in GLSL does not return negatives.Antony Riakiotakis
Make it so by checking operand sign.
2015-02-02Adjust GLSL drawing of window coordinates from camera view (use cameraAntony Riakiotakis
bounds instead of window bounds). Fixes remaining part of T43346
2015-01-27Fix T43250, lamp node did not use energy when used with nodes in blenderAntony Riakiotakis
internal. Similar to fix for T42074 we need to multiply with energy -after- texture application.
2015-01-17Fix T43273: vector math cross product inconsistentKévin Dietrich
GLSL missed the normalization step. Reviewers: psy-fi, sergey, mont29 Reviewed By: mont29, sergey Subscribers: mont29 Maniphest Tasks: T43273 Differential Revision: https://developer.blender.org/D1000
2014-12-31Modify shader for texture coordinates of objects to also match theAntony Riakiotakis
rendered result more closely (all three parameters should match now)
2014-12-31Corrections to world texture coordinates to match the rendered resultAntony Riakiotakis
more closely
2014-12-10Fix T42184: Normal not displayed correctly in Material ViewportSergey Sharybin
There was a differences between how Cycles and BI treats Normal shader: - Different normal direction assumption - Different policy about vector normalization Previous idea of trying to use single function and flip the output if needed becomes more tricky, so i've just added new GLSL function which corresponds to how Cycles deals with the Normal shader.
2014-11-26Do not use mipmapping on envmaps, can cause discontinuities onAntony Riakiotakis
environmental mapping when crossing the seam boundary. Also output our favourite magenda on missing texture.
2014-11-26World background working on cycle nodes.Antony Riakiotakis
This is added in the spirit of the general cycles GLSL system which is pretty much WIP still. This will only work on cycles at the moment but generating for blender internal is possible too of course though it will be done in a separate commit. This hasn't been tested with all and every node in cycles, but environment and regular textures with texture coordinates work. There is some difference between the way cycles treats some coordinates, which is in world space and the way GLSL treats them, which is in view space. We might want to explore and improve this further in the future. ...also </drumroll>
2014-11-21Fix leftover f postfix from C code.Antony Riakiotakis
2014-11-20Fix T42622, environment texture GLSL result different from rendering.Antony Riakiotakis
Also included mirror ball shader, which was missing.
2014-11-18GPU framebuffer API:Antony Riakiotakis
Allow binding a texture to a different texture attachment than the first. Also fix a number error in seperable gaussian blur shader.
2014-11-09GLSL: specular transparency support for Blender internal materialsDontsov Valentin
Reviewed By: brecht Differential Revision: https://developer.blender.org/D781
2014-11-07Fix assert failure in GPU codegenSergey Sharybin
Even though GLSL allows to have polymorphic functions our codegen is not aware of this at all. Let's rename the functions for now, but in the future would be handy to make codegen aware of the polymorphic functions.
2014-11-06Fix T42492, Shading error with fresnel weight node.Antony Riakiotakis
Orthographic case needs different handling.
2014-11-04Fix T42445: Clamp flag has no effect on result value in Math and MixRGB ↵Sergey Sharybin
shader nodes (Blender Render) Quite striaghtforward implementation, with the only weird thing that for some reason my video driver wasn't happy with calling the function "clamp" giving some weirdo shader compilation error messages. Called the GPU function clamp_val which can handle float and vec3.
2014-10-21Simplify GLSL in bump mapping, use gl_NormalMatrix where appropriate.Antony Riakiotakis
tangents are directions and should be transformed like directions.
2014-10-07Cleanup to previous commit, we can reuse set_rgb instead of new functionAntony Riakiotakis
2014-10-07Fix T42074, textured lamps influncing other layersAntony Riakiotakis
The solution is to do the multiplication with the energy in the shader after texture application. We might be able to avoid setting dyncol completely, but this needs better investigation. Some shader paths also look a bit redundant. Also, texture mapping is not supported very well for light lamps, might also need investigation.
2014-09-02A bit of a code cleanup in GLSL shaderSergey Sharybin
2014-09-02Support window coordinates in cycles nodes.Antony Riakiotakis
2014-09-02Fix second part of T41068 -- reflection mapping was wrongSergey Sharybin
Few things: - reflect() takes arguments in this order: N, I, it was swapped in the previous code for some reason. - Normal and view vectors are to be normalized. For the view vector we're now using shade_view() in order to deal with the ortho camera. However, Cycles does not support ortho camera for reflection, but this is easy to do in a separate commit. - Reflection vector is to be in the world space. Kudos to Antony Riakiotakis for figuring this out!
2014-08-27Disable clipping on ATI cards not supporting the clipping workaround toAntony Riakiotakis
avoid software fallback.
2014-08-22Fix T41068: 3D viewport shading - Material or Window vs. RenderedSergey Sharybin
Checked with Brecht, Cycles indeed expects generated to be in 0..1 space instead of -1..1 as it is in BI.
2014-08-18Fix T41456: soft light texture blend mode zero effectAntony Riakiotakis
Soft light and Linear light blend modes weren't implemented in glsl Reviewers: psy-fi Maniphest Tasks: T41456 Differential Revision: https://developer.blender.org/D744
2014-07-19Fix T40658: UV map node not working for GLSL materials.Brecht Van Lommel