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-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
2018-02-01Eevee: Add mist pass support.Clément Foucault
Eevee: Render: Fix crash when not enabling mist pass.
2018-01-31Eevee: Render: Add Normal pass output.Clément Foucault
2018-01-30Eevee: Initial Final Render support.Clément Foucault
TAA / multiple samples is not working at the moment.
2018-01-29Fix T53598: OpenGL Render Animation does not update shadowsSergey Sharybin
General idea of the fix: skip the whole draw manager callback madness which was used to tag object's engine specific data as dirty. Use generic recalc flag in ObjectEngineData structure instead. This gives us the following benefits; - Sovles mentioned bug report. - Avoids whole interface lookup for opened viewports for EVERY changed ID. - Fixes missing updates when viewport is temporarily invisible. Reviewers: dfelinto, fclem Differential Revision: https://developer.blender.org/D3028
2018-01-22Eevee: Put all constant uniforms in a global UBO.Clément Foucault
This is an optimization / cleanup commit. The use of a global ubo remove lots of uniform lookups and only transfert data when needed. Lots of renaming for more consistent codestyle.
2018-01-17Eevee: Perf: Update noises (in utilTex) via GPU drawing.Clément Foucault
This leads to a ~3ms improvement of CPU time during drawing. This prevent the rendering from being stalled waiting for the texture data to be transfered.
2018-01-16Eevee: AO: Removes samples and denoise options.Clément Foucault
This comes with a lot of code simplification that leads to a small performance improvement.
2018-01-16Eevee: SSR: Remove ray count and use integer texture for hit coord.Clément Foucault
Using GL_RG16I texture for the hit coordinates increase tremendously the precision of the hit. The sign of the integer is used to 2 flags (has_hit and is_planar). We do not store the depth and retrieve it from the depth buffer (increasing bandwith by +8bit/px). The PDF is stored into another GL_R16F texture. We remove the raycount for simplicity and to reduce compilation time (less branching in refraction shader).
2018-01-16Eevee: Fix noise correlation in the blue noise update.Clément Foucault
2018-01-11Eevee: Lamps: Optimize lamps CPU/Memory usage.Clément Foucault
Tests on my system with ~1200 objects with 128 shadow casting lamps (current max) show a significant perf improvment (cache timing : 22ms -> 9ms) With a baseline with no shadow casting light at 6ms this give a reduction of the overhead from 16ms to 3ms. This remove pretty much all allocations during the cache phase. Leading to a big improvement for scene with a large number of lights & shadowcasters. The lamps storage has been replace by a union to remove the need to free/allocate everyframe (also reducing memory fragmentation). We replaced the linked list system used to track shadow casters by a huge bitflag. We gather the lights shadows bounds as well as the shadow casters AABB during the cache populate phase and put them in big arrays cache friendly. Then in the cache finish phase, it's easier to iterate over the lamps shadow SphereBounds and test for intersection. We use a double buffer system for the shadow casters arrays to detect deleted shadow casters. Unfortunatly, it seems that deleting an object trigger an update for all other objects (thus tagging most shadow casting lamps to update), defeating the purpose of this tracking. This needs further investigation.
2018-01-09Eevee: Fix AO in planar reflections.Clément Foucault
2018-01-09Eevee: Support for dupli lamps without shadows.Clément Foucault
2018-01-05Eevee: Make Ogl render sampling more correctClément Foucault
Result is less noisy ogl renders. What this patch does: - the draw loops gets accumulated into the output buffer. - disable TXAA persmat jittering in ogl render since ogl render already does that. - make noise texture update correct accross all draw loops. Previously it was reset between each FSAA samples.