Blender
blender.org Windows, Mac OS, LinuxFree desktop 3D creation suite, with a wide range of tools for modeling, sculpting, texturing, rigging, animation, rendering, compositing, motion tracking, and video editing. It's easily extendable via community plugins
- Homepage: blender.org
- GitHub: github.com/blender/blender
- Privacy: blender.org/privacy-policy
- Web info: web-check.xyz/check/blender.org
Blender Privacy Policy
Privacy Policy Summary
- Your data is processed and stored in a country that is friendlier to user privacy protection
- The service is open-source
- The terms for this service are easy to read
- Features of the website are made available under a free software license
- No need to register
- Third-party cookies are used for statistics
- There is a date of the last update of the agreements
- You are being tracked via social media cookies/pixels
- This service gives your personal data to third parties involved in its operation
- You can request access, correction and/or deletion of your data
- Information is provided about what kind of information they collect
- Information is provided about how your personal data is used
- Do Not Track (DNT) headers are ignored and you are tracked anyway even if you set this header.
Score
Documents
- Privacy PolicyCreated 25 Apr 23, Last modified 1 year ago
About the Data
This data is kindly provided by tosdr.org. Read full report at: #8114
Blender Source Code
Author
Description
Official mirror of Blender
Homepage
https://developer.blender.org/docs/handbook/contributing/using_git/#github-mirrorLicense
NOASSERTION
Created
09 Oct 19
Last Updated
29 Jul 26
Latest version
Primary Language
C++
Size
1,326,198 KB
Stars
19,408
Forks
3,078
Watchers
19,408
Language Usage
Star History
Top Contributors
-
@ideasman42 (39629)
-
@sergeyvfx (11438)
-
@brechtvl (10322)
-
@HansGoudey (6927)
-
@Hypersomniac (5977)
-
@tonroosendaal (4831)
-
@JacquesLucke (4581)
-
@mont29 (3424)
-
@Aligorith (3362)
-
@julianeisel (2614)
-
@jeroenbakker-atmind (2276)
-
@dfelinto (2131)
-
@lichtwerk (2046)
-
@Antonioya (1906)
-
@drsybren (1802)
-
@DingTo (1729)
-
@harley-acheson (1378)
-
@OmarEmaraDev (1311)
-
@psy-fidelious (1285)
-
@skimmedsquare (1194)
-
@jesterKing (1165)
-
@kjym3 (1010)
-
@LazyDodo (967)
-
@thefiledescriptor (964)
-
@RichardAntalik (905)
-
@PratikBorhade302 (884)
-
@joeedh (882)
-
@nicholasbishop (846)
-
@pragma37 (790)
-
@significant-bit (741)
-
@Blendify (725)
-
@aras-p (698)
-
@jbakker-atmind (626)
-
@jessey-git (619)
-
@venomgfx (576)
-
@ben2610 (560)
-
@lukastoenne (540)
-
@pablodp606 (531)
-
@ChengduLittleA (523)
-
@lukasstockner (523)
-
@Moguri (509)
-
@jannekarhu (474)
-
@sybrenstuvel (468)
-
@gaiaclary (466)
-
@DarkDefender (463)
-
@angavrilov (452)
-
@elubie (441)
-
@diekev (440)
-
@neXyon (437)
-
@howardt (431)
-
@ddunbar (399)
-
@PiOverFour (397)
-
@RiverIntheSky (390)
-
@billreynish (385)
-
@gguishe (348)
-
@schlaile (346)
-
@illua1 (339)
-
@sebbas (337)
-
@julienduroure (326)
-
@cwant (311)
-
@Alaska-001 (307)
-
@Brainzman (271)
-
@WillianPGermano (253)
-
@andresusanopinto (228)
-
@kirilswenson (223)
-
@casey-1103 (207)
-
@cessen (206)
-
@johnnygizmo (203)
-
@pmoursnv (193)
-
@bjornmose (188)
-
@ph0b (165)
-
@maiself (160)
-
@maximecurioni (155)
-
@natecraddock (155)
-
@LunaRood (148)
-
@z-aki (147)
-
@tariqsulley (144)
-
@martijnberger (141)
-
@ZanQdo (140)
-
@sergof (136)
-
@nsirgien (112)
-
@Thomas-MMJ (105)
-
@skwerner (104)
-
@panzergame (103)
-
@falkdavid (101)
-
@quornian (101)
-
@m-castilla (99)
-
@sgefant (95)
-
@AngryLoki (91)
-
@mindyou (77)
-
@jawilkins (74)
-
@lduburas (74)
-
@PrototypeNM1 (73)
-
@Markvanderuit (73)
-
@britalmeida (71)
-
@kowalskima (69)
-
@JoilnenLeite (67)
-
@nickberckley (66)
-
@mistajolly (66)
-
@mfoxdogg (64)
Recent Commits
-
RedMser (29 Jul 26)
Fix: Markers - exhaustive check for Lock Markers The Lock Markers option did not correctly prevent all ways to edit markers. Adjust poll functions of relevant operators to be stricter in this regard. Pull Request: https://projects.blender.org/blender/blender/pulls/162058 --------- Co-authored-by: RedMser <[email protected]>
-
Campbell Barton (29 Jul 26)
Fix: incorrect logic for grouped undo pushes `BKE_undosys_stack_clear_active` would step back into the last step which may have been a "skip" step which must never be active. This is only used for grouped undo pushes so it's likely existing grouped undo usage never hit this problem, however it made undo logic difficult to properly refactor, since - for e.g. it was technically possible that each grouped undo step accumulate initial "skip" steps before adding the grouped undo step. Clearing skip steps now matches the behavior of "undo" clearing all steps until the prior user visible step. Ref !162067
-
Campbell Barton (29 Jul 26)
Fix: incorrect rectangle region passed to Wayland GHOST's rectangle is bottom-right whereas Wayland uses top-left.
-
Hans Goudey (28 Jul 26)
GHOST/Wayland: Use proper theme color for title bar Extend the theme-matched title bar coloring added in #123982 to the more recently added CSD drawing. The change is simple: instead of always retrieving the color from the 3D view header color, use the same logic used on other OSs where the color is taken from the top-bar or the main editor. The bug (#152138) fixed by the current code in this area remains fixed. Pull Request: https://projects.blender.org/blender/blender/pulls/161860
-
Tariq-Sulley (28 Jul 26)
Fix #161484: To Circle fails on loose edge loop Previously, any selection that had wire edges included had those wire edges discarded, however this meant selections that only consisted of wire edges but had the outline of a valid boundary edge were also discarded. Now, extract the vert chains in two passes to extract wire edges separately but if the wire edges are not isolated and they touch face regions, they are discarded. Pull Request: https://projects.blender.org/blender/blender/pulls/161616
-
Sean Kim (28 Jul 26)
Fix #161709: Crash when saving an image while painting Introduced with 3bd35d9a4b22493519079d808bf70eecaf523fdc The change to using implicit sharing exposes an issue with how the data is managed during Texture Painting. Before a stroke starts, we retrieve a float/byte pointer from the associated `ImBuf` and an offset. This pointer may become invalidated if something else requests mutable access to the data. This pointer is only stored once per bucket if the data is uninitialized. To fix this, instead of storing the pointer for the entire duration of the stroke, re-acquire the pointer before each daub and access the pixel location with an offset. Pull Request: https://projects.blender.org/blender/blender/pulls/161879
-
Matej Kotas (28 Jul 26)
Fix #129203: Flush sculpt updates before Viewport Render Image In Sculpt Mode, in order for "Viewport Render Image" to display up-to-date geometry, `SculptSession` data, which contains the up-to-date sculpted geometry, needs to be flushed before rendering. Pull Request: https://projects.blender.org/blender/blender/pulls/159713
-
Jonas Holzman (28 Jul 26)
Cleanup: Build: Remove Xcode version guards of now unsupported versions platform_apple.cmake still contained logic and Xcode version guards specific to Xcode 15.0, remove and simplify this logic as our minimum Xcode requirement is now set to 16.3. Pull Request: https://projects.blender.org/blender/blender/pulls/162029
-
Guillermo Venegas (28 Jul 26)
UI: WM: Add python API for activating RNA buttons This adds a `WindowManager::try_activate_rna_button` method for activating RNA buttons with an specific state (only `Highlight`, `WaitKeyEvent`,`NumEditing`, `TextEditing` are support by now) and returns the center point of the button in window coordinates when successfully activated (or just highlighted). Any other active button would be deactivated when activating a button. This also adds tests for text buttons interactions. Note: `Ctrl + mouse wheel up/down` string value cycling was not tested since is not supported in side panels. Pull Request: https://projects.blender.org/blender/blender/pulls/152910
-
il4n (28 Jul 26)
Fix: VSE: Crash when deleting strip with mask modifier pointing outside meta Given the following setup: - Meta strip: M - Strip outside M: O - Strip inside M: I If O has a mask modifier applied which uses I as the mask input, deleting M will cause Blender to crash. This is because O's #smd.mask_strip isn't correctly set to nullptr, as the search for users of I only starts at that metastrip stack level and proceeds downwards; it does not start at the root seqbase. This leads to a use-after-free error when rendering. To fix, refactor `edit_flag_for_removal` to start the "user search" at `ed->seqbase`, and use `iterator_set_expand` rather than manually written code that finds effects/meta strip contents. Pull Request: https://projects.blender.org/blender/blender/pulls/161918
-
John Kiril Swenson (28 Jul 26)
Fix: Use-after-free in mask rasterization Commit 218972b33c converted the vert `Array` in `CDT_input` into a `Span`, but forgot to update this line in `maskrasterize_layer_init_cdt`. The temporary `Array<double2>` is thus destroyed at the end of the expression and points to freed memory thereafter. Pull Request: https://projects.blender.org/blender/blender/pulls/162017
-
John Kiril Swenson (28 Jul 26)
VSE: Adjust edge pan parameters to make it less sluggish when zoomed out To do so, adjust various edge pan parameters. (More rationale and comparisons available in PR). 1. Change "zoom influence" from `0.5` -> `0.0`. - Zoom influence of 0.0 means that when an object is some size on your screen, it will always pan at the same rate 2. Change "delay": `1.0` -> `0.5` (same as nodes + other spaces) 3. Change "max speed": `4.0` -> `26.0` (same as nodes + other spaces) Pull Request: https://projects.blender.org/blender/blender/pulls/161288
-
Jesse Yurkovich (28 Jul 26)
IO: Support relative file paths for collection import Like what was done for collection export in blender/blender!137883, do the same for collection import. Create a new, proxy, "filepath" property that allows relative paths. Pull Request: https://projects.blender.org/blender/blender/pulls/161926
-
Jesse Yurkovich (28 Jul 26)
Cleanup: warning fix for unused lambda capture Suppress the maybe-unused `main` variable that was captured. Pull Request: https://projects.blender.org/blender/blender/pulls/162005
-
Weizhen Huang (28 Jul 26)
Refactor: Cycles: Make dielectric_tint behave the same on OSL and SVM dielectric_tint is not used on SVM for now, but will be needed for OpenPBR Pull Request: https://projects.blender.org/blender/blender/pulls/161853
-
Guillermo Venegas (28 Jul 26)
UI: Trim trailing whitespace when clipping widget labels This just removes trailing white-space when clipping widget labels. See pull request for examples. Pull Request: https://projects.blender.org/blender/blender/pulls/161813
-
Tariq-Sulley (28 Jul 26)
Fix #161976: Rotating 2D Cursor in UV Editor Causes Crash `td_ext` is null for the 2d cursor which causes a null dereference. Now set `T_POINTS` in `TransConvertTypeInfo` for `TransConvertType_CursorImage` and `TransConvertType_CursorSequencer` so rotating the 2d cursor falls through to the first condition in `ElementRotation_ex`. Pull Request: https://projects.blender.org/blender/blender/pulls/162012
-
Guillermo Venegas (28 Jul 26)
Assets: UI: Use text-box and multi-line labels for asset meta-data This allows editing author, description, copyright, license fields with text-box buttons which allows multi-line text editing, textbox state would not be saved per asset. Also this shows the asset meta-data as multi-line labels for assets outside of the working file. Pull Request: https://projects.blender.org/blender/blender/pulls/158145
-
Sybren A. Stüvel (28 Jul 26)
Assets: encode minimal/until Blender versions in asset blend file name Add support for setting the minimal/until Blender versions for assets with markers in the filename. This makes it possible to replace assets for newer versions of Blender, while keeping the older versions around for backward compatibility. The minimal required version of Blender can be encoded in the filename by using a `@bX_Y` marker, for example `filename@b5_3.blend` if the assets in that file require Blender 5.3 or newer. This also has an effect on the file `filename.blend` if it exists, as assets from that file will get their 'until' field set to 5.3 as well. A concrete example with three files: - `filename.blend`: used on Blender versions older than 5.3. - `filename@b5_3.blend`: used from 5.3 until 6.0 (exclusive). - `filename@b6_0.blend`: used from 6.0 onward. This naming scheme has the advantage that the `filename.blend` file itself does not have to change (and thus does not need re-downloading) when a successor is added to the library. The only thing that changes is its asset listing. Finer granularity than major & minor versions is not possible, so this does not work to replace an asset between versions 5.3.0 and 5.3.1. Blender 5.2 already supports the `min` and `until` fields that this mechanism sets. This PR just adds the functionality to the listing generator, so that Blender 5.3's generator can be used in a way that hides incompatible assets from Blender 5.2. The `min` field is set to the maximum of the marker and the version of Blender that was used to write the file. So when a file `filename@b5_3.blend` was written with Blender 5.4, it will still require Blender 5.4. The generator will log a warning when this occurs. In this example, the assets in `filename.blend` will be used until 5.3, as per the marker in the filename. Pull Request: https://projects.blender.org/blender/blender/pulls/161998
-
Sybren A. Stüvel (28 Jul 26)
Assets: download previews of online assets in parallel Download 5 previews in parallel, so that if one request hangs, only that thumbnail takes a long time (or times out) while others can still download. This should have a significant effect on download speed of the previews when on a not-so-fast or not-so-reliable connection. Asset downloads are still serialized. This can easily be adjusted if need be, by changing `num_parallel_downloads=1` to the desired number in `download_asset_file()`. This introduces multi-threaded downloading to the `BackgroundDownloader` in `_bpy_internal.http.downloader`. Download deduplication is now handled by the background process, as that knows exactly what's still queued and what's already downloading. It's a necessity to do this there, because the bg process manages the download threads, and thus has the source of truth of what downloads and cancellations are in flight. Futhermore, some busy-waiting loops were removed, and inter-thread signalling improved, as their impact will be significantly greater with multiple download threads running. No Python threads were added to the Blender process. All the threaded work happens in the background process. Pull Request: https://projects.blender.org/blender/blender/pulls/161913
-
Sybren A. Stüvel (28 Jul 26)
Fix: failure to download an asset thumbnail would cause Blender to error Failure to download an asset thumbnail, such that Blender would not get an HTTP response, would cause a failed assertion and cause Blender's bookkeeping to go out of sync. This commit fixes that, and now the thumbnail's "loading" indicator is replaced with the generic icon of its ID type. On asset browser refresh, another download is attempted. Pull Request: https://projects.blender.org/blender/blender/pulls/162040
-
Starz099 (28 Jul 26)
Fix #161832: Node copy-paste changing colors in non-sRGB working space The temporary main that datablocks are appended into needs to have appropriate colorspace and filepath for the colorspace conversion and relative path remapping to work correctly. This adds a BKE_main_init_from_reference function to share that code between various copybuffer paste and asset import implementations. Co-authored-by: Brecht Van Lommel <[email protected]> Pull Request: https://projects.blender.org/blender/blender/pulls/161951
-
Sybren A. Stüvel (28 Jul 26)
Fix: race conditions in HTTP downloader Fix race condition between main & background process when cancelling and re-queueing downloads. This could make the downloader skip downloads, as a re-queue of the same download would be cancelled along with the original. The main process keeps track of pending cancellations, so that re-queued downloads are handled properly even when the previous cancellation still has to be handled by the background process. The background process now also emits 'was cancelled' reports for queued-but-not-yet-started downloads, which means that any download request sent to the background either gets completed or gets an error reported. Before this PR, cancellation of queued-but-not-started downloads would be silent. This guaranteed messaging of cancellations is what makes the main process' bookkeeping work. One minor API change: when queued downloads are cancelled, `BackgroundDownloader.all_downloads_done` now flips at cancel time rather than when the report round-trips via the background process. So even when there is still a pending download (that is scheduled for cancellation), the `BackgroundDownloader` will say that they're all 'done'. In a sense it's still true, and shutting down the downloader at that time will simply cancel those about-to-be-canceled-anyway downloads. `BackgroundDownloader._num_pending_downloads` is no longer explicitly tracked, but rather derived from the number of 'on done' callbacks. This reduces the bookkeeping to one source of truth. Pull Request: https://projects.blender.org/blender/blender/pulls/161977
-
Criss-Ivana (28 Jul 26)
Compositor: Port Integer Math node This patch ports the Integer Math node to the compositor. Pull Request: https://projects.blender.org/blender/blender/pulls/160924
-
Aras Pranckevicius (28 Jul 26)
Fix #161944: VSE meta strips wrongly occlude other strips Pull Request: https://projects.blender.org/blender/blender/pulls/161984
-
Bastien Montagne (28 Jul 26)
Core: Optimize out truely indirect packed data on write. Until now, on write we'd always write all packed data unconditionally. While this worked, this had several draw-back: - Bloating blendfiles with useless data. Especially in complex multi-stage pipelines, the latest stages could acuumulate hundreds of useless packed assets e.g. - Making it harder to recover from issues like the one fixed by a4a8dd0214. This commit does two main changes: Changes to definition of direct/indirect linked packed ID --------------------------------------------------------- Now, a linked packed ID is considered directly linked if it's used by a local ID, _or by any other packed ID also directly linked_. The later part is the change here, as linked packed IDs dependencies are conceptually part of the packed data (as they participate in the deep hash value), so if one is directly used, all of its dependencies must also be considered as directly used. As a reminder, linked packed IDs can only use other linked packed IDs, they are not allowed to depend on regular linked data. Changes to library writing and packed IDs writing ------------------------------------------------- Now that there is a more useful and coherent definition of directly vs. indirectly linked packed IDs, code writing linked data can now only write directly linked packed IDs. The indirectly linked ones are exclusively used by regular linked data from other libraries, so writing them in the current blendfile is useless and only wastes space. The way libraries has also been refactored to fix a situation where the 'parent' regular library could be ordered after some of its 'children' archive libraries in Main, leading to invalid writing order. Regular lib should always be written immediately before all of its archives, so code now ensures that it is the case. Pull Request: https://projects.blender.org/blender/blender/pulls/161922
-
Campbell Barton (28 Jul 26)
Fix #161419: UV select less broken with face selection Resolve regression in 5.0 where uv_select_flush_from_tag_face would de-select edges and vertices even when they were connected to selected geometry and should have remained selected. Based on !162016, it fixed the issue, but added an asymmetry to the API. Given selection was never used (only deselection) it wasn't a problem however the API calls duplicated functionality available elsewhere. So resolve by replacing: - uvedit_uv_select_flush_from_tag_sticky_loc_internal - uvedit_edge_select_flush_from_tag_sticky_loc_internal With: - uvedit_uv_select_shared_vert - uvedit_edge_select_shared_vert Now de-selection is flushed properly, with vertices & edges are only de-selected when they aren't connected to other selected geometry. Also add checks so circle and lasso select don't select hidden faces in UV face mode. Other selection modes already checked for this. This was an existing error which would have asserted with the new code. Co-authored-by: Eitan Traurig <[email protected]>
-
quackarooni (28 Jul 26)
Fix #161866: Attribute menu uses wrong material when in pinned nodetree The original code assumes that the active nodetree belongs to the active material. While true in most cases, it leads to a mismatch in attributes if a different nodetree was pinned. And in cases where there is no active material, it raises an error. This patch retrieves the material being viewed by the current editor, preventing the possibility of a mismatch. Pull Request: https://projects.blender.org/blender/blender/pulls/161939
-
Jacques Lucke (28 Jul 26)
Cleanup: use UString for socket short label This is consistent with how e.g. the socket name and identifier is stored. It results in a slightly more efficient socket declaration because it's smaller and does fewer string operations. Pull Request: https://projects.blender.org/blender/blender/pulls/162020
-
Campbell Barton (28 Jul 26)
Tests: add test to ensure UV selection face syncing works Address issue from #162004.
Blender Security
Blender Website
Website
Blender - The Free and Open Source 3D Creation Software — blender.org
The Freedom to Create
Redirects
Does not redirect
Security Checks
All 65 security checks passed
Server Details
- IP Address 172.66.172.236
- Location San Francisco, California, United States of America, NA
- ISP CloudFlare Inc.
- ASN AS13335
Associated Countries
-
US -
FR -
CA
Safety Score
Website marked as safe
100%
Blacklist Check
www.blender.org was found on 0 blacklists
- AntiSocial Blacklist
- Artists Against 419
- Badbitcoin
- Bambenek Consulting
- CERT Polska
- CoinBlockerLists
- CRDF
- CryptoScamDB
- EtherAddressLookup
- EtherScamDB
- Fake Website Buster
- MetaMask EthPhishing
- NABP Not Recommended Sites
- OpenPhish
- PetScams
- PhishFeed
- PhishFort
- Phishing.Database
- PhishStats
- PhishTank
- Phishunt
- RPiList Not Serious
- Scam.Directory
- SecureReload Phishing List
- Spam404
- StopGunScams
- Suspicious Hosting IP
- ThreatFox
- ThreatLog
- TweetFeed
- URLhaus
- ViriBack C2 Tracker
Website Preview
Blender Docker
Container Info
Blender
[Blender](https://www.blender.org/) is a free and open-source 3D computer graphics software toolset used for creating animated films, visual effects, art, 3D printed models, motion graphics, interactive 3D applications, virtual reality, and computer games. **This image does not support GPU rendering out of the box only accelerated workspace experience**
linuxserver/blender:latestRun Command
docker run -d \
-p 3000:3000/tcp \
-p 3001:3001/tcp \
-e PUID=${PUID} \
-e PGID=${PGID} \
-e TZ=${TZ} \
-v /srv/lsio/blender/config:/config \
--restart=unless-stopped \
linuxserver/blender:latest Compose File
version: 3.8
services:
blender:
image: "linuxserver/blender:latest"
ports:
- "3000:3000/tcp"
- "3001:3001/tcp"
environment:
PUID: 1000
PGID: 1000
TZ: Etc/UTC
volumes:
- "/srv/lsio/blender/config:/config"
restart: unless-stopped Environment Variables
- Var Name Default
- PUID 1000
- PGID 1000
- TZ Etc/UTC
Port List
- 3000:3000/tcp
- 3001:3001/tcp
Volume Mounting
- /srv/lsio/blender/config /config
Blender Reviews
More 3D Graphics
-
A simple and easy-to-use subdivision 3D modeler with AutoUV facility for unfolding a models surface for painting/texturing. Unlike Blender, it has no built-in animation capabilites, and it's feature set is more limited, but it's a good choice for beginners.
About the Data: Blender
Change History
- Added
API
You can access Blender's data programmatically via our API. Simply make a GET request to:
https://api.awesome-privacy.xyz/v1/services/blender The REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.
Share Blender
Help your friends compare 3D Graphics, and pick
privacy-respecting software and services.
Share Blender and Awesome Privacy with your network!