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-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
2014-07-11Another attempt for T40981, clipping border does not work with GLSL onAntony Riakiotakis
ATIs. This is actually a test to see if this can be enabled on ATI cards. According to various sources, newer ATI cards supporting GLSL 3.0 support gl_ClippingDistance in shaders, which is the forward compatible way to do custom clipping. This fix will bind 6 additional varying variables on ATIs, which may lead to some shaders not compiling due to limiting out of those variables, or to performance degradation. Also I do not have an ATI handy to test. Having those in mind, this commit may well be reverted later. Clipping planes are usually 4 (6 is for cube clipping), but making shaders depend on viewport state is really bad, and would lead to recompilation, so I took the worst case here to avoid that. Hopefully driver does some optimization there.
2014-07-09Attempt to mitigate issue T40981Antony Riakiotakis
Clipping border causes a software fallback on ATIs. We have disabled it in that case but from minor digging on the net seems like Intels support this, so enable.
2014-06-20Fix 2 GLSL errors, with Cycles Hair BSDF.Thomas Dinges
2014-06-14Implement GLSL code for XYZ nodes.Thomas Dinges
2014-06-04Fix T40478: wrong cycles fresnel with GLSL materials in the viewport.Brecht Van Lommel
2014-05-30Fix T40078: GLSL Lamp with OnlyShadow makes weird colors in object.IRIE Shinsuke
To prevent only shadow lamps from producing negative colors, shr->diff and shr->spec should've been clamped to positive values after lamp loop.
2014-05-07Nodes: add absolute value operation to all math nodesMatt Heimlich
Reviewed By: dingto, brecht Differential Revision: https://developer.blender.org/D507