forked from blender/blender
GPv3: Add Compound Shapes Rendering (i.e. Hole rendering) #12
Closed
casey-bianco-davis
wants to merge 8 commits from
When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
GPv3-Compound-Shapes-2
into main
pull from: GPv3-Compound-Shapes-2
merge into: casey-bianco-davis:main
casey-bianco-davis:main
casey-bianco-davis:GPv3-Fix-Primitive-Tool-Object-And-Layer-Space
casey-bianco-davis:GPv3-fix-primitive-tool-object-space
casey-bianco-davis:GPv3-join-operator-key
casey-bianco-davis:GPv3-Drawing-Remove-Attribute
casey-bianco-davis:GPv3-Drawing-Add-Attribute
casey-bianco-davis:GPv3-layer-attribute-panel
casey-bianco-davis:GPv3-Brush-Radius-Sensitivity
casey-bianco-davis:GPv3-layer-tinting
casey-bianco-davis:GPv3-remove-group-UI
casey-bianco-davis:GPv3-Add-Group-UI
casey-bianco-davis:GPv3-Fix-No-Layer-Crash
casey-bianco-davis:GPv3-Texture-gradient
casey-bianco-davis:GPv3-Move-Layer-Operator
casey-bianco-davis:GPv3-share-layer-menu-code
casey-bianco-davis:GPv3-Fix-UnboundLocalError
casey-bianco-davis:GPv3-Boolean-Carver-Tool
casey-bianco-davis:GPv3-Set-Origin-Operator
casey-bianco-davis:GPv3-Apply-Transforms
casey-bianco-davis:GPv3-vector-triangle-cache
casey-bianco-davis:BLI-boolean-polygon-clipping
casey-bianco-davis:GPv3-articluated-dots
casey-bianco-davis:GPv3-shape-join-operator
casey-bianco-davis:GPv3-separate-shapes-operator
casey-bianco-davis:GPv3-select-shape-operator
casey-bianco-davis:GPv3-Rename-Cutter-To-Trim
casey-bianco-davis:GPv3-transform-origins
casey-bianco-davis:GPv3-Bezier-Handle-Other-Tools-Selection
casey-bianco-davis:GPv3-edit-mode-view-selected
casey-bianco-davis:GPv3-Eyedropper
casey-bianco-davis:GPv3-Canvas
casey-bianco-davis:GPv3-Fix-Drawing-Placement
casey-bianco-davis:GPv3-Fix-Primitve-Cyclic-And-Type
casey-bianco-davis:GPv3-Reset-UVs
casey-bianco-davis:GPv3-Bezier-Handle-Visible-Selection
casey-bianco-davis:GPv3-Curve-Handle-Transform
casey-bianco-davis:GPv3-Create-weights-on-draw
casey-bianco-davis:GPv3-Curve-Overlay
casey-bianco-davis:GPv3-Curve-Geometry-Overlay
casey-bianco-davis:GPv3-Compound-Shapes
casey-bianco-davis:GPv3-Fix-cyclic-2-point-fill
casey-bianco-davis:GPv3-curve-boolean
casey-bianco-davis:GPv3-fix-outline-view-null
casey-bianco-davis:GPv3-Brush-color-flip
casey-bianco-davis:GPv3-Primitive-Texture-Coordinates
casey-bianco-davis:GPv3-Primitive-Vertex-Color
casey-bianco-davis:GPv3-Primitive-Hardness
casey-bianco-davis:GPv3-Set-Handle-Type
casey-bianco-davis:GPv3-Set-Curve-Type
casey-bianco-davis:GPv3-primitive-Panning
casey-bianco-davis:GPv3-Draw-on-back
casey-bianco-davis:GPv3-Primitive-Tools
casey-bianco-davis:GPv3-texture-shear
casey-bianco-davis:GPv3-uv-smooth-modifier
casey-bianco-davis:Fix-edit-mode-crash
casey-bianco-davis:GPv3-fill-texture-coordinates
casey-bianco-davis:GPv3-Fix-layer-parent-bone
casey-bianco-davis:GPv3-Draw-tool-selection
casey-bianco-davis:GPv3-fix-armature-crash
casey-bianco-davis:GPv3-fill-texture
casey-bianco-davis:GPv3-non-square-matrix-multiplication
casey-bianco-davis:GPv3-draw-tool-loss-of-vertex-groups
casey-bianco-davis:GPv3-draw-tool-do-not-create-cap-type
casey-bianco-davis:GPv3-Draw-tool-caps
casey-bianco-davis:GPv3-Draw-tool-panel
casey-bianco-davis:BLI-non-square-matrix-print
casey-bianco-davis:GPv3-Reorder
casey-bianco-davis:GPv3-Fix-edit-mode-overlay-memory-leak
casey-bianco-davis:GPv3-populate-buffer-data
casey-bianco-davis:GPv3-Fix-Connected-Only
casey-bianco-davis:GPv3-drawing-color-conversion
casey-bianco-davis:GPv3-sample-color
casey-bianco-davis:GPv3-Overlay-Visible-&-Editable-Materials
casey-bianco-davis:GPv3-Edit-Lines-Option
casey-bianco-davis:GPv3-Hidden-Materials-Uneditable
casey-bianco-davis:GPv3-Duplicate
casey-bianco-davis:GPv3-Hide-Locked-Points
casey-bianco-davis:GPv3-layer-blend-mode-ui
casey-bianco-davis:GPv3-delete
casey-bianco-davis:GPv3-Hide-Locked-Layers
casey-bianco-davis:GPv3-cyclical-set-operator
casey-bianco-davis:temp-gpencil-random-vertex-color
casey-bianco-davis:temp-nodes-align-to-grid
casey-bianco-davis:temp-gpencil-improvements
casey-bianco-davis:GPv3-delete-frame
casey-bianco-davis:GPv3-layer-use-lights-ui
casey-bianco-davis:temp-nodes-align-to-grid-4
casey-bianco-davis:GPv3-layer-use-lights-ui-22
casey-bianco-davis:GPv3-layer-opacity-ui
casey-bianco-davis:GPv3-layer-adjustments-panel
casey-bianco-davis:temp-nodes-align-to-grid-2
casey-bianco-davis:GPv3-draw-crash-no-layer-2
casey-bianco-davis:GPv3-draw-vertex-and-fill-color
casey-bianco-davis:GPv3-draw-vertex-and-fill-color-2
casey-bianco-davis:GPv3-material-and-poll-2
casey-bianco-davis:GPv3-Radius-Opacity-Brush-Panel
casey-bianco-davis:GPv3-remove-tint-flip-old
casey-bianco-davis:GPv3-draw-mode-keymaps
casey-bianco-davis:GPv3-draw-mode-keymaps-old
casey-bianco-davis:GPv3-boolean
casey-bianco-davis:temp-gpencil-replace-tool
casey-bianco-davis:GPencil_Improvements
casey-bianco-davis:GPencil_Improvements_2
casey-bianco-davis:master
casey-bianco-davis:my_branch
casey-bianco-davis:my-feature
casey-bianco-davis:tmp-usd-022123
casey-bianco-davis:blender-v3.5-release
casey-bianco-davis:asset-shelf
casey-bianco-davis:universal-scene-description
casey-bianco-davis:brush-assets-project
casey-bianco-davis:blender-v3.3-release
casey-bianco-davis:blender-v2.93-release
casey-bianco-davis:temp-sculpt-dyntopo
casey-bianco-davis:refactor-mesh-sharp-face-generic
casey-bianco-davis:asset-browser-grid-view
casey-bianco-davis:refactor-mesh-face-generic
casey-bianco-davis:refactor-mesh-corners-generic
casey-bianco-davis:geometry-nodes-simulation
casey-bianco-davis:blender-projects-basics
casey-bianco-davis:tmp-usd-alab-v2-T100452
casey-bianco-davis:temp-usd-main-021323
casey-bianco-davis:bundled-assets
casey-bianco-davis:temp-sculpt-roll-mapping
casey-bianco-davis:overlay-next
casey-bianco-davis:gpencil-new-data-proposal
casey-bianco-davis:sculpt-dev
casey-bianco-davis:tmp-volume-matrix-api-update
casey-bianco-davis:cycles_path_guiding
casey-bianco-davis:temp-vulkan-descriptor-sets
casey-bianco-davis:tmp-eevee-shadow-commit
casey-bianco-davis:tmp-workbench-rewrite2
casey-bianco-davis:temp-T101739-fix-seam-bleeding-non-manifold
casey-bianco-davis:tmp-mak-012623
casey-bianco-davis:temp-bundled-assets
casey-bianco-davis:asset-lite-greasepencil
casey-bianco-davis:temp-pbvh-split
casey-bianco-davis:temp-pbvh-texpaint-automasking
casey-bianco-davis:microfacet_hair
casey-bianco-davis:tmp-worbench-rewrite2-optimizations
casey-bianco-davis:temp-offset-array-ref
casey-bianco-davis:temp-pbvh-seam-texturing-tweaks
casey-bianco-davis:temp-nodes-group-declarations
casey-bianco-davis:refactor-mesh-sharp-edge-generic
casey-bianco-davis:temp-asset-library-all
casey-bianco-davis:refactor-mesh-uv-map-generic
casey-bianco-davis:refactor-mesh-position-generic
casey-bianco-davis:temp-T102440
casey-bianco-davis:temp-rbf-pose-blender
casey-bianco-davis:geometry-nodes-tetrahedralization
casey-bianco-davis:nodes-matrix-types
casey-bianco-davis:temp-xr-painting
casey-bianco-davis:blender-v3.4-release
casey-bianco-davis:bli-matrix-template
casey-bianco-davis:temp-linux-35x-libs
casey-bianco-davis:refactor-mesh-corner-normals-lazy
casey-bianco-davis:temp-py-gpubatch-draw-advanced
casey-bianco-davis:xr-dev
casey-bianco-davis:temp-vulkan-shader
casey-bianco-davis:bevelv2
casey-bianco-davis:soc-2022-soft-bodies
casey-bianco-davis:arcpatch-D16436
casey-bianco-davis:tmp-dynamic-usd
casey-bianco-davis:temp-image-engine
casey-bianco-davis:tmp-vfx-platform-2023
casey-bianco-davis:soc-2022-many-lights-sampling
casey-bianco-davis:tracking_tools
casey-bianco-davis:nla-scale-fix
casey-bianco-davis:principled-v2
casey-bianco-davis:temp-ui-cpp
casey-bianco-davis:temp-ghost-vulkan
casey-bianco-davis:tmp-libs-2.93-lts
casey-bianco-davis:temp-T97352-3d-texturing-seam-bleeding-b2
casey-bianco-davis:temp-xr-virtual-camera-experiment
casey-bianco-davis:temp-vse-retiming-tool
casey-bianco-davis:gpencil-next
casey-bianco-davis:temp-sculpt-brush-channel
casey-bianco-davis:temp-asset-representation
casey-bianco-davis:temp-gpencil-automask
casey-bianco-davis:tmp_libs_34
casey-bianco-davis:temp-T101905-gpu-backend-argument
casey-bianco-davis:node-add-asset-menu
casey-bianco-davis:temp-collection-objects-link-multiple
casey-bianco-davis:temp-texture-painting-gpu
casey-bianco-davis:tmp-workbench-perf-experiment
casey-bianco-davis:tmp_usd_import_unbound_mtls
casey-bianco-davis:tmp-drw-split-matrix
casey-bianco-davis:temp-sculpt-normals-masking
casey-bianco-davis:temp-sculpt-cavity-mask
casey-bianco-davis:temp-pbvh-vbos
casey-bianco-davis:refactor-mesh-selection-generic
casey-bianco-davis:temp-T96708-brush-texture-refactoring
casey-bianco-davis:temp-chunk-list
casey-bianco-davis:feature-imformat
casey-bianco-davis:temp-geometry-nodes-evaluator-refactor
casey-bianco-davis:refactor-mesh-bevel-weight-generic
casey-bianco-davis:temp-chunked-list
casey-bianco-davis:temp-outliner-new-element-storage
casey-bianco-davis:refactor-mesh-remove-pointers
casey-bianco-davis:soc-2022-text-usability
casey-bianco-davis:refactor-mesh-material-index-generic
casey-bianco-davis:drw-manager-next
casey-bianco-davis:refactor-mesh-hide-generic
casey-bianco-davis:blender-v3.2-release
casey-bianco-davis:sculpt_curve_collisions
casey-bianco-davis:temp-anim-editors-redo-panel-D14960-D14977
casey-bianco-davis:retopo_transform
casey-bianco-davis:temp-libepoxy
casey-bianco-davis:temp-T99046-platform-reference-images
casey-bianco-davis:geometry-nodes-rigid-body-integration
casey-bianco-davis:file-browser-grid-view
casey-bianco-davis:temp-legacy-mesh-format-option
casey-bianco-davis:arcpatch-D14645
casey-bianco-davis:soc-2022-waveform-drawing
casey-bianco-davis:temp-T95933-object-mode-curve-selection
casey-bianco-davis:temp-deform-curves-on-surface
casey-bianco-davis:cycles_oneapi
casey-bianco-davis:temp-viewport-compositor-merge
casey-bianco-davis:temp-texpaint-automasking
casey-bianco-davis:temp-deform-curves-with-surface
casey-bianco-davis:asset-greasepencil
casey-bianco-davis:temp-T99046-render-test-increase-fail-threshold
casey-bianco-davis:temp-T98708-gpu-conservative-depth
casey-bianco-davis:lineart-shadow
casey-bianco-davis:temp-lineart-contained
casey-bianco-davis:cleanup-id-override-const
casey-bianco-davis:temp-T98375-share-gpu-textures
casey-bianco-davis:wintab
casey-bianco-davis:temp-T97352-3d-texturing-seam-bleeding
casey-bianco-davis:temp-T97905-compositor-meta-data
casey-bianco-davis:lineart-cas-2
casey-bianco-davis:temp-T97272
casey-bianco-davis:temp-T97907-compositor-meta-data
casey-bianco-davis:temp-T96952
casey-bianco-davis:tmp-usd-mak-c87f6242
casey-bianco-davis:temp-outliner-library-override-hierarchy
casey-bianco-davis:lineart-object-load
casey-bianco-davis:tmp-eevee-next-merge
casey-bianco-davis:draw-deferred-compilation-experiment
casey-bianco-davis:soc-2021-porting-modifiers-to-nodes-remesh-voxel
casey-bianco-davis:blender-v2.83-release
casey-bianco-davis:tmp_lib_update_32
casey-bianco-davis:temp-mesh-cpp
casey-bianco-davis:temp-viewport-compositor-compiler
casey-bianco-davis:temp-T96710-pbvh-pixels
casey-bianco-davis:tmp-new-gpu-codegen
casey-bianco-davis:devirtualizer
casey-bianco-davis:temp-T96709-painting-target
casey-bianco-davis:temp-collection-assets
casey-bianco-davis:temp-lineart-embree
casey-bianco-davis:temp-multi-function-eval-varray
casey-bianco-davis:temp-sculpt-colors
casey-bianco-davis:soc-2021-curves
casey-bianco-davis:blender-v3.1-release
casey-bianco-davis:temp-vertex-paint
casey-bianco-davis:temp-vse-channels-edge-panning
casey-bianco-davis:eevee-rewrite
casey-bianco-davis:temp-library-overrides-outliner
casey-bianco-davis:cycles_hydra
casey-bianco-davis:temp-3d-texturing-brush-b
casey-bianco-davis:temp-abc-features
casey-bianco-davis:tmp-transform-navigate
casey-bianco-davis:temp-image-buffer-rasterizer
casey-bianco-davis:soc-2021-porting-modifiers-to-nodes-remesh-blocks
casey-bianco-davis:temp-3d-texture-brush-prototype
casey-bianco-davis:temp-fix-normals-custom-data
casey-bianco-davis:viewport-compositor
casey-bianco-davis:bli-math-basic-types
casey-bianco-davis:soc-2021-simulation-display
casey-bianco-davis:greasepencil-object
casey-bianco-davis:temp-license-header-spdx
casey-bianco-davis:KTX_support
casey-bianco-davis:gsoc-2021-porting-modifiers-to-nodes-solidify
casey-bianco-davis:2d
casey-bianco-davis:gltf_vtree
casey-bianco-davis:soc-2021-porting-modifiers-to-nodes-decimate
casey-bianco-davis:temp-T95279-remap-referenced-data
casey-bianco-davis:temp-gpu-image-engine
casey-bianco-davis:tmp-eevee-rewrite-compilation-error
casey-bianco-davis:draw-viewport-data
casey-bianco-davis:temp-T94900-b
casey-bianco-davis:temp-T94900-gpu-viewport-default-layers
casey-bianco-davis:temp-T94185-id-remapper-ui
casey-bianco-davis:tmp-workbench-shader-create-infos
casey-bianco-davis:blender-v3.0-release
casey-bianco-davis:temp-geometry-nodes-extrude-mesh
casey-bianco-davis:tmp-T95052
casey-bianco-davis:tmp-gpu-polyline-shaders
casey-bianco-davis:tmp-gpu-shader-descriptor-2
casey-bianco-davis:temp-usd-prev-export2
casey-bianco-davis:tmp-core-id-remap-test-cases
casey-bianco-davis:temp-vert-normals-cleanup
casey-bianco-davis:temp-move-geometry-to-cpp
casey-bianco-davis:tmp-vector-template
casey-bianco-davis:drw-gpu-wrapper
casey-bianco-davis:temp-geometry-nodes-extrude-and-scale
casey-bianco-davis:temp-scale-elements-node-test
casey-bianco-davis:temp-usd-udim-import
casey-bianco-davis:temp-copy-on-write
casey-bianco-davis:temp-T94185-id_remapping-experiment-a
casey-bianco-davis:temp-llvm-testing
casey-bianco-davis:nurbs-opencascade
casey-bianco-davis:temp-usd-preview-surf-export
casey-bianco-davis:soc-2021-uv-edge-select-support
casey-bianco-davis:T93558
casey-bianco-davis:temp-gpu-texture-partial-updates
casey-bianco-davis:gpu-shader-descriptor
casey-bianco-davis:temp-geometry-nodes-text
casey-bianco-davis:tmp-vulkan
casey-bianco-davis:temp-T90535-usd-alab-material-import
casey-bianco-davis:node-tree-update-refactor
casey-bianco-davis:temp-sample-sound-node
casey-bianco-davis:temp-interface-region-search-cpp
casey-bianco-davis:temp-enum-socket
casey-bianco-davis:temp-link-portals
casey-bianco-davis:temp-unity-build-test
casey-bianco-davis:geometry-nodes-level-set-nodes
casey-bianco-davis:temp-virtual-array-value-type
casey-bianco-davis:soc-2020-io-performance
casey-bianco-davis:studio-sprite-fright
casey-bianco-davis:temp-cycles-source-reorganize
casey-bianco-davis:asset-browser-snap-dragging
casey-bianco-davis:temp-python-zstandard
casey-bianco-davis:soc-2021-porting-modifiers-to-nodes-merge-by-distance
casey-bianco-davis:temp-compositor-cleanups
casey-bianco-davis:temp-eevee-gpencil-rewrite
casey-bianco-davis:temp-vse-handles
casey-bianco-davis:temp-ui-tweaks
casey-bianco-davis:xr-controller-support
casey-bianco-davis:temp-node-common-cpp
casey-bianco-davis:temp-varray-get-set-multiple
casey-bianco-davis:soc-2021-uv-editor-improvements
casey-bianco-davis:temp-geometry-nodes-output-attributes
casey-bianco-davis:soc-2021-knife-tools
casey-bianco-davis:temp_test_sc_keymap
casey-bianco-davis:cycles-x
casey-bianco-davis:temp-field-visualization
casey-bianco-davis:soc-2021-curve-fillet
casey-bianco-davis:temp_bmesh_multires
casey-bianco-davis:temp-cocoa-scroll-acceleration-fix
casey-bianco-davis:temp-socket-decl-refactor
casey-bianco-davis:fluid-mantaflow-gpu
casey-bianco-davis:soc-2021-vse-strip-thumbnails
casey-bianco-davis:temp-noise-nodes-cpp
casey-bianco-davis:temp-compositor-canvas
casey-bianco-davis:T90952
casey-bianco-davis:temp-parallel-multi-function
casey-bianco-davis:temp-geometry-nodes-fields
casey-bianco-davis:grab_walk_fix
casey-bianco-davis:soc-2021-adaptive-cloth
casey-bianco-davis:temp-geometry-nodes-fields--fields-jacques
casey-bianco-davis:temp-cpp-ghc-filesystem
casey-bianco-davis:temp-geometry-nodes-fields--fields
casey-bianco-davis:temp-geometry-nodes-fields--anonymous-attributes
casey-bianco-davis:refactor-idprop-ui-data
casey-bianco-davis:compositor-full-frame
casey-bianco-davis:temp-runtime-node-def
casey-bianco-davis:temp-geometry-nodes-fields-prototype-visualization
casey-bianco-davis:temp-geometry-nodes-fields-prototype
casey-bianco-davis:temp-multi-function-procedure
casey-bianco-davis:soc-2021-porting-modifiers-to-nodes_all
casey-bianco-davis:cycles_texture_cache
casey-bianco-davis:experimental-build
casey-bianco-davis:cycles_procedural_api
casey-bianco-davis:soc-2021-porting-modifiers-to-nodes-extrude-and-move
casey-bianco-davis:soc-2021-porting-modifiers-to-nodes-extrude
casey-bianco-davis:temp-geometry-nodes-expandable-geometry-socket-prototype
casey-bianco-davis:fluid-mantaflow-2d
casey-bianco-davis:windows_make_docpy
casey-bianco-davis:usd-importer-T81257-merge
casey-bianco-davis:nodes-update-readonly-tag
casey-bianco-davis:geometry-nodes-closest-points
casey-bianco-davis:tmp-buildbot-gcc-10
casey-bianco-davis:soc-2021-geometry-nodes-regression-test
casey-bianco-davis:node-group-single-socket-nodes
casey-bianco-davis:curve-nodes-modifier
casey-bianco-davis:temp-geometry-nodes-curve-sample
casey-bianco-davis:geometry-nodes-unnamed-attributes
casey-bianco-davis:temp-nodes-intersect-alt-key
casey-bianco-davis:tmp_arcpath-D11868
casey-bianco-davis:refactor-vertex-group-names
casey-bianco-davis:temp-gpencil-bezier-stroke-type
casey-bianco-davis:temp-gpu-uniform-builtin-structs
casey-bianco-davis:wintab_fallback_walknav
casey-bianco-davis:temp-socket-inspection
casey-bianco-davis:temp-long-link-dimming
casey-bianco-davis:fixed_width_integers
casey-bianco-davis:lineart-bvh
casey-bianco-davis:temp-gpencil-camera-reproject
casey-bianco-davis:temp-gpu-push-constants
casey-bianco-davis:temp-attribute-processor
casey-bianco-davis:temp-cpp-type-cleanup
casey-bianco-davis:temp-geometry-nodes-curve-deform-node
casey-bianco-davis:wintab-logging
casey-bianco-davis:fix-tablet-walk
casey-bianco-davis:geometry-nodes-raycast
casey-bianco-davis:temp-spreadsheet-row-filter
casey-bianco-davis:lineart-fn-cached
casey-bianco-davis:temp-compact-node-prototype
casey-bianco-davis:asset-browser
casey-bianco-davis:geometry-nodes-curve-to-points-node
casey-bianco-davis:node-editor-edge-pan
casey-bianco-davis:eevee-gpencil
casey-bianco-davis:asset-system-filelist
casey-bianco-davis:temp-geometry-nodes-viewer-node
casey-bianco-davis:lineart-fn-thread-loading
casey-bianco-davis:tmp-buildbot-cleanup
casey-bianco-davis:temp-gpencil-masking
casey-bianco-davis:temp-ffmpeg-4.4
casey-bianco-davis:temp-attributes-panel
casey-bianco-davis:profiler-editor
casey-bianco-davis:FixT87160_DSE_Channel_Selection
casey-bianco-davis:temp-interface-cpp
casey-bianco-davis:geometry-nodes-curve-support
casey-bianco-davis:info-editor-cpp
casey-bianco-davis:temp-attribute-transfer-node
casey-bianco-davis:virtual-array-attributes
casey-bianco-davis:temp-pose-slide-D9054
casey-bianco-davis:spreadsheet-active-node
casey-bianco-davis:ui-asset-view-template
casey-bianco-davis:temp-node-tree-pages-prototype
casey-bianco-davis:override-outliner-view
casey-bianco-davis:temp-geometry-nodes-processor-prototype
casey-bianco-davis:temp-any-instead-of-variant
casey-bianco-davis:temp-unreachable-abort
casey-bianco-davis:temp-spreadsheet-instances
casey-bianco-davis:temp-geometry-nodes-instances-api-v2
casey-bianco-davis:temp-geometry-nodes-instances-attributes
casey-bianco-davis:geometry-nodes-mesh-primitives
casey-bianco-davis:temp-asset-tools-prototype
casey-bianco-davis:temp-geometry-nodes-mesh-primitive-line
casey-bianco-davis:lanpr-under-gp
casey-bianco-davis:temp_D10504-2_nla_keyframe_remap_upper_strips
casey-bianco-davis:blender-v2.92-release
casey-bianco-davis:usd-importer-T81257
casey-bianco-davis:temp-spreadsheet-editor-python-prototyping
casey-bianco-davis:temp-spreadsheet-editor
casey-bianco-davis:override-refactor-tmp-2
casey-bianco-davis:temp-derived-node-tree-refactor
casey-bianco-davis:T85799
casey-bianco-davis:tracking_scopes
casey-bianco-davis:temp-icons-fixes
casey-bianco-davis:temp_D10504_nla_keyframe_remap_upper_strips
casey-bianco-davis:temp-weight_mirror
casey-bianco-davis:temp_T76472_graph_editor_fcurve_extrapolation
casey-bianco-davis:eevee-closure-lib-cleanup
casey-bianco-davis:eevee-dof-refactor
casey-bianco-davis:eevee-probe-roughness-fix
casey-bianco-davis:eevee-ggx-lut-fix
casey-bianco-davis:df0bce3f7d0
casey-bianco-davis:temp-geometry-nodes-instances-api
casey-bianco-davis:tmp-ocio-v2
casey-bianco-davis:temp-nodes-redesign
casey-bianco-davis:tracking_proportional_editing_v2
casey-bianco-davis:blender-v2.91-release
casey-bianco-davis:temp-uv-face-select-no-thresh-when-inside
casey-bianco-davis:temp-D10103-nla_support_strip_overlap_during_transform
casey-bianco-davis:fracture_modifier
casey-bianco-davis:temp-point-distribution-refactor-experiment
casey-bianco-davis:temp-experimental-cpp-math-refactor
casey-bianco-davis:vfx-clip-ui-update
casey-bianco-davis:tmp-T82230-nla_remove_hold_reset_behavior
casey-bianco-davis:temp-D8687-directly_select_fcurves
casey-bianco-davis:geometry-nodes
casey-bianco-davis:soc-2020-testing-frameworks
casey-bianco-davis:geometry-nodes-point-separate-node
casey-bianco-davis:temp-nla-strip-alignment
casey-bianco-davis:temp-atomics-int16
casey-bianco-davis:geometry-nodes-deduplicate-float-math
casey-bianco-davis:asset-metadata
casey-bianco-davis:geometry-nodes-active-modifier-drawing
casey-bianco-davis:attribute-accessor
casey-bianco-davis:geometry-nodes-attribute-nodes
casey-bianco-davis:temp-T82588-box-select-invisible-keys
casey-bianco-davis:greasepencil-edit-curve
casey-bianco-davis:codesign_error_tracker
casey-bianco-davis:outliner-cpp-refactor
casey-bianco-davis:temp-fix-headerless-panels-switch-windows
casey-bianco-davis:temp-gpencil-fading-modifier
casey-bianco-davis:temp-D8915-copy-rotation-remove-sheer
casey-bianco-davis:geometry-nodes-boolean-node
casey-bianco-davis:temp-T81874-box-select-active-keyframe
casey-bianco-davis:geometry-nodes-transform-node
casey-bianco-davis:temp-trimesh-sculpt
casey-bianco-davis:geometry-tree-evaluation
casey-bianco-davis:fcurve-modifier-panels
casey-bianco-davis:temp-fcurve-key-insert-follow-curve
casey-bianco-davis:temp-fcurve-active-keyframe-D7737
casey-bianco-davis:mesh-to-volume-modifier
casey-bianco-davis:blender-v2.90-release
casey-bianco-davis:soc-2020-fluid-tools
casey-bianco-davis:property-search-ui-v2
casey-bianco-davis:tmp-T80603
casey-bianco-davis:soc-2020-greasepencil-curve
casey-bianco-davis:tmp-gldebuglayer
casey-bianco-davis:tmp-gltexture
casey-bianco-davis:soc-2020-custom-menus
casey-bianco-davis:active-fcurve-keyframe
casey-bianco-davis:soc-2020-soft-body
casey-bianco-davis:newboolean
casey-bianco-davis:fail-on-memleak
casey-bianco-davis:soc-2020-outliner
casey-bianco-davis:soc-2020-production-ready-light-tree-2
casey-bianco-davis:soc-2020-info-editor
casey-bianco-davis:property-search-ui
casey-bianco-davis:temp-ui-button-type-refactor
casey-bianco-davis:soc-2020-production-ready-light-tree
casey-bianco-davis:particle-solver-dev
casey-bianco-davis:tmp-gpu-context-isolation
casey-bianco-davis:soc-2020-xr-input
casey-bianco-davis:temp-remesh-octree
casey-bianco-davis:mac_arm64
casey-bianco-davis:tmp-eevee-glsl-cleanup
casey-bianco-davis:tmp-pointcloud-render
casey-bianco-davis:buildbot-lts
casey-bianco-davis:asset-engine--archived
casey-bianco-davis:asset-uuid--archived
casey-bianco-davis:eevee-motionblur-object
casey-bianco-davis:modifier-panels-ui
casey-bianco-davis:temp-cycles-tbb
casey-bianco-davis:wm-drag-drop-rewrite
casey-bianco-davis:temp-lanpr-review
casey-bianco-davis:gsoc-2018-many-light-sampling
casey-bianco-davis:tmp-eevee-material-refactor
casey-bianco-davis:tmp-widget-opti
casey-bianco-davis:tmp-texture-sampler
casey-bianco-davis:xr-world-navigation
casey-bianco-davis:blender-v2.82-release
casey-bianco-davis:node-tree-ref
casey-bianco-davis:simulation-access-modifier
casey-bianco-davis:blenloader-decentralization
casey-bianco-davis:temp-test-point-cloud-simulation-depsgraph-integration
casey-bianco-davis:functions
casey-bianco-davis:builtin-simulation-nodes
casey-bianco-davis:performance-test
casey-bianco-davis:obj-import-experiments
casey-bianco-davis:soc-2019-openxr
casey-bianco-davis:vr_scene_inspection
casey-bianco-davis:blenloader-api
casey-bianco-davis:tmp-workbench-rewrite
casey-bianco-davis:id-ensure-unique-memory-address
casey-bianco-davis:simulation-tree
casey-bianco-davis:greasepencil-refactor
casey-bianco-davis:draw-colormanagement
casey-bianco-davis:temp-gizmo-decoupled-redraws
casey-bianco-davis:fluid-mantaflow
casey-bianco-davis:blender-v2.81-release
casey-bianco-davis:tmp-overlay-engine
casey-bianco-davis:soc-2019-bevel-profiles
casey-bianco-davis:temp-npr-gpencil-modifiers
casey-bianco-davis:soc-2019-npr
casey-bianco-davis:temp-gpencil-drw-engine
casey-bianco-davis:soc-2019-embree-gpu
casey-bianco-davis:temp-npr-smooth-contour
casey-bianco-davis:temp-lanpr-staging
casey-bianco-davis:filebrowser_redesign
casey-bianco-davis:tmp-eevee-shadowmap-refactor
casey-bianco-davis:vamr-openxr-module
casey-bianco-davis:sculpt-mode-features
casey-bianco-davis:soc-2019-adaptive-cloth
casey-bianco-davis:tmp-drw-callbatching
casey-bianco-davis:soc-2019-outliner
casey-bianco-davis:soc-2019-cycles-procedural
casey-bianco-davis:temp-D5423-update
casey-bianco-davis:temp-vr-draw-thread
casey-bianco-davis:blender-v2.80-release
casey-bianco-davis:tmp-batch-cache-cleanup
casey-bianco-davis:soc-2019-fast-io
casey-bianco-davis:temp-toolsystem-multiwindow
casey-bianco-davis:blender2.7
casey-bianco-davis:collada
casey-bianco-davis:soc-2018-npr
casey-bianco-davis:temp-keymap-industry-compat
casey-bianco-davis:temp-fracture-modifier-2.8
casey-bianco-davis:temp-dna-rename
casey-bianco-davis:userpref_redesign
casey-bianco-davis:hair_object
casey-bianco-davis:motion_curve_fix
casey-bianco-davis:collada2.8
casey-bianco-davis:cycles_embree
casey-bianco-davis:interactive_physics
casey-bianco-davis:temp-ui-layout-2.8
casey-bianco-davis:cloth-improvements
casey-bianco-davis:soc-2018-cycles-volumes
casey-bianco-davis:hair_guides_grooming
casey-bianco-davis:hair_guides
casey-bianco-davis:benchmark
casey-bianco-davis:soc-2018-bevel
casey-bianco-davis:soc-2018-hair-shader-fixes
casey-bianco-davis:temp-udim-images
casey-bianco-davis:soc-2018-hair-shader
casey-bianco-davis:temp-volume-object
casey-bianco-davis:cycles_cryptomatte
casey-bianco-davis:temp-eeveelightcache
casey-bianco-davis:temp-tab_drag_drop
casey-bianco-davis:temp-keymap-save
casey-bianco-davis:temp-dynamic-overrides
casey-bianco-davis:fracture_modifier-master
casey-bianco-davis:ui_layout_gridflow
casey-bianco-davis:temp-keymap-changes
casey-bianco-davis:tmp-CollectionsAnim
casey-bianco-davis:tmp-b28-motionpath-drawing
casey-bianco-davis:uv_unwrapping_slim_algorithm
casey-bianco-davis:blender-v2.79b-release
casey-bianco-davis:tmp-COW_InsertKeyframe_Fix
casey-bianco-davis:temp-unified-collections
casey-bianco-davis:temp-modifier-rm-cddm
casey-bianco-davis:tmp-TimelineHeaderButtonsStretching
casey-bianco-davis:blender2.8-workbench
casey-bianco-davis:soc-2017-normal-tools
casey-bianco-davis:cycles_bvh8
casey-bianco-davis:blender-v2.79a-release
casey-bianco-davis:temp-scene-obedit-remove
casey-bianco-davis:temp-workspace-object-mode-removal
casey-bianco-davis:blender-v2.79-release
casey-bianco-davis:soc-2017-sculpting_brush
casey-bianco-davis:split-kernel-faster-building
casey-bianco-davis:id_override_static
casey-bianco-davis:openvdb
casey-bianco-davis:custom-manipulators
casey-bianco-davis:soc-2016-uv_tools
casey-bianco-davis:soc-2016-pbvh-painting
casey-bianco-davis:soc-2017-vertex_paint
casey-bianco-davis:soc-2017-sculpting_improvements
casey-bianco-davis:soc-2017-package_manager
casey-bianco-davis:strand_editmode
casey-bianco-davis:smooth-fcurves
casey-bianco-davis:id_copy_refactor
casey-bianco-davis:gsoc2016-improved_extrusion
casey-bianco-davis:temp-ssr
casey-bianco-davis:temp-cycles-opencl-staging
casey-bianco-davis:temp-cycles-denoising
casey-bianco-davis:ge_2df_textures
casey-bianco-davis:HMD_viewport
casey-bianco-davis:soc-2016-multiview
casey-bianco-davis:transform-manipulators
casey-bianco-davis:datablock_idprops
casey-bianco-davis:cycles_disney_brdf
casey-bianco-davis:temp_cycles_split_kernel
casey-bianco-davis:cycles_split_kernel
casey-bianco-davis:unlock_task_scheduler
casey-bianco-davis:uv_unwrapping_slim_and_ceres
casey-bianco-davis:surface-deform-modifier
casey-bianco-davis:cycles-tiles-rework
casey-bianco-davis:soc-2016-cycles_denoising
casey-bianco-davis:temp-layers-ui-table
casey-bianco-davis:uiTable
casey-bianco-davis:render-layers
casey-bianco-davis:clay-engine
casey-bianco-davis:multi_previews_id
casey-bianco-davis:cycles_disney_bsdf_transmittance
casey-bianco-davis:layers
casey-bianco-davis:pbr-viewport
casey-bianco-davis:temp_display_optimization
casey-bianco-davis:viewport_bvh_select
casey-bianco-davis:temp-cycles-microdisplacement
casey-bianco-davis:soc-2016-cycles_images
casey-bianco-davis:strand_nodes
casey-bianco-davis:object_nodes
casey-bianco-davis:asset-experiments
casey-bianco-davis:soc-2016-sculpt_tools
casey-bianco-davis:temp_viewport_fx_merge
casey-bianco-davis:custom-normals-bmesh
casey-bianco-davis:temp-decklink
casey-bianco-davis:compositor-2016
casey-bianco-davis:decklink
casey-bianco-davis:BendyBones
casey-bianco-davis:cycles_panorama_experiments
casey-bianco-davis:temp_remove_pointcache
casey-bianco-davis:temp_remove_particles
casey-bianco-davis:temp_depsgraph_split_ubereval
casey-bianco-davis:temp_textedit_comment_toggling
casey-bianco-davis:GPencil_Editing_Stage3
casey-bianco-davis:temp_bge_moto
casey-bianco-davis:UI-experiments
casey-bianco-davis:UI-graphical-redesign
casey-bianco-davis:missing-libs
casey-bianco-davis:free-refcount-ids
casey-bianco-davis:cycles_camera_nodes
casey-bianco-davis:epic-navigation
casey-bianco-davis:temp-ui-widget-refactor
casey-bianco-davis:gooseberry_farm
casey-bianco-davis:gooseberry
casey-bianco-davis:temp-ghash-experiments
casey-bianco-davis:temp-ghash-setops
casey-bianco-davis:temp_motionpaths
casey-bianco-davis:fcurves-simplify
casey-bianco-davis:soc-2014-fluid
casey-bianco-davis:GPU_data_request
casey-bianco-davis:depsgraph_refactor
casey-bianco-davis:multiview
casey-bianco-davis:vertex_paint_pbvh
casey-bianco-davis:alembic_pointcache
casey-bianco-davis:cycles-ptex-49
casey-bianco-davis:viewport_experiments
casey-bianco-davis:soc-2014-bge
casey-bianco-davis:texture_nodes_refactor
casey-bianco-davis:input_method_editor
casey-bianco-davis:GPencil_EditStrokes
casey-bianco-davis:soc-2014-shapekey
casey-bianco-davis:terrible_consequencer
casey-bianco-davis:GPencil_FillStrokes
casey-bianco-davis:libmv_prediction
casey-bianco-davis:blender2.4
casey-bianco-davis:dyntopo_holes
casey-bianco-davis:soc-2014-viewport_context
casey-bianco-davis:gtest-staging
casey-bianco-davis:blender-tiles
casey-bianco-davis:soc-2014-viewport_fx
casey-bianco-davis:soc-2014-remesh
casey-bianco-davis:soc-2014-nurbs
casey-bianco-davis:pie-menus
casey-bianco-davis:soc-2014-cycles
casey-bianco-davis:soc-2013-paint
casey-bianco-davis:particles_refactor
casey-bianco-davis:soc-2013-viewport_fx
casey-bianco-davis:tiles-scheduler
casey-bianco-davis:bake-cycles
casey-bianco-davis:soc-2013-cycles_volume
casey-bianco-davis:overscan
casey-bianco-davis:soc-2013-depsgraph_mt
casey-bianco-davis:soc-2013-dingto
casey-bianco-davis:soc-2013-sketch_mesh
casey-bianco-davis:soc-2013-rigid_body_sim
casey-bianco-davis:soc-2011-tomato
casey-bianco-davis:soc-2013-bge
casey-bianco-davis:soc-2013-motion_track
casey-bianco-davis:soc-2013-ui_replay
casey-bianco-davis:soc-2012-sushi
casey-bianco-davis:ge_dev
casey-bianco-davis:soc-2013-depsgraph_eval
casey-bianco-davis:soc-2008-mxcurioni
casey-bianco-davis:soc-2012-bratwurst
casey-bianco-davis:soc-2012-swiss_cheese
casey-bianco-davis:soc-2012-fried_chicken
casey-bianco-davis:meshdata_transfer
casey-bianco-davis:smoke2
casey-bianco-davis:tile
casey-bianco-davis:soc-2011-cucumber
casey-bianco-davis:bmesh
casey-bianco-davis:soc-2011-carrot
casey-bianco-davis:cycles
casey-bianco-davis:soc-2011-garlic
casey-bianco-davis:soc-2011-radish
casey-bianco-davis:soc-2010-nicks
casey-bianco-davis:vgroup_modifiers
casey-bianco-davis:soc-2011-pepper
casey-bianco-davis:soc-2010-jwilkins
casey-bianco-davis:merwin-spacenav
casey-bianco-davis:bge_components
casey-bianco-davis:soc-2010-merwin
casey-bianco-davis:render25
casey-bianco-davis:soc-2010-nicolasbishop
casey-bianco-davis:soc-2009-chingachgook
casey-bianco-davis:soc-2010-nexyon
casey-bianco-davis:soc-2010-aligorith
casey-bianco-davis:ge_eigen2
casey-bianco-davis:sculpt25
casey-bianco-davis:soc-2009-jaguarandi
casey-bianco-davis:soc-2009-imbusy
casey-bianco-davis:soc-2009-kazanbas
casey-bianco-davis:blender2.5
casey-bianco-davis:volume25
casey-bianco-davis:soundsystem
casey-bianco-davis:soc-2009-aligorith
casey-bianco-davis:sim_physics
casey-bianco-davis:ge_dome
casey-bianco-davis:etch-a-ton
casey-bianco-davis:soc-2008-nicholasbishop
casey-bianco-davis:animsys2
casey-bianco-davis:projection-paint
casey-bianco-davis:harmonic-skeleton
casey-bianco-davis:soc-2008-jaguarandi
casey-bianco-davis:fluidcontrol
casey-bianco-davis:apricot
casey-bianco-davis:soc-2008-quorn
casey-bianco-davis:cloth
casey-bianco-davis:ndof
casey-bianco-davis:orange
When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
1 changed files with 21 additions and 20 deletions
Showing only changes of commit 674df0b9d8 - Show all commits
|
@ -1038,10 +1038,9 @@ static void grease_pencil_geom_batch_ensure(Object &object,
|
||||||
ed::greasepencil::retrieve_visible_drawings(scene, grease_pencil, true);
|
ed::greasepencil::retrieve_visible_drawings(scene, grease_pencil, true);
|
||||||
|
|
||||||
/* First, count how many vertices and triangles are needed for the whole object. Also record the
|
/* First, count how many vertices and triangles are needed for the whole object. Also record the
|
||||||
* offsets into the curves for the vertices and triangles. */
|
* offsets into the curves for the vertices. */
|
||||||
int total_verts_num = 0;
|
int total_verts_num = 0;
|
||||||
int total_triangles_num = 0;
|
int total_triangles_num = 0;
|
||||||
int v_offset = 0;
|
|
||||||
Vector<Array<int>> verts_start_offsets_per_visible_drawing;
|
Vector<Array<int>> verts_start_offsets_per_visible_drawing;
|
||||||
for (const ed::greasepencil::DrawingInfo &info : drawings) {
|
for (const ed::greasepencil::DrawingInfo &info : drawings) {
|
||||||
const bke::CurvesGeometry &curves = info.drawing.strokes();
|
const bke::CurvesGeometry &curves = info.drawing.strokes();
|
||||||
|
@ -1050,35 +1049,37 @@ static void grease_pencil_geom_batch_ensure(Object &object,
|
||||||
IndexMaskMemory memory;
|
IndexMaskMemory memory;
|
||||||
const IndexMask visible_strokes = ed::greasepencil::retrieve_visible_strokes(
|
const IndexMask visible_strokes = ed::greasepencil::retrieve_visible_strokes(
|
||||||
object, info.drawing, memory);
|
object, info.drawing, memory);
|
||||||
|
const Span<Vector<uint3>> triangles = info.drawing.triangles();
|
||||||
|
const Vector<IndexMask> shapes = info.drawing.shapes(memory);
|
||||||
|
|
||||||
const int num_curves = visible_strokes.size();
|
Array<int> verts_start_offsets(curves.curves_num(), 0);
|
||||||
const int verts_start_offsets_size = num_curves;
|
|
||||||
Array<int> verts_start_offsets(verts_start_offsets_size);
|
|
||||||
|
|
||||||
/* Calculate the vertex offsets for all the visible curves. */
|
/* Calculate the vertex offsets for all the visible curves. */
|
||||||
int num_cyclic = 0;
|
int num_cyclic = 0;
|
||||||
int num_points = 0;
|
int num_points = 0;
|
||||||
visible_strokes.foreach_index([&](const int curve_i, const int pos) {
|
for (const int shape_index : shapes.index_range()) {
|
||||||
IndexRange points = points_by_curve[curve_i];
|
const IndexMask &shape = shapes[shape_index];
|
||||||
const bool is_cyclic = cyclic[curve_i] && (points.size() > 2);
|
|
||||||
|
|
||||||
if (is_cyclic) {
|
total_triangles_num += triangles[shape_index].size();
|
||||||
num_cyclic++;
|
|
||||||
}
|
|
||||||
|
|
||||||
verts_start_offsets[pos] = v_offset;
|
shape.foreach_index([&](const int curve_i) {
|
||||||
v_offset += 1 + points.size() + (is_cyclic ? 1 : 0) + 1;
|
IndexRange points = points_by_curve[curve_i];
|
||||||
num_points += points.size();
|
const bool is_cyclic = cyclic[curve_i] && (points.size() > 2);
|
||||||
});
|
|
||||||
|
|
||||||
/* One vertex is stored before and after as padding. Cyclic strokes have one extra vertex. */
|
if (is_cyclic) {
|
||||||
total_verts_num += num_points + num_cyclic + num_curves * 2;
|
num_cyclic++;
|
||||||
total_triangles_num += (num_points + num_cyclic) * 2;
|
}
|
||||||
|
|
||||||
for (const int group_id : info.drawing.triangles().index_range()) {
|
verts_start_offsets[curve_i] = total_verts_num;
|
||||||
total_triangles_num += info.drawing.triangles()[group_id].size();
|
/* One vertex is stored before and after as padding. Cyclic strokes have one extra vertex.
|
||||||
|
*/
|
||||||
|
total_verts_num += 1 + points.size() + (is_cyclic ? 1 : 0) + 1;
|
||||||
|
num_points += points.size();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
total_triangles_num += (num_points + num_cyclic) * 2;
|
||||||
|
|
||||||
verts_start_offsets_per_visible_drawing.append(std::move(verts_start_offsets));
|
verts_start_offsets_per_visible_drawing.append(std::move(verts_start_offsets));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Write
Preview
Loading…
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.