Skip to content

Releases: BRL-CAD/brlcad

BRL-CAD 7.42.0

12 Aug 02:45

Choose a tag to compare


--- 2025-08-11 Release 7.42.0 ---

Polygonal BoT ray tracing is now dramatically faster. Integration of
a new spatial partition acceleration method (HLBVH) into librt's BoT
ray tracing pipeline yields substantial speedups, better multicore
scaling, and reduced memory overhead across all BRL-CAD ray tracing of
scenes with BoTs. In general, new overall performence is typicaly in
the 2-25x range depending on the model, scene, and other factors. The
culmination of many efforts, the improvement was verified, validated,
and performance tested against numerous real and test models to
confirm gains and assert correctness. As a result, users no longer
need to tune TIE or ADRT-specific settings as both are fully obsoleted
and replaced.

This release expands Arbitrary Polyhedron support with 8 vertices
(i.e., ARB8-only, not ARB7/6/5/4) to include concave definitions.
Surfaces must (still) be planar and not self-intersect, but polyhedral
edges creating concavities are now supported for ray tracing.

MGED's nirt command use of .mgedrc qray settings was restored, which
affects output styling (e.g., showing/hiding attributes). To restore
default behavior, delete .mgedrc in your home directory or remove
existing qray settings manually.

  • increased app parallelism ceiling to 4096 threads - Sean Morrison
  • removed obsolete nirt -T BoT spatial partition option - Cliff Yapp
  • added support for concave arb8 primitive definitions - Sean Morrison
  • added example geometry model showcasing all types - Mitchell Roberts
  • fixed mged crash when switching databases after rt - Sean Morrison
  • mitigated multithreading contention on >32 core cpus - Sean Morrison
  • clarified material_name not found warning in rtweight - Cliff Yapp
  • fixed stat command crash with invalid path specifiers - Cliff Yapp
  • improved search std attr table in man page - Cliff Yapp
  • updated MGED nirt man page to reference cmdline version - Cliff Yapp
  • fixed raytracing crash with empty BoT solid in tree - Cliff Yapp
  • cleaned up nirt -L format listing output - Cliff Yapp
  • fixed MGED nirt command's use of .mgedrc qray formats - Cliff Yapp
  • improved MGED nirt cmd handling for large object lists - Cliff Yapp
  • removed requirement to launch nirt with objects listed - Cliff Yapp
  • improved k-g LS-DYNA keyword file geometry importer - Ali Haydar
  • added bot support for plate mode thickness get/set cmds - Cliff Yapp
  • fixed dbconcat treatment of a '/' prefix character - Cliff Yapp
  • fixed bb '-o' oriented bounding box option in MGED - Chris McGregor
  • added manual page for pixcmp, bwish, btclsh - Sean Morrison
  • fixed "ted" text edit and "make_pnts" GED commands - Cliff Yapp
  • renamed MGED x command to solid_report for clarity - Sean Morrison
  • fixed Archer "Center View" button and vslew GED command - Cliff Yapp
  • added support for console text editing on Windows - Cliff Yapp
  • added bb '-m' option for outputting midpoint - Chris McGregor
  • fixed sed crash when editing a brep object in MGED - Cliff Yapp
  • fixed primitive & matrix edit GUIs in MGED ("x -1") - Sean Morrison
  • added (align, dir and print) subcommands to 'view' - Chris McGregor
  • added (autoview, lookat, saveview) to 'view' - Chris McGregor
  • fixed mged 'process' command on read-only databases - Sean Morrison
  • replaced ADRT with HLBVH-acclerated BoT tracing - Timothy Reynolds
  • accelerated BoT ray tracing HLBVH integration across all librt apps
    • Timothy Reynolds, Connor McLean, Ian Beckett, Samuel Reed,
    • Gaultier Debarre, Sean Morrison, Chris McGregor, Cliff Yapp
  • various manpage and help text updates - Josh Baker
  • fixed -exec behavior with 'flat' search in mged - Chris McGregor
  • improved logging behavior from multiple threads - Kenneth Davis
  • removed libgdiam dependency - Chris McGregor
  • updated strclear dependency to latest bsd upstream - Cliff Yapp
  • updated Assimp to v5.4.3, with patch for CVE-2025-2151 - Cliff Yapp
  • updated OpenNURBS dependency to v8.10.24228.13001 - Cliff Yapp
  • updated GeometricTools dependency to 7adae93f8 - Cliff Yapp
  • updated GDAL dependency to v3.9.2 - Cliff Yapp
  • updated PROJ dependency to v9.5.0 - Cliff Yapp
  • updated SQLite dependency to v3.46.1 - Cliff Yapp
  • updated lmdb dependency to 9c9d345 - Cliff Yapp
  • updated libtiff dependency to v4.7.0 - Cliff Yapp
  • updated netpbm dependency to v10.86.42 - Cliff Yapp
  • updated LIEF dependency to v0.15.1 - Cliff Yapp
  • updated libpng dependency to v1.6.44 - Cliff Yapp

BRL-CAD 7.40.2

01 Oct 15:20

Choose a tag to compare

This major release of BRL-CAD improves the robustness of the facetize
command. Building on work begun in 7.38.0, for the first time BRL-CAD
is able to successfully facetize all of BRL-CAD's example geometries.
This involves a major change to the processing pipeline of the
facetize command, allowing handling of individual primitives to be
fault tolerant and automatically attempting fallback methods.
Historically BRL-CAD facetize has attempted to produce output meshes
even when individual operations fail by silently skipping over failing
inputs, but now this behavior is changed to a stricter policy of
halting when individual elements of the process do not succeed.

This release also incorporates the tool 'gist' for generating a one
page graphical overview and summary of the contents of a .g database.
This tool is the culmination of work by multiple student teams from
Texas A&M University and incorporates automatic layout features to
produce geometry-appropriate visual arrangements.

Also new in this release are capabilities for testing and repairing
triangle meshes. The lint command will now validate solid BoT
behavior with the raytracer, and the 'bot repair' command is able to
perform hole filling operations on some categories of non-manifold
BoTs. Another related new feature allows users to generate explicit
volumetric BoTs using plate mode BoTs as inputs via the 'bot extrude'
command.

This release introduces a major change in the management of 3rd party
dependencies. The src/other directory has been replaced by an
external repository specifically tasked with the job of managing 3rd
party libraries. By default BRL-CAD will download and build necessary
dependencies as part of its build automatically. However, note that
an internet connection is required by default to access this
repository. See the INSTALL file for more details and options for
preparing to build without internet availability.

Developers requiring only a subset of BRL-CAD (for example, if a
project only needs librt and its dependencies) can now define subsets
of BRL-CAD to build with the BRLCAD_COMPONENTS variable. See INSTALL
for more information.

  • improved obj-g import naming - Chris McGregor
  • added importer attr to stl-g and obj-g BoT objects - Cliff Yapp
  • improved object name generation for stl-g importer - Cliff Yapp
  • updated 3dm-g input attribute: converter -> importer - Cliff Yapp
  • fixed mged 'search -or' filter behavior - Cliff Yapp, Chris McGregor
  • major improvements to 'gist' features and usability
    - Rohan Dhawan, Leo Feng, Sam Hollenbeck, Timothy Pham,
    - Yida Zou, Chris McGregor
  • updated pinewood.g test model - Josh Baker
  • updated edcodes man page and help text - Josh Baker
  • update mvall man page - Josh Baker
  • updated OpenCV library to version 4.10.0 - Cliff Yapp
  • updated GDAL library to version 3.9.0 - Cliff Yapp
  • improved 3dm-g error message when file does not exist - Cliff Yapp
  • added new BoT raytracing validity checks to lint cmd - Cliff Yapp
  • removed upper limit on MGED pnts cmd point count - Cliff Yapp
  • added a -t option to bot flip to check BoT orientation - Cliff Yapp
  • fixed shaded drawing of CW BoT solids - Cliff Yapp
  • added reair man page - Josh Baker
  • added 'help reair' mged command help text - Josh Baker
  • added experimental 'imgdiff' command-line tool - Cliff Yapp
  • updated OpenNURBS library to version 8.8.24166.15000 - Cliff Yapp
  • improved 'help lc' mged command help text - Josh Baker
  • added 'help lint' mged command help text - Josh Baker
  • added man pages for 'bot check' and 'bot extrude' cmds - Cliff Yapp
  • enhanced bot extrude command to output a BoT mesh - Cliff Yapp
  • added bot check manifold cmd for bot validity testing - Cliff Yapp
  • added bot repair command for filling holes in meshes - Cliff Yapp
  • added Utah RLE image reading and writing to libicv - Cliff Yapp
  • added "standardize" option to GED attr command - Cliff Yapp
  • added -L option to dbconcat for lazy prefix/suffix use - Cliff Yapp

BRL-CAD 7.40.0

16 Aug 13:46

Choose a tag to compare

2024-08-16 Release 7.40.0

This major release of BRL-CAD improves the robustness of the facetize command. Building on work begun in 7.38.0, for the first time BRL-CAD is able to successfully facetize all of BRL-CAD's example geometries. This involves a major change to the processing pipeline of the facetize command, allowing handling of individual primitives to be fault tolerant and automatically attempting fallback methods. Historically BRL-CAD facetize has attempted to produce output meshes even when individual operations fail by silently skipping over failing inputs, but now this behavior is changed to a stricter policy of halting when individual elements of the process do not succeed.

This release also incorporates the tool 'gist' for generating a one page graphical overview and summary of the contents of a .g database. This tool is the culmination of work by multiple student teams from Texas A&M University and incorporates automatic layout features to produce geometry-appropriate visual arrangements.

Also new in this release are capabilities for testing and repairing triangle meshes. The lint command will now validate solid BoT
behavior with the raytracer, and the 'bot repair' command is able to perform hole filling operations on some categories of non-manifold BoTs. Another related new feature allows users to generate explicit volumetric BoTs using plate mode BoTs as inputs via the 'bot extrude' command.

This release introduces a major change in the management of 3rd party dependencies. The src/other directory has been replaced by an external repository specifically tasked with the job of managing 3rd party libraries. By default BRL-CAD will download and build necessary dependencies as part of its build automatically. However, note that an internet connection is required by default to access this repository. See the INSTALL file for more details and options for preparing to build without internet availability.

Developers requiring only a subset of BRL-CAD (for example, if a project only needs librt and its dependencies) can now define subsets of BRL-CAD to build with the BRLCAD_COMPONENTS variable. See INSTALL for more information.

  • improved obj-g import naming - Chris McGregor
  • added importer attr to stl-g and obj-g BoT objects - Cliff Yapp
  • improved object name generation for stl-g importer - Cliff Yapp
  • updated 3dm-g input attribute: converter -> importer - Cliff Yapp
  • fixed mged 'search -or' filter behavior - Cliff Yapp, Chris McGregor
  • major improvements to 'gist' features and usability
    - Rohan Dhawan, Leo Feng, Sam Hollenbeck, Timothy Pham,
    - Yida Zou, Chris McGregor
  • updated pinewood.g test model - Josh Baker
  • updated edcodes man page and help text - Josh Baker
  • update mvall man page - Josh Baker
  • updated OpenCV library to version 4.10.0 - Cliff Yapp
  • updated GDAL library to version 3.9.0 - Cliff Yapp
  • improved 3dm-g error message when file does not exist - Cliff Yapp
  • added new BoT raytracing validity checks to lint cmd - Cliff Yapp
  • removed upper limit on MGED pnts cmd point count - Cliff Yapp
  • added a -t option to bot flip to check BoT orientation - Cliff Yapp
  • fixed shaded drawing of CW BoT solids - Cliff Yapp
  • added reair man page - Josh Baker
  • added 'help reair' mged command help text - Josh Baker
  • added experimental 'imgdiff' command-line tool - Cliff Yapp
  • updated OpenNURBS library to version 8.8.24166.15000 - Cliff Yapp
  • improved 'help lc' mged command help text - Josh Baker
  • added 'help lint' mged command help text - Josh Baker
  • added man pages for 'bot check' and 'bot extrude' cmds - Cliff Yapp
  • enhanced bot extrude command to output a BoT mesh - Cliff Yapp
  • added bot check manifold cmd for bot validity testing - Cliff Yapp
  • added bot repair command for filling holes in meshes - Cliff Yapp
  • added Utah RLE image reading and writing to libicv - Cliff Yapp
  • added "standardize" option to GED attr command - Cliff Yapp
  • added -L option to dbconcat for lazy prefix/suffix use - Cliff Yapp

BRL-CAD 7.38.2

19 Mar 20:59

Choose a tag to compare

  • added "rtsurf" exterior surface area tool prototype - Sean Morrison
  • updated sqlite3 to version 3.45.1 - Cliff Yapp
  • updated libpng to version 1.6.43 - Cliff Yapp
  • updated zlib to version 1.3.1 - Cliff Yapp
  • updated and corrected dbconcat man page - Cliff Yapp
  • improved ambient occlusion rt during -k cut planes - Sean Morrison
  • changed rt ambient occlusion randomization default - Sean Morrison
  • added ambient occlusion example to rt manual pages - Sean Morrison
  • fixed rtweight output display inside MGED - Chris McGregor
  • added shipping container example geometry model - Josh Baker
  • added traffic light example geometry model - Chris McGregor
  • improved rtwizard command-line option reporting - Sean Morrison
  • added self-intersecting torus ray tracing support - Sean Morrison
  • fixed rt crash rendering to -F/dev/null - Sean Morrison
  • added mater man page density table example - Chris McGregor
  • adjusted default ghosting intensity in rtwizard - Josh Baker
  • fixed MGED command line handling of objects named 'y' - Cliff Yapp
  • fix double printing of last 'search -exec' result - Chris McGregor
  • improve 'search -v' to support multiple levels - Chris McGregor
  • update 'search -v' to report # of objects found - Chris McGregor
  • added a "bots only" mode to conversion.sh script - Cliff Yapp
  • fixed asc2g/g2asc support for brep primitives - Cliff Yapp
  • added brep and bot versions of pinewood .g model - Josh Baker
  • added new .g example file "Annual Gift Man" - Josh Baker
  • fixed dsp terrain file data loading for relative paths - Cliff Yapp
  • updated Manifold lib for improved facetize robustness - Cliff Yapp

A note about the binaries uploaded for this release - they have been compiled using the new "bext" method for third party library management, which means that the third party files included may be slightly different than what is produced by building with the standard src/other third party sources.

BRL-CAD 7.38.0

07 Nov 01:07

Choose a tag to compare

This major release of BRL-CAD introduces significant improvements to
the robustness of the facetize command by leveraging the Manifold
library for boolean evaluation of meshes. Facetization is an operation
that converts boolean CSG hierarchies to evaluated triangle meshes,
commonly used as a preliminary step in geometry export. As an
example, the following results show before-and-after differences when
processing high level assemblies in BRL-CAD's example geometry files:

% success, old: 88.9% (249 of 280) Time elapsed: 7256 seconds
% success, new: 98.9% (277 of 280) Time elapsed: 1044 seconds

BRL-CAD 7.36.0

27 Jul 02:09

Choose a tag to compare

This major release of BRL-CAD introduces significant updates to
geometry conversion support. The update includes modernization for
NURBS importing and interaction, BoT manipulation, and incorporates
many new formats for importing and exporting to BRL-CAD database
files.

The geometry conversion tool (GCV) now supports mesh importing
from: 3D, 3DS, 3MF, AC, AMF, ASE, ASSBIN, B3D, BVH, COB, COLLADA, CSM,
FBX, GLTF/GLB 1.0 + 2.0, HMP, IFC-STEP, IQM, IRR, IRRMESH, LWO, LWS,
M3D, MD2, MD3, MD5, MDC, MDL, MMD, MS3D, NDO, NFF, OFF, OGRE, OPENGEX,
Q3BSP, Q3D, RAW, SIB, SMD, TERRAGEN, X, X3D, XGL.
Additionally, GCV now supports mesh exporting to: 3DS, 3MF, ASSBIN,
ASSJSON, ASSXML, COLLADA, GLTF, PBRT, STEP, X, X3D.

This release also introduces new BoT subcommands to improve
manipulation and preparation. The subdivision "subd" command
incorporates 5 new subdivision algorithms. The "flip" command will
flip surface normals - effectively turning the BoT 'inside out'.
Lastly, the "smooth" command will smooth the BoT's topology.

  • Added a point-inside-object subcmd "inside" to analyze - Cliff Yapp
  • Added "flip" "subd" and "smooth" subcommands to BoT - Cliff Yapp
  • Fixed g-ply converter on Windows - Chris McGregor
  • Fixed infinite loop in noise generation - Sean Morrison
  • Fixed analyze in/out test for multi-segment ray hits - Cliff Yapp
  • Fixed analyze cmd crash when specifying invalid objects - Cliff Yapp
  • Fixed search -attr behavior with names having spaces - Cliff Yapp
  • Fixed nirt hanging on hits with a lot of output - Chris McGregor
  • nirt -b is now default behavior - Chris McGregor
  • Updated OpenNURBS library, 3dm-g now supports ver. 7 files
    - Cliff Yapp, Chris McGregor
  • Updated OpenMesh library to version 9.0 - Cliff Yapp
  • Updated Open Asset Import Library - v5.2.5 + fix - Chris McGregor
  • Updated Tcl/Tk to version 8.6.13 - Cliff Yapp
  • Updated NETPBM library to version 10.73.42 - Cliff Yapp
  • Updated GDAL library to version 3.6.3 - Cliff Yapp
  • Updated PROJ library to version 9.2.0 - Cliff Yapp
  • Updated PNG library to version 1.6.39 - Cliff Yapp

BRL-CAD 7.34.2

22 May 14:52

Choose a tag to compare

  • fixed a problem with matrix editing - Chris McGregor
  • fixed gcv reading of .g files as input - Cliff Yapp
  • add support to nirt non-drawn objects - Chris McGregor
  • reduced 'l' cmd verbosity for bot/brep primitives - Chris McGregor
  • fixed man page scrolling on Windows - Chris McGregor
  • fixed MGED file creation not applying extension - Chris McGregor
  • create 'reair' to quickly set aircode (like remat) - Chris McGregor
  • fixed 'search' of attribute equal to 0 - Chris McGregor
  • improve nirt output printing within MGED - Chris McGregor
  • fixed nirt -A (attribute) to work within MGED - Chris McGregor
  • fixed nirt -f (fmt) to work within MGED - Chris McGregor
  • fixed nirt of objects with hyphens in name - Chris McGregor
  • correct facetall.sh to automatically restart on failure - Cliff Yapp

BRL-CAD 7.34.0

29 Nov 18:13

Choose a tag to compare

With development efforts spanning several years, this major update to
BRL-CAD includes considerable progress on infrastructure for graphical
user interface improvements, geometry conversion, and physically-based
rendering. It also includes hundreds of logic and memory management
bug fixes, potential code vulnerability updates, and other issues
reported by Coverity and Clang Static Analysis.

This release also overhauls the way 3rd-party dependencies are managed
in BRL-CAD. Native build systems are now used in order for updates to
be more readily applied, to reduce maintenance overhead, and to set
the stage for the aforementioned major feature developments.

  • fixed perspective to orthogonal view toggling in archer - Cliff Yapp
  • removed 'nburst' rewrite with burst now deprecated - Cliff Yapp
  • fixed bot_merge with oriented plate mode bots - Sean Morrison
  • bot_dump infers output type from filename extension - Sean Morrison
  • readded MGED viewring, sweep, collab, & rateknob menus - Cliff Yapp
  • fixed a crash when shaded NURBS brep drawing fails - Cliff Yapp
  • added new man pages for brep, process, and ps commands - Cliff Yapp
  • added new man page for 3dm-g Rhino3D importer - Cliff Yapp
  • improved bot_dump default command help - Chris McGregor
  • improved suffix handling for 3dm-g converted primitives - Cliff Yapp
  • added -N view obj name option to overlay command - Cliff Yapp
  • added man page for MGED Overlaps Tool - Chris McGregor
  • major STEPcode updates, using unmodified upstream 0.8.1 - Cliff Yapp
  • added aircode reporting support to the lc command - Sean Morrison
  • 3dm-g now converts as encountered, not alphabetized - Chris McGregor
  • updated Tcl/Tk to version 8.6.12 - Cliff Yapp
  • updated netpbm to version 10.73.40 - Cliff Yapp
  • updated zlib to version 1.2.13 - Cliff Yapp
  • fixed mged -c 'unknown variable' warning dialogs - Sean Morrison
  • fixed and improved gqa grid spacing - Daniel Roßberg
  • improved mged & archer html command help formatting - Sean Morrison
  • fixed archer empty string ("") loading behavior - Cliff Yapp
  • rt* tools' -P option accepts negative #core counts - Sean Morrison
  • added text label size & rotation angle support to annotation objects
    - Ali Haydar, Himanshu Nayak, and Daniel Roßberg
  • gqa -Ae exposed air report no longer has gapped air - Sean Morrison
  • fixed rt framebuffer bug with -g/-G cellsize options - Sean Morrison
  • added new idents(5) file format manual page - Sean Morrison
  • preserved path prefixes on search cmd results - Cliff Yapp
  • new 'material' command and material object infrastructure
    - Dinges, Connelly, Olivarez, McGregor, Studwell, Wilson

BRL-CAD 7.32.6

09 May 03:03

Choose a tag to compare

  • reduced mged & archer max image size and memory use - Sean MOrrison
  • fixed librt handling of object names with '/' chars - Cliff Yapp
  • changed fast4-g to not make references to empty regions - Cliff Yapp
  • fixed gcv option handling - Cliff Yapp
  • updated bundled Eigen dependency to v3.4.0 - Cliff Yapp
  • fixed bot_merge crash when bots are of different types - Cliff Yapp
  • fixed nirt -L to not require database and objects - Sean Morrison
  • fixed bug reading older VOL objects with file data - Sean Morrison
  • fixed pixscale bug when scaling images down - Sean Morrison

BRL-CAD 7.32.4

29 Jul 15:15

Choose a tag to compare

  • Added -matrix search filter for finding comb matrices - Cliff Yapp
  • fixed MGED handling of long running subprocesses in script mode
    - Cliff Yapp, Sean Morrison
  • improve documentation for bot modes in bot and search - Cliff Yapp
  • added -o output option to GED stat command - Cliff Yapp
  • fixed overlay support for drawing multiple files - Cliff Yapp
  • fixed file creation for tire command - Cliff Yapp
  • fixed mixing object and full path searches in MGED - Cliff Yapp
  • fixed launching of ISST graphical viewer - Cliff Yapp