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
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-08Cleanup: use DRW_object_is_* for object checksCampbell Barton
Also use const qualifier for object's.
2018-09-25Eevee: Don't render meshes in hidden wire modeClément Foucault
2018-09-19Merge branch 'master' into blender2.8Brecht Van Lommel
2018-09-10Eevee: Depth of Feild: Fix ringing issue of background objectsClément Foucault
There was an issue caused by Antialiasing being done after DoF. Move TAA after DOF and Motion Blur. Also certain pixel with lower CoC would be spread all over the background because the neighbooring pixel have higher CoC. So we need to apply some bilateral filtering when downsampling. Currently we limit the influence of neighbor pixels with a CoC inside the range [MaxCoC-2, MaxCoC].
2018-08-17GPUFramebuffer: Fix wrong stencil clearingClément Foucault
2018-07-30Viewport: use Filmic without scene exposure/gamma/curves for workbench.Brecht Van Lommel
This ignores the scene color managment view settings for solid mode and lookdev when not using scene lights and world. The scene settings are intended for tweaking renders and should not affect studio lighting and matcaps. There may be cases where a simple sRGB transform is better than Filmic and we could add configuration for this. Not sure if it really matters and it may be better if we just assume matcaps and studiolights are all created for one view transform. Differential Revision: https://developer.blender.org/D3569
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-07-10DrawData: Change drawdata to a generic struct shared accross ID typesClément Foucault
This makes tagging much more generic and make the world updates more in line with the new tagging system (Depsgraph).
2018-07-08Cleanup: rename 'ct' to 'len' for size varsCampbell Barton
2018-06-25Cleanup: rename object base flags to be more clear.Brecht Van Lommel
2018-06-22PaintMode: Full Shading Boolean => SliderJeroen Bakker
There was a Full Shading bool that was shared across the WP, VP and TP modes. This commit makes some changes: - Replace the bool with a factor. This gives the user more control on the visibility. - Also draw it on top of the Material and Rendered mode so the user can control what he needs. In certain cases you don't want to see the final rendered material, but the actual texture. - Removed the skipping of objects when in paint modes. As now the paint modes are blended.
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-02DRW: Make the Procedural hair update part of the drawmanager.Clément Foucault
Instead of relying on the engine integration which is redundant.
2018-06-02Eevee: Hair: Make hairs visible even if the show emitter option is disabled.Clément Foucault
2018-05-30Cleanup: whitespaceCampbell Barton
2018-05-30Workbench: Specular HighlightsJeroen Bakker
Added specular highlights for: - Solid studio shading - Texture studio shading
2018-05-30Fix unnecessary Cycles render updates when selecting objects.Brecht Van Lommel
2018-05-30Eevee: Add support for new Hair geometry system.Clément Foucault
This now can shade actual poly strips that mimics cylinders. This makes hair coverage exact compared to the line method and result in smoother fading hair. This does make the sampling a bit more exact but needs more samples to converge properly.
2018-05-29EEVEE: LookDev use_scene_light draw optionJeroen Bakker
Scene lights are rendered when - v3d is not available - or shading type is other then OB_MATERIAL - or shading type is OB_MATERIAL and use_scene_light is true
2018-05-28EEvEE: LookDevJeroen Bakker
2018-05-17Remove ViewLayer settings - cleanup 1/2Dalai Felinto
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-04Eevee: Shadows: Separate Cube and Cascade shadow maps into 2 texture array.Clément Foucault
This mean we can now have different shadow resolutions for both. However each shadow type keep the same size accross all lamps because of future "real" Cube Shadowmaps limitation and to save texture sampler slots. That said the cascade shadow resolution could (in the future) still be changed to be adjustable per sun lamp.
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-21Cleanup: styleCampbell Barton
2018-04-20Eevee: TAA Reprojection: Initial implementationClément Foucault
This "improve" the viewport experience by reducing the noise from random sampling effects (SSAO, Contact Shadows, SSR) when moving the viewport or during playback. This does not do Anti Aliasing because this would conflict with the outline pass. We could enable AA jittering in "only render" mode though. There are many things to improve but this is a solid basis to build upon.
2018-04-20Eevee: TAA Reprojection: Add layer property.Clément Foucault
2018-04-20Eevee: Add Velocity pass.Clément Foucault
This pass create a velocity buffer which is basically a 2D motion vector texture. This is not yet used for rendering but will be usefull for motion blur and temporal reprojection.
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-14GPUViewport: Fix offscreen multisample syncing.Clément Foucault
2018-03-14Eevee: Fix sequencer rendering.Clément Foucault
Sequencer rendering can use multisample render targets. Be sure to sync thoses after rendering. Also disable the sample loop when not needed. Do note that currently the color correction is broken with the sequencer.
2018-03-13Eevee: Fix bad Outlines after probe updates.Clément Foucault
This was because the default matrices were not setup back after resetting the current TAA sample.
2018-03-10Eevee: Add new clipping UBO.Clément Foucault
This fixes problems with the planar reflections.
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-27Eevee preview materialsDalai Felinto
Now that Eevee has support for offline rendering (F12) we can use it for the Material previews. Note: This makes the duplicated UI issue one panel worse. That happens when Cycles if your scene engine, and Eevee is your workspace engine.
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-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-02Eevee: Render: Fix volume sampling.Clément Foucault
2018-02-01Eevee: Render: Make render passes appear in compositor.Clément Foucault