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-08-18GPUState: Remove gpuPushAttr/gpuPopAttrClément Foucault
And use manual save/restore mechanism. The stack method is not used so much to be considered useful.
2020-08-07Cleanup: GPU, Clang-Tidy else-after-return fixesSybren A. Stüvel
This addresses warnings from Clang-Tidy's `readability-else-after-return` rule in the `source/blender/gpu` module. No functional changes.
2020-07-30Cleanup: GPU: Remove GPU_draw.h and move fluid gpu function to DRWClément Foucault
2020-07-18Cleanup: GPU: Encapsulate glViewport callsClément Foucault
2020-07-16Cleanup: GPU: Move depth/color masks functions to GPU_stateClément Foucault
2020-05-14Fix T76541: OpenGl Depth Picking not selecting frontmost objectSebastian Parborg
The issue was that we used GL_ALWAYS for depth checking here which would lead to the depth information from objects being messed up. It would not represent which object was closest to the camera. Reviewed By: Clément Foucault, Jeroen Bakker, Campbell Barton Differential Revision: http://developer.blender.org/D7710
2020-04-03Code Quality: Replace for loops with LISTBASE_FOREACHDalai Felinto
Note this only changes cases where the variable was declared inside the for loop. To handle it outside as well is a different challenge. Differential Revision: https://developer.blender.org/D7320
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-11GPU: minor changes to support standalone GHOST buildsCampbell Barton
- Move gpuPush/Pop from GPU_draw.h into GPU_state.h as this is for pushing/popping state. - Add 'GPU_STANDALONE' define, to bypass use of user-preferences for theme colors and pixelsize, as well as pbvh init/free functions. Needed to get GHOST tests working again.
2019-09-13Cleanup: unused headers (GPU)Campbell Barton
2019-04-29Cleanup: spellingCampbell Barton
2019-04-27Fix T63936 GPUSelect: Read depth in the endClément Foucault
fix T63936 introduced in 86914e713347. Reviewers: fclem Reviewed By: fclem Tags: #bf_blender Maniphest Tasks: T63936 Differential Revision: https://developer.blender.org/D4750
2019-04-26GPUSelect: Don't read depth on every drawClément Foucault
If the draw uses the same id as the previous draw, there is no need to read the depth buffer at this point, avoiding a CPU-GPU sync bubble. Fixes T62511 Selection is significantly slower in production scenes. With this patch glReadPixels is not the bottleneck. Regular drawing Is still very slow so I would suggest fixing the regular drawing first before trying to improve the selection algorithm.
2019-04-21Cleanup: comments (long lines) in gpuCampbell Barton
2019-04-17ClangFormat: format '#if 0' code in source/Campbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-03-28Fix build errorsmano-wii
From rBd5cb425b8745
2019-03-28Possible fix for T62999: Crash when select in edit mode.mano-wii
Apparently some drivers don't allow `glReadPixel` read out pixels of texture boundaries. Intersect `rect` to avoid such cases.
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
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: remove redundant BKE/BLI/BIF headersCampbell Barton
2018-11-28Cleanup: correct assert, remove redundant NULL checksCampbell Barton
2018-06-04Merge branch 'master' into blender2.8Campbell Barton
2018-06-04 Cleanup: strip trailing space in GPU moduleCampbell Barton
2018-05-30Fix selection randomly failing with border render.Brecht Van Lommel
We no longer user scissor for 3D viewport drawing, and some selection code assumed it still. This also cleans up unnecessary scissor test switching, we only have it temporarily enabled now.
2018-03-01Merge branch 'master' into blender2.8Campbell Barton
2018-03-01GPU_select: remove unused finalize functionCampbell Barton
Changed 2.8x code so this is no longer needed.
2018-02-28Merge branch 'master' into blender2.8Brecht Van Lommel
2018-02-28Cleanup: comment for depth picking code, const argsCampbell Barton
Note that setting `glDepthFunc` isn't important, since 2.8 branch changes this value it might seem like an error however it's harmless in this case - so better make note of this.
2018-02-28Cleanup: use 'uint' for GPU_selectCampbell Barton
2018-02-27Merge branch 'master' into blender2.8Campbell Barton
2018-02-27GPU_select: correction to select-pick-finalizeCampbell Barton
Would run twice, harmless at the moment but could cause issues later.
2018-02-27Merge branch 'master' into blender2.8Campbell Barton
2018-02-27GPU_select: utility function to finalize selectionCampbell Barton
Needed for depth picking in 2.8
2017-05-09glPushAttrib/Pop change implementation to use a stackDalai Felinto
The original implementation (cbd78c81268f) broke depth of field.
2017-04-05Immediate Mode: replacing glPushAttrib/glPopAttribDalai Felinto
Reference document: http://docs.gl/gl3/glPushAttrib This patch only tackles the bits that are set by Blender with the following exceptions: 1) Deprecated states (e.g., GL_STIPPLE) are not saved/restored 2) The exception being GL_ALPHA_TEST, which will be removed, but it may affect drawing too much now. To be removed once we no longer set GL_ALPHA_TEST elsewhere. 3) paint_cursor will be tackled separated, since it was abusing glPush/PopAttrib in the first place. 4) Despite what the glPushAttrib page above may suggest, GL_DEPTH_WRITEMASK needs glGet, not glIsEnabled 5) BGE is still a problem since it relies on GL_ALL_ATTRIB_BITS which would lead to a way more complete/lenghty solution. Since the BGE has other (OpenGL deprecated) problems anyways, it can be handled on its own time. Finally, the original design for 2.8 was to implement a proper stack system. However we need to move to core profile sooner than later. So this is a pragmatic temporary (that may be permanent) solution. Reviewers: merwin, campbellbarton Differential Revision: https://developer.blender.org/D2600
2017-03-14OpenGL: remove deprecated callsMike Erwin
glMaterial glColorMaterial glPixelTransfer and glEnable/Disable for GL_FOG, GL_LIGHTING, GL_COLOR_MATERIAL All of these were just setting default values, so I don't expect any visible change. Part of T49165 (general OpenGL upgrade)
2017-03-10Correct glPixelTransfer functionCampbell Barton
2017-03-10Cleanup: struct flags for select pickingCampbell Barton
2017-03-093D View: x-ray support for depth pickingCampbell Barton
Selection loop would draw the selection ignoring xray. Now draw in a separate pass after clearing the depth buffer, as with regular drawing. Also disable depth sorting, caller can sort the hit-list by depth if needed.
2017-03-083D View: new nethod of opengl selectionCampbell Barton
Intended to replace legacy GL_SELECT, without the limitations of sample queries which can't access depth information. This commit adds VIEW3D_SELECT_PICK_NEAREST and VIEW3D_SELECT_PICK_ALL which access the depth buffers to detect whats under the pointer, so initial selection is always the closest item. The performance of this method depends a lot on the OpenGL implementations glReadPixels. Since reading depth can be slow, buffers are cached for object picking so selecting re-uses depth data, performing 1 draw instead of 3 (for 24, 18, 10 px regions, picking with many items under the pointer). Occlusion queries draw twice when picking nearest, so worst case 6x draw calls per selection. Even with these improvements occlusion queries is faster on AMD hardware. Depth selection is disabled by default, toggle option under select method. May enable by default if this works well on different hardware. Reviewed as D2543