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
2019-01-26Cleanup: draw manager headersCampbell Barton
2019-01-24Cleanup: add missing braces to draw managerCampbell Barton
2019-01-23Cleanup: add BEGIN/END to GPL headersCampbell Barton
2019-01-04Cleanup: indentation (right shift)Campbell Barton
2018-12-21Fix inconsistent/broken Cycles object visibility for instances.Brecht Van Lommel
Object visibility is now handled by the depsgraph iterator, but this API was incomplete as it made no distinction for visibility of the object itself, particles and generated instances. The depsgraph iterator API now includes information about which part of the object is visible, and this is used by Cycles to replace the old custom logic. Cycles and EEVEE visibility should now be consistent, which unfortunately does means some subtle compatibility breakage for both. Fixes T58956, T58202, T59284. Differential Revision: https://developer.blender.org/D4109
2018-11-08Eevee: Add partial support for the Light Path NodeClément Foucault
This makes it possible to tweak indirect lighting in the shader. Only a subset of the outputs is supported and the ray depth has not exactly the same meaning: Is Camera : Supported. Is Shadow : Supported. Is Diffuse : Supported. Is Glossy : Supported. Is Singular : Not supported. Same as Is Glossy. Is Reflection : Not supported. Same as Is Glossy. Is Transmission : Not supported. Same as Is Glossy. Ray Length : Not supported. Defaults to 1.0. Ray Depth : Indicate the current bounce when baking the light cache. Diffuse Depth : Same as Ray Depth but only when baking diffuse light. Glossy Depth : Same as Ray Depth but only when baking specular light. Transparent Depth : Not supported. Defaults to 0. Transmission Depth : Not supported. Same as Glossy Depth. Caveat: Is Glossy does not work with Screen Space Reflections but does work with reflection planes (when used with SSR or not). We have to render the world twice for that to work.
2018-10-31Eevee: Implement Overscan optionClément Foucault
This option make the internal render size larger than the output size in order to minimize screenspace effects disapearing at the render edges. The overscan size added around the render is the maximum dimension multiplied by the overscan percentage.
2018-10-31GPU: Add glFlush and glFinish wrapperClément Foucault
2018-10-28Eevee: Implement jittered soft shadowmapClément Foucault
This new option is located in the shadows options in the render settings. This approach is simple and just randomize the shadow map position (not the lamp itself) and just let the temporal supersampling do the average of all the shadowing. The downside is that is needs quite a large number of samples to give smooth results and individual sample position can remain visible. Enabling this option will make the viewport refresh all shadow maps every redraw so it has a serious performance impact. This approach is not physicaly based at all and will not match cycles. ---- The sampling for point lamps (spheres) is not
2018-10-23Eevee: Fix crash when bakingClément Foucault
Was caused by the normal pass being enbaled in the renderlayer settings. Fix T57344
2018-10-11Eevee: Fix blank output if scene complexity is highClément Foucault
Encountered on Nvidia + Linux, it seems that doing everything all at once can make the driver give up the whole command list and return nothing as the output of the render.
2018-10-08EEVEE: Fix unpremultiplied alpha in render resultClément Foucault
Fix T57102
2018-10-08Cleanup: use DRW_object_is_* for object checksCampbell Barton
Also use const qualifier for object's.
2018-08-17GPUFramebuffer: Fix wrong stencil clearingClément Foucault
2018-07-10Eevee: LightCache: Initial ImplementationClément Foucault
This separate probe rendering from viewport rendering, making possible to run the baking in another thread (non blocking and faster). The baked lighting is saved in the blend file. Nothing needs to be recomputed on load. There is a few missing bits / bugs: - Cache cannot be saved to disk as a separate file, it is saved in the DNA for now making file larger and memory usage higher. - Auto update only cubemaps does update the grids (bug). - Probes cannot be updated individually (considered as dynamic). - Light Cache cannot be (re)generated during render.
2018-06-25Cleanup: rename object base flags to be more clear.Brecht Van Lommel
2018-06-13DRW: Fix crash caused by hair transform feedbackClément Foucault
Seem to be cause by the lack of proper FBO bound.
2018-06-11MetaBall support for Workbench + EEVEEJeroen Bakker
Note: Metaballs only support the first material slot. Splicing it per material would create empty Batches. In order to overcome this we set the batch for other materials to NULL. We added extra checks in EEVEE and Workbench to not draw when the geom is NULL.
2018-06-07Eevee: Fix hair not rendering.Clément Foucault
2018-05-22Cleanup: namingCampbell Barton
Use 'ob' prefix for objects, 'eval' suffix for evaluated data.
2018-05-17Move EEVEE properties into sceneDalai Felinto
We handle doversion for the scene properties, but not for the view layer overrides. Overrides will be implemented in a different way via dynamic overrides. For now this data is completely lost.
2018-05-11Cleanup: use 'uint' in draw managerCampbell Barton
2018-05-053D Viewport: move overlay settings from collections to 3D viewport.Brecht Van Lommel
For some we may add per object overrides, but for most we plan to keep them strictly per viewport settings. Display settings from the mesh still need to be moved here, only collections were done to remove that code.
2018-05-01Eevee: Shadows: Only tag as shadow caster if a shadow is cast.Clément Foucault
This leads to great improvement if the scene have moving objects without shadows (shadows disabled in the material panel).
2018-04-30DRW: Remove DRWTextureFormat in favor or GPUTextureFormat.Clément Foucault
Because: - Less redundancy. - Better suffixes. Also a few modification to GPU_texture_create_* to simplify the API: - make the format explicit to the texture creation process. - remove the component count as it's specified in the GPUTextureFormat.
2018-04-19Cleanup: styleCampbell Barton
2018-04-17Eevee: Render: Fix assert with framebuffer not being bound before read.Clément Foucault
2018-03-25GPUFramebuffer: Refactor (Part 2)Clément Foucault
This refactor modernise the use of framebuffers. It also touches a lot of files so breaking down changes we have: - GPUTexture: Allow textures to be attached to more than one GPUFrameBuffer. This allows to create and configure more FBO without the need to attach and detach texture at drawing time. - GPUFrameBuffer: The wrapper starts to mimic opengl a bit closer. This allows to configure the framebuffer inside a context other than the one that will be rendering the framebuffer. We do the actual configuration when binding the FBO. We also Keep track of config validity and save drawbuffers state in the FBO. We remove the different bind/unbind functions. These make little sense now that we have separate contexts. - DRWFrameBuffer: We replace DRW_framebuffer functions by GPU_framebuffer ones to avoid another layer of abstraction. We move the DRW convenience functions to GPUFramebuffer instead and even add new ones. The MACRO GPU_framebuffer_ensure_config is pretty much all you need to create and config a GPUFramebuffer. - DRWTexture: Due to the removal of DRWFrameBuffer, we needed to create functions to create textures for thoses framebuffers. Pool textures are now using default texture parameters for the texture type asked. - DRWManager: Make sure no framebuffer object is bound when doing cache filling. - GPUViewport: Add new color_only_fb and depth_only_fb along with FB API usage update. This let draw engines render to color/depth only target and without the need to attach/detach textures. - WM_window: Assert when a framebuffer is bound when changing context. This balance the fact we are not track ogl context inside GPUFramebuffer. - Eevee, Clay, Mode engines: Update to new API. This comes with a lot of code simplification. This also come with some cleanups in some engine codes.
2018-03-21Eevee: Fix missing camera animation with CoWSergey Sharybin
2018-03-13Eevee: Render: Add Info messages.Clément Foucault
2018-03-13Eevee: Render: Allow cancel during probe update.Clément Foucault
2018-03-10Eevee: Add new clipping UBO.Clément Foucault
This fixes problems with the planar reflections.
2018-03-10Eevee: Render: Add cancel supportClément Foucault
You can now cancel your renders that are too long. This will still output the current status of the render. For example if you cancel at 50% rendering progress, you will have a render result with only half the render samples.
2018-03-08Eevee: Render: Add progress.Clément Foucault
2018-03-08Eevee: Save and reset matrixstate for probe rendering.Clément Foucault
2018-03-06Eevee: Update to support shader deferred compilation.Clément Foucault
World probe is tagged to refresh when it it's shader is updated. Probes are recomputed only after all meshes shaders have been compiled.
2018-03-02Eevee: Cleanup & fix Warnings.Clément Foucault
2018-03-02DRW: Refactor simple instancing.Clément Foucault
Instead of creating a new instancing shading group without attrib, we now have instancing calls. The benefits is that they can be culled. They can be used in conjuction with the standard and generate calls but shader must support it (which is generally not the case). We store a pointer to the actual count so that the number can be tweaked between redraw. This will makes multi layer rendering more efficient.
2018-02-26Eevee: Fix prev_persmat being used by multiple viewport.Clément Foucault
2018-02-23Fix border rendering for eevee + stop passing render result aroundDalai Felinto
Technically the original issue is that xof/yof in render result is calculated for drawing border render. So a simpler patch could be: ``` - rr->xof = re->disprect.xmin; + rr->xof = re->disprect.xmin + BLI_rcti_cent_x(&re->disprect) - (re->winx / 2); ``` However everywhere in the code we are getting border directly from re->disprect which we may as well do here too. Besides I'm taking this as a chance to get rid of RenderResult in the internal loop of eevee, to help prepare the code to the upcoming rendering pipeline changes.
2018-02-20Proper implementation of compositor support for Draw ManagerDalai Felinto
We need to move the render result logic outside the render engine code. It makes no sense for Eevee/Clay/... to have to re-implement the render resilt creation logic. Beside the original implementation really got it wrong, by ignoring the different render layers needed for the final render. Finally, there is no need to re-create the logic for views. So this was also fixed. Note 1: This will break still if the depsgraph of the needed view layers is not updated / created. We need to address this separately. For now if users want to test this, just show each view layer in the viewport at least once. Note 2: We are still getting depsgraph from scene and creating if needed. `BKE_scene_get_depsgraph(scene, view_layer, true);` according to Sergey we need to move the render depsgraph for the Render struct instead. I will do it separately as well.
2018-02-15Cleanup: style, warningCampbell Barton
2018-02-14DRW: Refactor: Less feature duplication with Gwn.Clément Foucault
This removes the need of custom attribs for instancing. Instancing works fully with dynamic batches & Gwn_VertFormat now. This is in prevision of the VAO manager patch.
2018-02-05Eevee: Render: Reset winmat before jittering it again.Clément Foucault
2018-02-03Eevee: Render: Fix hashed-alpha testing.Clément Foucault
2018-02-03Eevee: Render: Make sure all probes are refreshed before rendering.Clément Foucault
2018-02-03Eevee: Perf: Put transparent sorting before the render loop.Clément Foucault
2018-02-03Eevee: Render: Add ambient occlusion pass support.Clément Foucault
2018-02-02Eevee: Render: Fix volume sampling.Clément Foucault
2018-02-02Eevee: Render: Make sure background does not write to ssr data.Clément Foucault