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-04-16Multi-Object EditingCampbell Barton
This adds initial multi-object editing support. - Selected objects are used when entering edit & pose modes. - Selection & tools work on all objects however many tools need porting See: T54641 for remaining tasks. Indentation will be done separately. See patch: D3101
2018-04-16Fix T54491: Do not avoid the creation of inverted frustum.Germano
Blender allows this. The Cube in the file in the report would always disappear with the non camera view. The clip_end was too small. The correction here is only on the assert.
2018-04-16DRW: Culling: Reorganize frustum_boundbox_calc to match comments.Germano
And Cleanup.
2018-04-16Fix unreported error: Algorithm for extracting the Bounding Sphere from an ↵Germano
Orthographic frustum was incorrect. There was double transformation.
2018-04-16Fix rBb31ebd8c5c55: the asymmetric furstrum algorithm was still incorrect.Germano
Although somewhat less micro efficient, I decided to separate the `viewinv` matrix to calculate the world position separately. This makes it easier to understand the code.
2018-04-16Fix T54609: Erros in precise BBox extraction algorithmGermano
2018-04-16Cleanup: unused functionCampbell Barton
2018-04-15Eevee: Cleanup remaining shadow geometry references.Clément Foucault
2018-04-15Eevee: Shadows: Transition to individual face rendering.Clément Foucault
This gets rid of the need of a geom shader and instancing. Both are pretty slow compared to the new method. The only moment the old method could be better is when scene is filled with lots of objects and most of the objects in the shadow map appear on every layer. But even then, we could optimize the culling and minimize the overhead.
2018-04-15DRW: Fix culling algorithm for cascade shadow maps.Clément Foucault
draw_frustum_boundbox_calc does not work properly it seems in this case.
2018-04-15DRW: Override matrices: fix const correctness.Clément Foucault
2018-04-13DRW: Deferred Shader Compilation: Optimize shaders compilation.Germano
`glFinish()` that was causing bad perf issue on `Intel(R) HD Graphics 4000`.
2018-04-13CLAY: Fix prepass shader on certain compiler.Germano
`Intel(R) HD Graphics 4000` driver sometimes does stupid things.
2018-04-13Depsgraph: remove engine type from evaluation context.Brecht Van Lommel
This was only used for viewport rendering, where we can just pass the engine type directly. There is no technical reason why we can't draw the same depsgrpah with different render engines. It also led to some weird things like requiring a render engine for snapping and raycast API functions. Differential Revision: https://developer.blender.org/D3145
2018-04-10DRW: Deferred Shader Compilation: Don't recreate ogl context.Clément Foucault
Only recreate ogl context if we cannot reuse the one of the previous thread. Adding lots of shaders were recreating as many ogl context which was very slow.
2018-04-10DRW: Hair: Use GWN_PRIM_LINE_STRIPS instead of LINESClément Foucault
This means fewer indices to store. That being said, it seems to be a little slower because of the restart index. But that's in the case we would be vertex bound, which is mostly never going to happen.
2018-04-10Draw Manager: Fix lazy compilation on certain hardware.Germano
Before, the drawing functions sometimes froze with `AMD Radeon HD 7570M`.
2018-04-08Clay: Improve loading time.Clément Foucault
Only compile hair shader if we need it.
2018-04-08Eevee: Reduce loading time.Clément Foucault
Only compile the needed shadow shaders to reduce the startup time. Theses shaders is taking forever to compile on intel (~5s each).
2018-04-08DRW: Profiling: Batch BLF strings and add shadowingClément Foucault
Shadows makes it more readable and are relatively cheap now.
2018-04-05Remove workspace object mode, reverts changes w/ 2.8Campbell Barton
This caused too many problems syncing object modes with multiple objects/windows/workspaces, see: D3130 for details.
2018-04-04Fix Eevee crash with generated coordinates on non-objects.Brecht Van Lommel
2018-04-04Cleanup: simplify fix for T53497, this part is not strictly needed.Brecht Van Lommel
2018-04-04Fix part of T53497: Eevee stuttering on macOS for the first few seconds of ↵Brecht Van Lommel
usage. The problem was that textures were assigned to different slots on different draw calls, which caused shader specialization/patching by the driver. So the shader would be compiled over and over until all possible assignments were used.
2018-04-03Draw Manager: Improve description of `draw_frustum_boundbox_calc` variablesGermano
2018-04-02Partial fix for T54491: Use a more accurate solution to calculate the ↵Germano
frustum boundbox
2018-03-30DRW: Add BLF_batch_reset to be able to use BLF inside DRW.Clément Foucault
2018-03-29EEVEE: Fix bad framebuffer configurationClément Foucault
Was causing black / corrupted scene because of broken downsample Add a debug check to not run into this problem again.
2018-03-29Cleanup, silence compiler warning in release buildSergey Sharybin
2018-03-29Draw manager: Make particle code drawing closer to old viewportSergey Sharybin
The way how particle state is to be accessed or used did not change in Blender 2.8, so the drawing code should follow old design. This code is somewhat duplicated from drawobject.c, but old draw code is on the way to be removed anyway. This fixes issue with disappearing particles when tweaking number of particles.
2018-03-29Draw manager: Make evaluation context a part of context stateSergey Sharybin
This way we don't have to re-initialize the full evaluation context in every area we need it.
2018-03-29Draw manager: Use C99 struct initializationSergey Sharybin
Allows us to easily add fields which we never want to be initialized, but still keep sane order of fields in the structure itself.
2018-03-29Draw manager: Use utility functions for dealing with state memsetSergey Sharybin
2018-03-29Draw manager: Cleanup, early outputSergey Sharybin
Do early output and reduce level of indentation.
2018-03-28Clay: Remove warning.Clément Foucault
2018-03-28DRW: Opti: Make cursor use batch instead of immediate API.Clément Foucault
This is also much cleaner and taking 1 drawcall instead of 2.
2018-03-27Eevee Shaders: Fix "No matching overloaded function"Germano
invert -> inverse
2018-03-26Eevee: Use named EEVEE_EffectsFlag for effects flag.Clément Foucault
2018-03-26Eevee: Fix feedback loop warning.Clément Foucault
2018-03-25DRW: Fix crash/broken Metaballs display.Clément Foucault
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-25DRW: Remove mentions of DRWInterface.Clément Foucault
Theses are no longer relevant. Better talk about shgroup directly.
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-25Basic Engine: Remove unneeded use of Framebuffers.Clément Foucault
2018-03-25Clay: Fix alpha problem cause by FXAA pass.Clément Foucault
2018-03-25GPUTexture: Small refactor.Clément Foucault
This includes a few modification: - The biggest one is call glActiveTexture before doing any call to glBindTexture for rendering purpose (uniform value depends on it). This is also better to know what's going on when rendering UI. So if there is missing UI elements because of this commit look for this first. This allows us to have "less calls" to glActiveTexture (I did not measure the final count) and less checks inside GPU_texture. - Remove use of GL_TEXTURE0 as a uniform value in a few places. - Be more strict and use BLI_assert for bad usage of GPU_texture functions. - Disable filtering for integer and stencil textures (not supported by OGL specs). - Replace bools inside GPUTexture by a bitflag supporting more options to identify texture types.
2018-03-25DRWTexture: Remove DRW_texture_updateClément Foucault
2018-03-25DRW: Remove unecessary push/pull attrib.Clément Foucault
Since we are rendering draw manager's command in a separate context, we don't need to save/restore the UI opengl state attributes/config.
2018-03-22GPUCompositing: Remove entire module.Clément Foucault
This module has no use now with the new DrawManager and DrawEngines and it is using deprecated paths. Moving gpu_shader_fullscreen_vert.glsl to draw/modes/shaders/common_fullscreen_vert.glsl
2018-03-21Eevee: Fix missing camera animation with CoWSergey Sharybin