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-05-29EEVEE: LookDev fade out background optionJeroen Bakker
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-29EEVEE: LookDev overlays enablingJeroen Bakker
The mirror ball and diffuse ball are only rendered when overlays are turned on and the lookdev overlay is turned on.
2018-05-28Rename EEVEE visibility group > collectionDalai Felinto
I think we should rename the DNA as well, and break the 0.01 files using this feature. But I will leave this decision to Clement.
2018-05-28EEVEE: lookdev default materialsJeroen Bakker
2018-05-28EEVEE: LookDev storage list wrongly usedJeroen Bakker
2018-05-28EEvEE: LookDevJeroen Bakker
2018-05-26Cleanup: whitespace, long lines, duplicate includeCampbell Barton
2018-05-25Fix eevee render settings not workingDalai Felinto
This was no longer working since 15c2801aac33.
2018-05-24Cycles/Eevee: Implement disk and ellipse shapes for area lampsLukas Stockner
The implementation is pretty straightforward. In Cycles, sampling the shapes is currently done w.r.t. area instead of solid angle. There is a paper on solid angle sampling for disks [1], but the described algorithm is based on simply sampling the enclosing square and rejecting samples outside of the disk, which is not exactly great for Cycles' RNG (we'd need to setup a LCG for the repeated sampling) and for GPU divergence. Even worse, the algorithm is only defined for disks. For ellipses, the basic idea still works, but a way to analytically calculate the solid angle is required. This is technically possible [2], but the calculation is extremely complex and still requires a lookup table for the Heuman Lambda function. Therefore, I've decided to not implement that for now, we could still look into it later on. In Eevee, the code uses the existing ltc_evaluate_disk to implement the lighting calculations. [1]: "Solid Angle Sampling of Disk and Cylinder Lights" [2]: "Analytical solution for the solid angle subtended at any point by an ellipse via a point source radiation vector potential" Reviewers: sergey, brecht, fclem Differential Revision: https://developer.blender.org/D3171
2018-05-22Cleanup: namingCampbell Barton
Use 'ob' prefix for objects, 'eval' suffix for evaluated data.
2018-05-20DRW: Rename some DRW_STATE_* for more consistency.Clément Foucault
2018-05-18Collections and groups unificationBrecht Van Lommel
OVERVIEW * In 2.7 terminology, all layers and groups are now collection datablocks. * These collections are nestable, linkable, instanceable, overrideable, .. which opens up new ways to set up scenes and link + override data. * Viewport/render visibility and selectability are now a part of the collection and shared across all view layers and linkable. * View layers define which subset of the scene collection hierarchy is excluded for each. For many workflows one view layer can be used, these are more of an advanced feature now. OUTLINER * The outliner now has a "View Layer" display mode instead of "Collections", which can display the collections and/or objects in the view layer. * In this display mode, collections can be excluded with the right click menu. These will then be greyed out and their objects will be excluded. * To view collections not linked to any scene, the "Blender File" display mode can be used, with the new filtering option to just see Colleciton datablocks. * The outliner right click menus for collections and objects were reorganized. * Drag and drop still needs to be improved. Like before, dragging the icon or text gives different results, we'll unify this later. LINKING AND OVERRIDES * Collections can now be linked into the scene without creating an instance, with the link/append operator or from the collections view in the outliner. * Collections can get static overrides with the right click menu in the outliner, but this is rather unreliable and not clearly communicated at the moment. * We still need to improve the make override operator to turn collection instances into collections with overrides directly in the scene. PERFORMANCE * We tried to make performance not worse than before and improve it in some cases. The main thing that's still a bit slower is multiple scenes, we have to change the layer syncing to only updated affected scenes. * Collections keep a list of their parent collections for faster incremental updates in syncing and caching. * View layer bases are now in a object -> base hash to avoid quadratic time lookups internally and in API functions like visible_get(). VERSIONING * Compatibility with 2.7 files should be improved due to the new visibility controls. Of course users may not want to set up their scenes differently now to avoid having separate layers and groups. * Compatibility with 2.8 is mostly there, and was tested on Eevee demo and Hero files. There's a few things which are know to be not quite compatible, like nested layer collections inside groups. * The versioning code for 2.8 files is quite complicated, and isolated behind #ifdef so it can be removed at the end of the release cycle. KNOWN ISSUES * The G-key group operators in the 3D viewport were left mostly as is, they need to be modified still to fit better. * Same for the groups panel in the object properties. This needs to be updated still, or perhaps replaced by something better. * Collections must all have a unique name. Less restrictive namespacing is to be done later, we'll have to see how important this is as all objects within the collections must also have a unique name anyway. * Full scene copy and delete scene are exactly doing the right thing yet. Differential Revision: https://developer.blender.org/D3383 https://code.blender.org/2018/05/collections-and-groups/
2018-05-17EEVEE: Fix Motion Blur for copy-on-writeDalai Felinto
Get current frame from depsgraph, not scene.
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-16Eevee: Change normal buffer texture format for more precision.Clément Foucault
This means more accurate SSR with less faceted artifacts.
2018-05-16Shader Node Editor: Add Closure to RGB convertion node.Clément Foucault
Patch D3205 by Kanzaki Wataru Only implemented in Eevee for now. Collapse a closure to RGBA so we can do NPR stuff on the resulting color. Use an emission shader to convert the color back to a closure. Doing this will break PBR and will kill any SSR and SSS effects the shader the shader rely on. That said screen space refraction and ambient occlusion are supported due to the way they are implemented.
2018-05-15Draw manager: Pass object to hair batch cacheSergey Sharybin
Currently unused, but is required for an upcoming work.
2018-05-15Particle edit: Make visibility check to be per-particle systemSergey Sharybin
This way we can see other particle systems while combing another one.
2018-05-14Eevee: Hair: Disable SSR for hairs.Clément Foucault
SSR does not work with hair strands. Basically, the rays are too much random to ever converge properly and just result in a soup of self inter reflections. So forcing it to not produce any SSR. Could potentially save some bandwidth by not rendering hair to the SSR buffers.
2018-05-14Eevee: Hair: Fix normal distribution of previous commit.Clément Foucault
Now it starts to look correct!
2018-05-13Eevee: Hair: Remove old hack and replace by new hack.Clément Foucault
This is a hack to properly shade wire hairs. Use stochastic sampling and let TAA solve the noise. At least it's way more correct than the previous hack.
2018-05-13Eevee: Fix Dof shader compilation.Clément Foucault
2018-05-13Eevee: Depht Of Field: Merge Scatter passes together.Clément Foucault
This means only one texture to draw to and only one sprite per pixel. The texture is twice as large and near and far planes are side by side. The sprite choose the biggest coc to expand to and is redirected to the area (layer) it belongs to. The fragment shader discard every pixel that does not belong to the correct layer.
2018-05-13Eevee: Depth of field: Code style fixes.Clément Foucault
2018-05-13Eevee: Depth of field: Smooth out bokeh shape.Clément Foucault
Due to the scatter operation being done at half resolution, undersampling is visible at bokeh shape edges (because of the hard cut). This commit adds a smoothing function to minimize the problem. Also optimize the bokeh shape parametrization by precomputing a lot of constants.
2018-05-13Eevee: Depth of field: Change final blending.Clément Foucault
This new blending allows background to fill the gaps left by forground objects. However this has a drawback, background objects that should be partially occluded in this case can be seen through the blurred objects. This does not fix the problem of blurred foreground over sharp background. Also cleanup code to be simpler and remove unused geometry shader.
2018-05-11Draw manager: Add utility function to check whether particle systems are to ↵Sergey Sharybin
be drawn
2018-05-11Cleanup: use 'uint' in draw managerCampbell Barton
2018-05-09Eevee: Cleanup, use NULL instead of static matrixSergey Sharybin
Those are the same thing now. So no need to keep initializing matrix over and over.
2018-05-09Correct previous commitSergey Sharybin
2018-05-09Eevee: Cleanup, reduce indentation levelSergey Sharybin
2018-05-08Eevee: Fix bug with transparent object + volume rendering.Clément Foucault
This was because the main_fb was not bound back to be updated. Following draw calls were drawn without depth buffer.
2018-05-07Eevee: Hair: Fix wrong color when shader is compiling.Clément Foucault
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-04Eevee: Shadows: Don't allocate more CSM layer than we need.Clément Foucault
2018-05-04Eevee: Fix Cascaded shadow map calculation.Clément Foucault
The first one was done correctly but the second was wrong due to the matrix being overwritten.
2018-05-04Eevee: Shadows: Compute Octahedron size from CubeMap size.Clément Foucault
This was the otherway around before. But since we can have a different size* for cube texture now, we can compute the correct-ish texture size. This will give us on average the same texture appearance when we will add support for real cubemap shadows.
2018-05-04Eevee: Cap Shadow resolution to 4096px^2.Clément Foucault
As much as I want to give freedom to the user, 1.5G of vram for a single shadow is a big of a stability issue. So limiting to 4096 for now, we may remove this limit in the future.
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-04Eevee: Simplify shadow test code with macros.Clément Foucault
2018-05-03Eevee: Shadows: Perf: Do not update shadows that are not inside the view.Clément Foucault
2018-05-02Eevee: Add Lamp Specular multiplier.Clément Foucault
It's usefull in some scenario to tweak the specular intensity of a light without modifying the diffuse contribution. Cycles allows it via lamps material which we currently not support in Eevee. This is a good workaround for now.
2018-05-02Eevee: Fix vertex color being in srgb space.Clément Foucault
Now they are properly converted to Linear space before interpolation. Since the only way to get vertex color in eevee and cycles is via the attribute node with the CD_AUTO_FROM_NAME flag, we have to know at binding time which type of buffer will be connected to this auto input. We store this information inside the batch cache (together with the according uniform name) and pass it as uniform to the shader which does conversion if needed. The same shader can then be reused to draw another mesh with different auto layers configuration.
2018-05-01Eevee: Don't enable temporal AA when using 1 sample only.Clément Foucault
This was producing infinite rendering but wasn't noticeable.
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-05-01Eevee: Fix crash when using visibility groups with dupli objects.Clément Foucault
2018-05-01Eevee: Contact Shadows: Add slope based bias & fix brightening.Clément Foucault
2018-05-01Eevee: Fix raytracing.Clément Foucault
- Fix the confusing naming in raycast() - Fix raytrace acne caused by the rays not being correctly centered on the texel.