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-29Cleanup: replace attrib w/ attrCampbell Barton
Also rename GPUVertexAttribs to GPUVertAttrLayers, avoids confusion with GPUVertAttr which isn't closely related.
2019-01-26Cleanup: blank lines over doxy headersCampbell Barton
2019-01-26Cleanup: draw manager headersCampbell Barton
2019-01-24Cleanup: add missing braces to draw managerCampbell Barton
2019-01-23Cleanup: use eGPU prefix for GPU enum typesCampbell Barton
2019-01-23Cleanup: add BEGIN/END to GPL headersCampbell Barton
2019-01-22Cleanp: use single global for draw managerCampbell Barton
Add 'G_draw' for all draw manager globals, avoids adding extern to each file. Connection between `ts` and `globals_ubo` wasn't obvious, now called `G_draw.block` & `G_draw.block_ubo`.
2019-01-21Cleanup: rename terms count/num to lenCampbell Barton
2019-01-06Cleanup: add trailing commas to structsCampbell Barton
Needed for clang formatting to workaround bug/limit, see: T53211
2018-11-22Eevee: Reflection Plane: Small UI fix and invert facing fadingClément Foucault
2018-11-16Fix crash when rendering a scene first and then goes to eevee preview modes ↵mano-wii
and cleanup The crash only occurs with Intel 3rd generation GPUs. It occurs because the program needs to be used at least once in the opengl context in which it is created.
2018-11-15Eevee: Add Filter Quality settingClément Foucault
This setting can be tweaked to improve glossy reflection cubemaps. It increases the sample count for each roughness level. This settings affect the lookdev mode quality as well.
2018-11-15Eevee: Add Glossy Reflection clampingClément Foucault
This enables reducing the noise comming from very bright light sources (like a sun) that can be found in distant HDRIs. The lost energy may be replaced manually by a sunlight that compensate the this loss. This clamping only concerns Reflection Cubmaps and is done on all on all of them. Setting to 0.0 disables it (default).
2018-11-15Eevee: Add irradiance smoothingClément Foucault
This is a parameter that will make the interpolation between irradiance cells of a same Irradiance Volume smoother, reducing the weight of the light leaking correction factors. It is usefull in some cases to avoid harsh lighting transition that can happen when a sample point it near a surface.
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-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-19Eevee: LightProbes: Fix negative paddingClément Foucault
2018-09-19Merge branch 'master' into blender2.8Brecht Van Lommel
2018-09-10Fix T56627: Crash because of incomplete LightCacheClément Foucault
2018-08-02Eevee: Don't show probe display when not using scene lightingClément Foucault
The display is broken otherwise.
2018-08-02Eevee: Fix missing UBO bind.Clément Foucault
2018-08-02Eevee: Fix missing UBO binds.Clément Foucault
Some of them are unecessary and should be removed from the shader instead. But for now we need a quick fix for the crashes happening on some platforms. See T55475.
2018-07-18GWN: Port to GPU module: Replace GWN prefix by GPUClément Foucault
2018-07-12Cleanup: style, duplicate headerCampbell Barton
2018-07-11Eevee: LightCache: Fix autobake starting when it should notClé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-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-07-04Eevee: Fix incorrect padding in octahedral mappingClément Foucault
This fixes T54439
2018-07-03Cleanup: typosCampbell Barton
2018-05-29EEVEE: LookDev fadeout to the world horizon colorJeroen Bakker
2018-05-28EEvEE: LookDevJeroen Bakker
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-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-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-24EEVEE: Group Timing stats for probe rendering.Clément Foucault
2018-04-24EEVEE: LightProbe: Implement Visibility Group.Clément Foucault
Works on every probe type. The function to see is EEVEE_lightprobes_obj_visibility_cb. Set pinfo->vis_data.cached to true makes the computation faster for multiple views using the same group. We could even sort the probes by group for that mater to speed things up even more (only applies to dynamic probes like the planar reflections because other probes are only rendered one at a time).
2018-03-25DRW: Rename DRW_shgroup_uniform_buffer into DRW_shgroup_uniform_texture_refClément Foucault
This is in order to not mix it with the incomming buffer textures.
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-13Eevee: Fix temporal sampling not resetting.Clément Foucault
World Probe update was not resetting the TAA. This also reset the volume sampling in cases that needs it (world/grid probe diffuse coefs update).
2018-03-10Eevee: Planar Reflection: Add refraction support for reflected objects.Clément Foucault
2018-03-10Eevee: Add new clipping UBO.Clément Foucault
This fixes problems with the planar reflections.
2018-03-10Eevee: Make use of the new view matrix UBO.Clément Foucault
2018-03-10DRW: Change clip planes API.Clément Foucault
The draw manager now just set the number of active clip planes. It's now up to the engine to specify the plane equations as uniform/ubo/constant.
2018-03-10Eevee: Probes: Fix last planar reflections remaining after deletion.Clément Foucault
2018-03-10Eevee: Probes: Add culling for planar probes.Clément Foucault
Planar probes that have no influence on pixels in the view are culled. This greatly improve performance when theses probes are offscreen.
2018-03-10Eevee: Planar: Add transparent objects.Clément Foucault
The ordering is left broken for the viewport as this can be quite heavy. Only do it if doing a render.