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
2020-09-19Cleanup: spellingCampbell Barton
2020-09-19EEVEE: Fix Missing GGX multi-scattering on Glass BSDFClément Foucault
Oversight that should have been in rB6f3c279d9e70
2020-09-19EEVEE: Add support for GGX Multi-scatterClément Foucault
Based on http://jcgt.org/published/0008/01/03/ This is a simple trick that does *not* have a huge performance impact but does work pretty well. It just modifies the Fresnel term to account for the multibounce energy loss (coloration). However this makes the shader variations count double. To avoid this we use a uniform and pass the multiscatter use flag inside the sign of f90. This is a bit hacky but avoids many code duplication. This uses the simplification proposed by McAuley in A Journey Through Implementing Multiscattering BRDFs and Area Lights This does not handle area light differently than the IBL case but that's already an issue in current implementation. This is related to T68460. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8912
2020-09-19Fix T79557 EEVEE: Normalize in vector math node is not null vector safeClément Foucault
This add basic null safe handling for this operation.
2020-09-18GPUShader: Fix wide line emulation with flat color interpolation.Clément Foucault
This was causing flashing colors in the node editor grid. This is because in some cases the flat color is only set on the provoking vertex which is the last of the primitive by default.
2020-09-18GPUImmediate: Add system wide workaround for wide lineClément Foucault
This makes wide line supported on MacOS and other implementation that does not support wide line by default. This workaround works for all Line types but only if using one of the 5 default shaders. The workaround is completely isolated and invisible to the outside. It has no side effect. Note: This does not affect the GPUBatch drawing.
2020-09-18Sculpt: Render Mask and Face Sets with modifiers activePablo Dobarro
This removes the limitation of the sculpt overlays not being visible with modifiers active. Reviewed By: fclem Maniphest Tasks: T68900 Differential Revision: https://developer.blender.org/D8673
2020-09-18EEVEE: Fixed Compilation ErrorJeroen Bakker
Regression from {b248ec97769f}. A new parameter was introduced, but the stub shader macros still had the old number of parametes. This change adds a new dummy parameter to the stub macros.
2020-09-17Shaders: add emission strength input to Principled BSDF nodeAlex Strand
This impacts I/O add-ons. OBJ, FBX and Collada have been updated, glTF not yet. Differential Revision: https://developer.blender.org/D4971
2020-09-16GPUDebug: Avoid using STREQ on StringRefClément Foucault
This might be dangerous because StringRef is not guaranteed to be null-terminated and STREQ assumes null termination.
2020-09-16Cleanup: spellingCampbell Barton
2020-09-16GPUShader: Add meaningful debug names to builtin shadersClément Foucault
This makes the debugging easier.
2020-09-16GPU: Add debug groups inside selection codeClément Foucault
This makes the debugging easier.
2020-09-16GPUDebug: Add function to test if inside a debug groupClément Foucault
This is a nice way to check certain GPU codepaths only for some regions or callers paths.
2020-09-15Liquid Simulation Display Options (GSoC 2020)Sriharsha Kotcharlakot
All the changes made in the branch `soc-2020-fluid-tools` are included in this patch. **Major changes:** === Viewport Display === - //Raw voxel display// or //closest (nearest-neighbor)// interpolation for displaying the underlying voxel data of the simulation grids more clearly. - An option to display //gridlines// when the slicing method is //single//. ==== Grid Display ==== - Visualization for flags, pressure and level-set representation grids with a fixed color coding based on Manta GUI. ==== Vector Display ==== - //**M**arker **A**nd **C**ell// grid visualization options for vector grids like velocity or external forces. - Made vector display options available for external forces. ==== Coloring options for //gridlines// ==== - Range highlighting and cell filtering options for displaying the simulation grid data more precisely. - Color gridlines with flags. - Also, made slicing and interpolation options available for Volume Object. Reviewed By: JacquesLucke, sebbas Differential Revision: https://developer.blender.org/D8705
2020-09-15Fix T80681 Wireframe is not visible on square planes with 16384 quadsClément Foucault
Fix wrong logic.
2020-09-15Cleanup: add missing headers to CMake, formattingCampbell Barton
2020-09-15Fix T80630: potential crash in volume grids in Eevee shadersBrecht Van Lommel
Found by address sanitizer.
2020-09-15CleanUp: Fixed incorrect parameters to GPU_depth_testJeroen Bakker
2020-09-15Cleanup: spellingCampbell Barton
2020-09-14Fix T80782 GPU: Curve editing widget point size broken after recent commitClément Foucault
This was caused by a faulty default where program point size was used.
2020-09-14Cleanup: GLShader: Use span and default constructor instead of vector(0)Clément Foucault
2020-09-14Cleanup: GPUDebug: Use Vector instead of custom stackClément Foucault
2020-09-14GL: Make use of the new debug layerClément Foucault
This makes replay analysis inside renderdoc much easier by using the new debug group functionality.
2020-09-14GPU: Add debug groupsClément Foucault
Debug groups makes it easier to view from where an error comes from. The backend can also implement its own callback to make it easier to follow the API call structure in frame debuggers.
2020-09-14GL: Fix linking errors being useless.Clément Foucault
Now they will at least show the shader name
2020-09-13Cleanup: spelling, update function name in commentsCampbell Barton
2020-09-12Fix remaining GL calls/type preventing from building due to recent cleanupClément Foucault
2020-09-12GPU: Fix wrong state before python callbacksClément Foucault
This was caused by a missing state apply. We force the GPUState to be set after the callbacks to avoid desync between our state tracker and the real gl state. This fixes some issues but a better general fix for all BGL would be better. This fix T80297 2.91 texture alpha is not transparent
2020-09-12Cleanup: GPU: Rename GPUStateManager to StateManager to follow styleClément Foucault
2020-09-12Cleanup: GPU: Remove unused GPU_debugClément Foucault
2020-09-12Cleanup: Remove GLEW dependencies outside of GL moduleClément Foucault
2020-09-12GPU: Add Image Load Store extension supportClément Foucault
This wraps the functionality used to speedup EEVEE volumetrics. This touches the rendering code of EEVEE as it should fix a mis-usage of the GL barrier. The barrier changed type and location, removing an unused barrier.
2020-09-11Cleanup: spelling, correct commentsCampbell Barton
2020-09-11GPUState: Fix missing changed program point size stateClément Foucault
Also avoid a case where size is zero and making it impossible to change it back. This fix T80664 Tiny node sockets
2020-09-11Fix T80327 UI: Glitches in UI drawingClément Foucault
This was caused by an uninitialized variable that was left unchanged when calling GPU_vertformat_clear.
2020-09-10GPUBatch: Do not unbind shader after drawing.Clément Foucault
This allows subsequent redraw to work just like before. However a better safeguard system against setting the uniforms in the wrong shader would be nice to have.
2020-09-10GPUImmediate: Fix wrong resize of immBatchAtMostClément Foucault
2020-09-10GPUState: Fix Point Size issuesClément Foucault
The point size was not updated in the right branch and setting the point size via GPU_point_size was effectively disabling its use.
2020-09-10GL: Wrap extension support inside GLContextClément Foucault
This makes it possible to disable all the extensions when forcing workarounds. Also it will allow future options to selectively disable each extension to know which one is buggy.
2020-09-10GL: Add fallback debug layerClément Foucault
This is to improve debugging on older hardware that may not support 4.3 debug capabilities (like Macs). This avoids sprinkling glGetErrors manually. This might still be needed to find the root cause since not all functions are covered. This overrides the functions pointers that GLEW have already init. This is only enabled if using --debug-gpu option and the debug extension are not available. This also cleanup the usage of GLContext::debug_layer_support and use wrapper to set object labels.
2020-09-09UI: Fix Icon drawing on MacOSClément Foucault
It seems that using a vertex shader using both `gl_InstanceID` and `gl_VertexID` is causing some issues on MacOS + Intel Iris. Regression introduced by rB052538edc1fba109d3427471047611888ed13bea
2020-09-09Cleanup: GPU: Replace multiple checks by GLContext::debug_layer_supportClément Foucault
2020-09-08GLSamplers: Add debug object labelClément Foucault
This makes it easier to see what each sampler is supposed to be.
2020-09-08GLBackend: Fix gl error inside the mip rendering workaround detectionClément
This was caused by an incorrect mipmap size. Also add debug checks for good mesure.
2020-09-08GLContext: Fix clang warning about using overrideClément
2020-09-08GLFrameBuffer: Fix mass renaming issueClément
The context might be partialy freed, so use gpu::Context instead of GLcontext.
2020-09-08GPU: Extract GPU Base Test caseJeroen Bakker
The draw manager test case initialized ghost, gpu and draw manager. This change splits the base test case to GPU specific and draw manager specific test case. The GPU test base test case will be used for low level GPU tests.
2020-09-08DrawManager: Fixed memory leak in test casesJeroen Bakker
Memory leak is introduced as test cases reinitializes the GPU stack. Added a call to GPU_backend_exit to fix this. In GPU_backend_exit the GPU backend was destroyed but the pointer wasn't reset for reuse. This patch also clears the pointer to be reused.
2020-09-08GPUContext: Move GPUContext to gpu::Context for more consistencyClément Foucault
This makes the GPUContext follow the same naming convention as the rest of the module. Also add a static getter for extra bonus style (no need for casts): - Context::get() - GLContext::get()