BRL-CAD is a powerful cross-platform constructive solid geometry solid modeling system that includes an interactive geometry editor, ray-tracing for rendering & geometric analyses, network distributed framebuffer support, image & signal-processing tools.
---------------------------------------------------------------------- --- 2012-06-25 Release 7.22.0 --- ---------------------------------------------------------------------- After many months of development, this release includes hundreds of fixes for source code defects, logic and memory management bugs, potential security vulnerabilities, and numerous other issues reported by Coverity Static Analysis. While having participated in the Coverity Scan Initiative since inception in 2006, this release marks a completion milestone with the review and resolution of all reported issues, more than 2100 overall. Every defect was inspected, code modifications were peer-reviewed, critical features were tested, and user-visible changes were documented. Along with other on-going improvement efforts such as treating all compiler-generated warnings as errors, time and attention continues to be put forth towards improving BRL-CAD's maintainability and source code quality. Development of BREP/NURBS representation support within BRL-CAD continues to mature with this release including ray tracing improvements, tighter bounding boxes for better performance, progress converting from traditional implicit+CSG representations to NURBS+CSG, wireframe improvements, and a thorough verification and validation (V&V) review for analysis suitability. The V&V review compared BRL-CAD's primitives in implicit, polygonal mesh, and NURBS form evaluating more than a dozen separate tests looking for differences in rendering, curvature, presented areas, volume, and more. The review identified a couple minor issues that were inspected and fixed but successfully demonstrated the viability of using our BREP/NURBS implementation for geometric representation and analysis purposes. This release introduces numerous major feature developments including the initial implementation of a new physics simulation capability, a new ambient occlusion rendering mode, and the integration of rtwizard into Archer. The simulation system was developed by Abhijit Nandy under the European Space Agency's 2011 Summer of Code in Space (SOCIS) program; and it allows BRL-CAD geometry objects to dynamically interact with each other (e.g., collision detection, friction) or with the environment (e.g., gravity). Ambient occlusion is a shading method that helps add considerable realism and feature definition to renderings, enabled within rt using the "set ambSamples=128" command. The rtwizard rendering interface was extended to work as a command-line tool (useful for scripting) and was integrated within Archer as the underlying rendering interface. Conversion support continues to be a development priority with significant importer enhancements for the STEP, OBJ, COMGEOM, FASTGEN, and RAW file formats. The STEP importer in particular receives several updates, support for importing assembly hierarchies, and is in the process of being fully ported to Windows. This release also fixes more than 40 user-visible bugs including a significant database corruption issue. A database corruption issue was discovered and fixed affecting 64-bit big endian platforms (e.g., IBM Power Series supercomputers) when writing out ebm, dsp, vol, and hf primitives. BRL-CAD's documentation continues to be extended, improved, and translated due to the sustained efforts of several contributors. Manual page documentation is now available on Windows through the 'brlman' command and within MGED. Several utilities and commands that previously had no documentation now have manual pages; many others received corrections and improvements. The introductory article "About BRL-CAD" is now available in Russian, Italian, and Armenian. * numerous manual page corrections and improvements - Tom Browder * integration of rtwizard traits into archer - Bob Parker, Cliff Yapp * new asc2dsp prep tool for displacement map data files - Tom Browder * fixed a problem with rt writing pix files on Windows - Bob Parker * added new raw-g raw triangle mesh to BoT importer - Daniel Roßberg * added Windows man page support (using html) to brlman - Cliff Yapp * added support for section numbers to brlman script - Cliff Yapp * new manual pages for asc2dsp, dsp, asc2pix, and asc2g - Tom Browder * fixed bug creating binary uniform (binunif) objects - Sean Morrison * fixed memory corruption bug reading v4 geometry - Sean Morrison * fixed bug where small raytraces were being rotated - Erik Greenwald * ios-icon.sh script added for generating IOS icons - Erik Greenwald * support for implicit to boundary representation geometry conversion - Cliff Yapp, Wu Jianbang, Sean Morrison * added rtwizard support for writing out .png images - Bob Parker, Cliff Yapp, Richard Weiss * fixed region demotion bug in the mged 'red' command - Richard Weiss * added implicit conversion support to 'brep' command - Wu Jianbang * improved NURBS raytracing grazing hit & edge behavior - Keith Bowman * added initial documentation for make_pnts command - Richard Weiss * fixed gqa crash when specified objects didn't exist - Richard Weiss * rtedge and rtwizard support multiple occlusion objects - Bob Parker * fixed mged matrix edit bug selecting the last matrix - Bob Parker * added 'lc' command to mged for listing region codes - Richard Weiss * fixed rtedge/rtwizard edge overlay rendering bug - Bob Parker * fixed 'open: Permission denied' rtedge output file bug - Cliff Yapp * upgraded libpng to 1.5.10 - Cliff Yapp * fixed various memory leaks in the comgeom-g geometry importer - Tom Browder, Nick Reed * fixed comgeom-g bug importing ars primitive objects - Tom Browder * added new command-line invocation support to rtwizard - Cliff Yapp * fixed BoT mesh hit offset and vanish TIE render bugs - Keith Bowman * improved nurbs raytracing when shooting from inside - Keith Bowman * added 'draw'/'e' -m1 option for shading BoTs in mged - Richard Weiss * expanded docs on mged listeval and 'l' list commands - Richard Weiss * removed obsolete 'syn' multi sine synthesis tool - Sean Morrison * fixed memory corruption in vegetation generator tool - Sean Morrison * fixed ARS bounding box size affecting overlap handling - Cliff Yapp * fixed bug in fast4-g importer handling HOLE/WALL cards - Nick Reed * fixed field truncation bug in comgeom-g importer - Tom Browder * fixed log file clobber bug in the benchmark suite - Cliff Yapp * enabled new 'select' command for use within mged - Richard Weiss * added preliminary object 'select' command to archer - Bob Parker * improved support for the Intel C/C++ compiler (icc) - Sean Morrison * now sorting top level object alphabetically in rtwizard - Cliff Yapp * "About BRL-CAD" article translation to Russian - Ilya * "About BRL-CAD" article translation to Armenian - Karen Mgebrova * "About BRL-CAD" article translation to Italian - Unknown Contributor, Tom Browder * improved handling of rgb/color attributes by adjust cmd - Cliff Yapp * added initial support for step-g import of assemblies - Keith Bowman * added a basic SWIG spec file - Erik Greenwald * fixed referenced object highlighting in archer treeview - Bob Parker * fixed error handling input reading failure in burst - Sean Morrison * fixed memory double-freeing issue in shp-g - Erik Greenwald * added optional scaling parameter to autoview command - Sean Morrison * fixed extrude object bug rendering at near right angles - Bob Parker * added -h option to nirt to suppress header printing - Cliff Yapp * fixed nirt attribute reporting for specified attributes - Cliff Yapp * fixed ebm/dsp/vol/hf corruption on 64-bit big endian - Sean Morrison * fixed step-g importer memory management issues - Keith Bowman * improved tab-completion behavior for mged and archer - Sean Morrison * fixed pervasive string handling memory leak - Tom Browder * improved table output formatting for 'analyze' command - Tom Browder * improved rtweight portability and density file parsing - Tom Browder * fixed crash in anim_cascade animation tool - Nick Reed * fixed bug in gif2fb processing non-interlaced images - Sean Morrison * fixed crash in coil when using -S and -l options - Cliff Yapp * fixed mged 'make_pnts' command resource contention bug - Nick Reed * fixed nirt memory leak and scriptfile off-by-one bug - Sean Morrison * d2-c now handles the imaginary part correctly - Erik Greenwald * fixed raytracer crash if output file creation fails - Erik Greenwald * restored mged BoT editing interface functionality - Tom Browder * fixed mged 'solids' and 'regions' command crashes - Tom Browder * fixed orientation bug in mged 'ypr' rotation command - Nick Reed * fixed mged bug setting color via Combination Editor - Nicholas Reed * fixed numerous xyz/ypr orientation bugs in anim tools - Nick Reed * improved tessellation of pipe bends for conversion - Richard Weiss * fixed keypoint vertex bug when editing extrude objects - Nick Reed * fixed eto error converting hyp objects with asc2g tool - Nick Reed # fixed mged bug processing edcodes command arguments - Bob Parker * various improvements to NMG polygonal mesh processing robustness - Nick Reed, Sean Morrison, Richard Weiss * improved bad face handling within the obj-g importer - Nick Reed * fixed crash during rt -c "ae 35 25" view change - Bob Parker * added -r BoT orientation option on the obj-g importer - Nick Reed * added ambient occlusion shading method to rt - Lee Butler * fixed attribute handling bug affecting v4 geometry - Daniel Roßberg * reid command now reports the highest region ID set - Carl Moore * batch script shortcuts now set PATH on Windows - Sean Morrison * fixed g-obj error when exporting facets - Christopher Pitts * added 'l' list command to archer so 'g' expands args - Bob Parker * added length parameter documentation for 'coil' command - Cliff Yapp * improved performance of boolean evaluations - Richard Weiss * added support for braces around shader parameters - Nick Reed * improved boolean evaluation converting to polygons - Richard Weiss * ported the obj-g geometry importer to Windows - Nicholas Reed * improved import robustness and parsing of OBJ geometry files - Nicholas Reed, Richard Weiss, Mike Tegtmeyer * added new physics 'simulate' command to mged/archer - Abhijit Nandy * improved archer bot selection utility with sorted names - Bob Parker * added 'bb' bounding box command usage within mged - Tom Browder