Planned Features
Add support for more object datasets (ideas are welcomed, just open an issue with a dataset you want to see integrated)
Support non-rigid physics simulation
Improve performance
Deprecate Global Storage
Version History
Version 2.7.0 26th January 2024
upgrades to blender 3.5.1 (#788)
adds helper methods for easy 3D-2D projection/unprojection, including
bproc.camera.depth_via_raytracing()
,bproc.camera.pointcloud_from_depth()
,bproc.camera.project_points()
,bproc.camera.unproject_points()
, see also point_cloud example (#1045)removes support for obsolete .yaml configuration files (#962)
speeds up bop writer for large number of objects - for 300 objects, the bop writer execution time reduces from 60s to 12s with 8 cores (#996)
adds warning if hidden objects are given to bop writer (#998)
skip transparent cc materials per default (#1004)
rework of
duplicate()
: allows linking and keeps parent relative transformation matrix (#1012, thanks @AndreyYashkin)moves
hide()
andis_hidden()
to Entity class (#1015, thanks @AndreyYashkin)fixes optical flow output key being overwritten by RGB (#963)
fixes
--custom-blender-path
on windows (#972)adapts downloading cc_textures to new naming scheme (#976, #993)
fixes issue in light projector (#995, thanks @beekama)
fixes skipping annotation indices when appending coco annotations (#1024)
fixes frame offset in rendering progress bar (#1038, thanks @burcam)
Version 2.6.2 6th December 2023
Fixes blender download
Version 2.6.1 26th August 2023
Fixes pyrender usage on windows, EGL / headless rendering is now only used on linux
Version 2.6.0 17th August 2023
BOP toolkit is now tightly integrated into the the BOP writer:
Ground truth masks and coco annotations are now directly calculated when calling the BOP writer
Instead of using vispy for renderings the masks, we switched to pyrender which speeds up the process a lot
rendering/physics log is now hidded per default and instead a pretty progress bar is shown
upgrades to blender 3.3.1
its now possible to render segmentation images in stereo mode
adds method to MeshObject to convert to trimesh
fixes rendering on cpu-only (thanks @muedavid)
adds support for loading .glb/.gltf meshes (thanks @woodbridge)
adds support for loading .fbx meshes (thanks @HectorAnadon)
allows setting rotation for hdri backgrounds (thanks @saprrow)
incorporate location changes to urdf local2world matrix calculations
allows setting brightness for hdri backgrounds
bproc.object.sample_poses_on_surface()
now hides objects which could not be placed instead of deleting themremoves duplicate categories and fixes segmentation id when writing scene_gt.json annotations in BOP writer (thanks @hansaskov)
get_all_cps()
now returns a proper dictionary (thanks @andrewyguo)replaces deprecated
np.bool
with bool (thanks @NnamdiN)refactoring of haven download script to support multithreading (thanks @hansaskov)
fixes loading stl files in urdf files
loading a .ply objects automatically sets the materials to its vertex color if no texture file was found.
username is now retrieved in a more platform independent way (thanks @YouJiacheng)
coco annotations are now nicely formatted (thanks @andrewyguo)
object pose sampler now correctly sets rotation if mode on failer was set to
initial_pose
Version 2.5.0 20th September 2022
segmentations are now done in the same call as any other render call, avoiding the loading of the objects for each pose
added the kinect azure noise model, allowing for the creation of more realistic depth images
added a spotlight intersection mode, which places a spotlight in the world without intersecting with the current camera frustum, while it focuses on the middle of the camera frustum, creating hard lighting situations
add an importer for the MatterPort3d dataset
the key of custom properties now can no longer have the same name as any attribute of the
blender_obj
. Custom properties do not need to start withcp_
anymoreadd a new paper designated for the journal of sensors
we now use pylint to clean up all code smells and add documentation to all functions
the bop loader now also supports the hope dataset
separate the init and clean up functions
it can now be specified which GPU to use for rendering, if multiple are available
rewrite the ambient CG download script, allowing resuming the download
turn of the cycle denoiser causing issues in certain settings
add a random walk feature, which allows simulating a camera shaking or POI drift
the duplicate and delete fcts now support duplicating all children as well, we added a
get_children
fct as wellrenaming
get_rotation
toget_rotation_euler
and adding functions for setting the rotation matrixfix a bug in the move_origin_to_bottom_mean fct.
Version 2.4.1 22th July 2022
allow writing poses for robot links in the BopWriter
loading .obj files now uses the faster importer
fix a pip install bug
fix a bug in the LinkUtility of the URDF loader
Version 2.4.0 20th July 2022
add urdf support:
this enables the simulation of robotic arms with forward and inverse kinematics
add an example to show of how this works
add a new face slicer option, making it easier to slice the top of a table away for placing objects on them
add a new example for sampling objects in 3D Front scenes
switch to vhacd version 4.X allowing for faster decompositions than before, speeding up the simulation
add an option to link blend files instead of loading them (faster, but objects can not be changed after linking)
add a new replica loader, loading semantic objects instead of just one mesh for the whole scene
add basic support for apple silicion (M1, M2), this might still mean that some packages have to be installed on their own afterwards
add return random material to the load haven material function, the function returns also now the full loaded list of materials
add new function to create a material based soley on a texture (Path or bpy.types.Image)
upgrade to blender 3.2.1
reduce the memory demand of the semantic segmentation by fixing a small bug
fix a bug where the coco annotation writer wouldn’t work if the frame_start is not zero
fix a bug where writing alpha images in the bop writer did not work
fix a bug where pip would reinstall packages all the time
fix a bug where on windows the pip path would be wrong
Version 2.3.0 22th March 2022
upgrade to blender 3.1.0
add support for Apple Silicon and GPU on Mac OS 12.3
add new stereo image projector, making it easier to simulate SGM depth
add quickstart command
blenderproc quickstart
add gif writer
function to scale the UV texture coordinates of a
MeshObject
object.sample_poses()
now also supports amode_on_failure
, which allows to control where the object is placed if the sampling fails @marcelhohnimprove error message for python 2.X
bug fixes:
set_origin()
doesn’t change the cursor position anymore @marcelhohnvis hdf5 --save
now also supports stereo imagesimprove error message when rendering with no camera poses
fixed a bug where the windows path was incorrect for blender @marcelhohn
fixed a bug when the category name is an int during coco vis
load_haven_mat()
now loads more materials, not all materials have been used before @Victorlouisdg
Version 2.2.0 17th December 2021
switch blender version to 3.0.0 instead of 2.93.0
we now rely on Cycles X, making the rendering much faster than before
this also depreactes the usage of
bproc.renderer.set_samples()
, this is now replaced withbproc.renderer.set_noise_threshold()
. This fcts allows to set the desired noise ration on a pixel basis, giving a much higher control to ensure a certain consistent noise level in the whole image.it is still possible to limit the amount of samples per pixel with a new function named:
bproc.renderer.set_max_amount_of_samples()
as the whole image is now rendered at once we removed the auto-tile addon
the BLENDER denoiser is no longer available, we recommend using the INTEL denoiser.
remove the argument
keep_using_base_color
frombproc.lighting.light_surface()
andMaterial.make_emissive()
, now either a emission color or the base color is usedchanges for the bop integration
install bop_toolkit automatically
add BlenderProc2 python scripts for BOP challenge
allow to pass list of objects to
write_bop
for which to save pose annotationsdivide
load_bop()
intoload_bop_objs()
,load_bop_scene()
andload_bop_intrinsics()
to decouple the functionalit
fix a bug after uninstalling pip packages they were not truly removed
Version 2.1.0 17th November 2021
add new lens distortion module, adding the possibility to simulate
k1, k2, k3, p1
andp2
parameters.improve usability of distance rendering, make it the default in all examples
distance and depth rendering can now be done antialiased and non-antialiased
add a nocs renderer: paper
upgrade the shell sampler and rework the usage and documentation
move
run.py
tocli.py
and support the same CLI arguments as forblenderproc ...
make caching of pip installs the default (faster start-up) and add option to reset them if needed
refactor the vishdf5 script using the same content now for saveAsImg
clean up the scripts folder and move it completely into blenderproc
include all packages (like vhacd) in the pip install package
fix bug with light internal blender_obj after an undo operation
add OPTIX as denoiser option
add possibility to read
jpeg
fix
use_ray_trace
inbproc.sampler.upper_region
added an exception if not the correct python environment is used
Version 2.0.0a7 13th October 2021
fix
Light
class to work properly withbpy.types.Light
inload_blend
fix the stereo matching example add missing parameter to fct. call
Version 2.0.0a6 13th October 2021
moved to a full python API support (
.yaml
files are still supported)blenderproc can now be installed via pip:
pip install blenderproc
complete new structure to most of the files
offer new command line interfaces:
blenderproc run
,blenderproc debug
,blenderproc vis
and many moreoptional/flag arguments can now be used in the users python script
adds feature to render multiple times in one session (see example
advanced/multi_render
)added tutorials to get easy start with BlenderProc
adjusted all examples to explain how the python API would be used there
restructured the documentation
fixed a bug with the view layer update, which wasn’t done before the scene coverage score was calculated, which caused problems in the 3D-FRONT examples.
removed a lot of view layer update calls, which makes the whole execution faster, by manually calculation the
matrix_world
.vertex colors can now be used with a Principled BSDF shader
all images are now moved into a seperate
image/
directoryall functions now use type hints
Version 1.12.0 23th July 2021
switch to blender 2.93, with that textures are now stored on the GPU between different frames increasing the speed drastically
moved a lot of modules to the python API
all camera samplers
all writer classes
sampler and getters
surface lighting
random room constructor
all outer API functions work now with numpy arrays instead of mathutils classes
regroup all examples to make them more easily accessible
refactoring of the LabelIdMapping class
sampler.Path now has a
return_all
andrandom_samples
optionadd support for the new 3D front labels and script to find them more easily in the future
AMASS now also supports
torch=1.8.1+cu111
, to better support modern GPUsrefactor download script for haven
added a flag to not center objects from the ShapeNet dataset
added a platform independent unzipping function to solve the problems on windows
add function to return the default_value or the connected node based on the input name of a BSDF shader node of a material
fix for MacOS, where the blender version was not used in prior installations, leading to the problem that users had to remove blender on their own
the writer now correctly writes the fov if asked
Version 1.11.1 18th May 2021
fix a bug on mac os, where the blender python path has changed
fix a bug in the BlenderLoaderModule which caused that the setting of custom properties was not successful
Version 1.11.0 11th May 2021
BlenderProc now can be executed via a python script (experimental, not all modules are supported yet)
python API extension for the following modules:
the Entity & Material Manipulation
the WriterUtility, Hdf5Writer, BopWriterUtility, CocoWriterUtility
the PostProcessing
the physic positioning, PoseSampler
debugging can now be done via the command line, by just typing –debug after a BlenderProc call
add automatic convex decomposition to speed up physics, object decompositions will be cached
add a jupyter notebook example for google colab
add a BasicEmptyInitializer module, which helps creating simple empty objects, these can be used for using a depth of field
add a depth_of_field option to the CameraInterface (thanks to cuteday)
add a hide module, so that certain objects can be hidden in a selected range of frames (thanks to Sainan Liu)
add an option to change the computation type via the config
blender 2.92 changed depth and distance once again, we use it correctly now and added an explanation
added a diffuse rendering mode
added a key frame API
added a default config, which can be easily changed
ObjectPoseSampler now can check also against only a limited set of objects
ObjectReplacer now stops if no objects are left to replace
SurfaceLighting now reuses the TextureLess material
preloading in CCTexture now also works perfectly for textures which use an alpha texture
python packages now are installed by specifying the required packages at the top of each file
added an example for pasting objects onto random backgrounds
added a flag to merge BlenderKit objects, while loading, they will be named after the blenderkit file
reintroduce persistent transformation scaling to improve stability
improve the clean up at the start of BlenderProc
fixed a bug in the Front3DLoader, which avoided the correct setting of the custom properties
fixed a bug with the once_for_all mode for the randomize materials fct.
add a simple rerun script to show how BlenderProc is used for creating a diverse dataset
switch to blender 2.92
Version 1.10.0 24th February 2021
rewritten the
BlendLoader
, which is now able to only load objects of a given type, this will break existing config files as theload_from
parameter has been replaced bydatablocks
andobj_types
the
MaterialManipulator
can now overlay/mix a texture with a selected materialthe
MaterialManipulator
can now mix/add a material with another selected material, ideal for creating surface imperfections on other materialsthe
MaterialManipulator
can now add a layer of dust on materials, which simulates dust flakes on top of the object, there also exists now an example for itamount_of_repetitions
can now be used with providersfull integration of the blenderkit module, including modules and textures with an example
LoaderInterface
now offers an auto shading modethe
CCMaterialLoader
uses now a preselected list of probably useful materials by default to avoid non tileable materialsrestructure loaders and move their functionality to the utilities (necessary for the API changes for 2.0.0)
Version 1.9.0 10th February 2021
all
Loader
now support setting theadd_material_properties
of the newly loaded objectseach new
.hdf5
file, will contain the git commit hash of BlenderProcintroduce
LightUtility
-> this fulfills our long time goal giving BlenderProc a python APIchanged the default stereo mode from
OFFAXIS
toPARALLEL
adapt to the changes made to 3D Front, as 3D Front does not have a version number, we support the newest version and a version from Summer 2020, if you have errors please open an issue
getter.Material
can now return all materials of a list of objects, selected via thegetter.Entity
add a
cf_add_*
fct to the MaterialManipulator, which works similar to thecf_set_*
fct.add
check_empty
togetter.Entity
and togetter.Material
to throw an error if the returned list is emptyadded a
cf_add_uv_mapping/forced_recalc_of_uv_maps
option to force to recalculate the uv map of materials, which already have a uv mapadded option that randomized materials in
cf_randomize_materials
are added to objects without any materialschange that
cf_randomize_materials
inside theEntityManipulator
now deals with lists and not single elements as beforeadd auto download for the imageio library, if that fails an exception is thrown with instructions on how to do this yourself
CameraInterface
now supports setting poses for a certain frame -> also needed for the python APIchanged the
depth_scale
default value in the BopWriter from0.1
to1.0
, added an option to change via the configchanged the
ignore_dist_thres
default value in the BopWriter from5.0
to100.0
improved the ShapeNet example, by adding a ShapeNetWriter, which saves which object was used in the
.hdf5
containerfixes a bug with the separation of ceilings and floor objects in SceneNet scenes
fix a bug, where the
add_alpha_channel_to_texture
fct. couldn’t deal with empty material socketsfix the
pyhsics_positioning
example by using thecollision_shape="MESH"
fix a bug, where empty material_sockets would have been returned in the
getter.Material
fix
vis_coco_annotation
script, didn’t work anymore after the segmentation map rewrite
Version 1.8.2: 27th January 2021
added stereo mode to SegMapRenderer
switched to using imageio for reading images, as the blender image loading API does not support .exr files written in stereo mode
added option to write world-to-cam transformations to the BopWriter
CocoAnnotationWriter does now in the polygon format not write empty segmentation lists anymore and uses iscrowd:0
type hints are now added to the generated documentation
extracted reusable rendering code from the renderer modules into utility classes
Version 1.8.1: 14th January 2021
fixed a bug in the WriterInterface
fixed cc_texture downloader script in the case of weird urls
fixed creating the ceiling when there are rounding errors in the vertices coordinates
Version 1.8.0: 11th December 2020
massively improve the documentation, by adding using github pages for our documentation: https://dlr-rm.github.io/BlenderProc/index.html
add a RandomRoomConstructor:
This module can generate random floor plans of single rooms, with arbitrary extrusions.
It can also randomly place loaded objects without collision inside of the room
By using CCTexture it is also possible to assign random materials to the floor, wall and ceiling
remove the SceneNetLighting module and replace it with the SurfaceLighting module, to make it more general
add support for the haven websites and add an example and corresponding loaders:
The haven environment website: https://hdrihaven.com/
The haven model website: https://3dmodelhaven.com/
The haven texture website: https://texturehaven.com/
add option to the CameraSampler to ensure that a certain object is always in the camera view
improve the FloorExtractor to extract the floor and ceiling in SceneNet and other scenarios
improve the skin tones for AMASSLoader
add a proper scaling to the ikea dataset, by converting all files into SI units
fix the ikea dataset downloading, by removing and splitting broken pieces, we advise to redownload the dataset
Version 1.7.0: 1st December 2020
switch to blender 2.91
added an example of how to set object poses via a transformation matrix and set camera extrinsics / intrinsics via a transformation matrix and a K matrix
added camera utility class which makes it easier to set and retrieve intrinsics via any K matrix
added loader for Pix3D dataset
added loader for AMASS dataset
added loader for the ikea dataset
added community driven support for Windows
added motion blur and rolling shutter support
fixed collision checks between meshes, so the ObjectPoseSampler is not generating colliding object poses anymore
fixed cleanup of temporary directories in the case of an error
set pixel origin to the center of a pixel, slightly affecting intrinsics and depth outputs
fixed coco annotations if background is not visible
added support for transparent background
fixed wrong image size in coco annotations
fixed blender proc if non-english language is configured
when loading ply files a default material is now added
fixed setting matrix_world via the entity manipulator
fixed the scenenet examples (corrects physics positioning and camera sampling)
Version 1.6.1: 25th August 2020
fixed bbox computation in the Coco Annotations
fixed visualization of Coco Annotations
add set properties fct. to BlenderLoader
adds a script to download all materials from BlenderKit (not used yet)
Version 1.6.0: 24th July 2020
added an
TextureLoader
, which can load images and store them as blender texturesadded a provider to access these loaded textures
removed the
MaterialRandomizer
moved the whole functionality from the
MaterialRandomizer
to theEntityManipulator
fixed a bug in the SUNCG material loading, where for a few objects the diffuse material was confused with an alpha material
add set_properties for
Front3DLoader
fixed the
min_interest_score
that it works with more than just SUNCGfix a bug in the visHdf5 scripts with distance maps which had several channels
improved documentation for
min_interest_score
andcheck_pose_novelty_translation
Version 1.5.1: 17th July 2020
adding support for 3D-Front: https://tianchi.aliyun.com/specials/promotion/alibaba-3d-scene-dataset
added to example on how to use 3D-Front
fixed visualization of newly generated SegMapRenderer results
fixed combining several coco annotations
added option for the “class” key for default values in the SegMapRenderer
fixed a bug in the SegMapRenderer when used in debug mode
Version 1.5.0: 14th July 2020
rename depth to distance (this is the difference between taking at each pixel the Z coordinate (in the camera coordinate system) or the distance from the optical center, as sensors usually produce depth and not distance, we changed this)
create postprocessing module to calculate the depth out of the distance image
rewriting of the SegMapRenderer, it now supports the mapping of any attribute or custom property of an object to an image or a csv file
reworking of the used coco examples to better work with this new SegMapRenderer
adapting CocoAnnotationsWriter to write category_ids which must be defined in a Loader or in a .blend file
adding support for a supercategory inside of the coco annotations tool (useful for bop dataset names)
add texture provider, which can generate random textures, which can be used in a displacement modifier
added to the EntityManipulator:
option to automatically generate a UV mapping for an object
added option for displacement modifier adding to objects
added an example for the entity_displacement_modifier usage
the sampler.Value now supports gaussian sampling
reworked some parts of the Hdf5Writer, to better work with depth and distance
added a check to the CocoUtility to avoid that the bounding box has a area of zero
remove the provider.ContentGetter as it was confusing, now it works directly without it
add an Interface in the naming of some modules, if they are not supposed to be run by the pipeline directly
change the sample amount for the FlowRenderer to 1 as a higher sampling density integrates over several objects in one pixel
added a step function in the alpha mode of the renderer to avoid artifacts, when rendering semantic segmentations
support for setting different fx/fy values in the camera module
remove the pixel_aspect_x/pixel_aspect_y/resolution_x/resolution_y from the renderer is now in Camera
fixed a bug when the unknown texture folder in the scenenet dataset was not created before
improved the loading of camera parameters from files
added a feature for supporting changes of the “category_id” for the WorldManipulator
improved the visHdf5/saveHdf5/generate_nice_vis scripts
switches to blender 2.83.2
Version 1.4.1: 3rd June 2020
switches to blender 2.83
adds support for adaptive sampling (Renderer/use_adaptive_sampling) -> can decrease rendering time for complex scenes if used
add random_samples option for entity getter
add friction/damping for physics positioning
add JPG save option for RgbRenderer
add uniform elevation sampling in Shell Sampler
add in plane rotation option for look_at/direction camera rotations
add postprocessing.Dist2Depth to convert Blender distance images to depth images
UpperRegionSamlper can sample in relative area on selected face
improve physics by using convex hull and box collision shapes
obj.rigid_body.use_margin = True, to actually use margin
add a Smooth Shader cf to entityManipulator
BopWriter improvements, outputs chunks of 1000 images
exclude objects like planes from proximity checks
fix transparency bounces
add custom property cp_bop_dataset_name
add bop_challenge example with all configs used to render the provided synthetic data
add bop_object_on_surface_sampling for sampling upright objects
docu improvements and step by step explanations of config files
Version 1.4.0: 15th May 2020
added the NormalRenderer functions to the RGBRenderer saves a render call, when generating normal images
added a script to automatically download all PBR assest from https://cc0textures.com/
add CCMaterialLoader, which can load all downloaded materials from cc0textures, to randomly replace them later
add support for ShapeNet
add support for SceneNet, including the lighting, which is modeled after the SUNCG lighting module.
massive docu improvements, added a type to all config values and a default value if one is there
added examples for:
bop_object_physics_positioning
bop_object_pose_sampling
bop_scene_replication
on_surface_object_sampling
scenenet
scenenet_with_cctextures
shapenet
shapenet_with_scenenet
shapenet_with_suncg
suncg_with_improved_mat
added object OnSurfaceSampler (similiar to the phyiscs but faster and places object only on the bb)
added WorldManipulator (can change custom properties of the world, like the category_id)
switched to config version 3.0
global initialized values are now in the main.Initializer
added a GlobalStorage to save variables over module boundaries
add VisNormalImage for debugging mode, which visualizes a depth & normal image in blender
material selectors now also support AND and OR conditions
add automatic detection of optix graphics cards
added a min interest score for the CameraSampler
added a novelty pose checker for the CameraSampler, to avoid clustering of camera poses
global config values are now not longer added to the modules config, only in the event that there is no module found the global config is checked
rename SUNCG materials to the textures they load, makes selecting them easier
SUNCG materials are now shared over objects, if they share the same properties, also true for lights
rewrite of MaterialRandomizer to make use of the new cc0textures
added a Bop Writer to write out the current scene config in the BOP format
add the solidify modifier to the options of the EntityManipulator
add a PartSphere sampler to e.g. only sample in the upper half of a sphere
add a script to download scenenet to make the use of it even easier
add easy option to change specular values for materials with the MaterialManipulator
added the option to make runs deterministic by introducing a env variable:
BLENDER_PROC_RANDOM_SEED
added a Basic Color Sampler
improved the capabilities of the DiscSampler
now all custom properties should be accessed in the config via: “cp…” for custom functions: “cf“
add texture support for ycbv objects in the BopLoader
change the default results of the SegMapRenderer to NYU ids instead of the row-index in the .csv file.
Version 1.3.0: 25th March 2020
added Optical Flow Renderer
added Stereo Global Matching Renderer (SGM) -> which takes two color images and produces “non-perfect” depth images
added option for SGM to also write disparities
added a new material manipulator
added a material getter to select materials based on certain conditions
combined BOP with this repo -> now the only difference is the readme
added contribution guidelines -> which include commit message guidelines and branch name guidelines and much more
matrices can now be read via the config file
added a cached options to the import objects
added request custom property for the entity getter (to ensure that a custom property is changed)
added ReplaceObject
added option that in debugging the RgbRenderer get executed except for the actual rendering part all others are executed and then undon
added collision mesh source to the physics module
added option to coco annotations to append the output to an existing coco file
added bounding box selection to getter.Entity and also just axis aligned hyper plane checks
added a 1D sampler for float/int/bool
added postprocessing to the example to reduce the amount of channels in the depth image
added visualization for stereo and optical flow
added an oil filter for the SGM result
added a path sampler
added a blender collection loader
added the RockEssentialLoader based on the RockEssential dataset
added index to getter.Entity to request only a certain element of the selection
fix three bugs in the physics module, where the mass_scaling was always used and the location not properly updated
fixed a bug where color images where wrongly saved in float now back to uint8
fixed a bug in the coco annotations writer + adapting of the example
fixed bug in load_image, where the dimensions where switched
fixed a bug when “home_local” is not available than “home” is used
fixed bug where run.py can only be run from the main folder
fixed pypng version in bop example
fixed bug where the volume calculation for bounding boxes did not work as expected
refactored the disc sampler
cleaned up all readmes
Version 1.2.0: 31th January 2020
added more detailed examples to most of the important modules
adapt CoCo annotation tools to newer Version of SegMapRenderer
background class is now zero when doing instance segmentation
renamed getter.Object to getter.Entity, same for ObjectManipulator is now named EntityManipulator
entity conditions do now work with AND and OR connections
strings are now matched with fullmatch instead of search in entity conditions
conditions now support bool custom properties
material randomizer now supports getter.entity providers
added UpperRegionSampler, which can sample on the up surface of the bounding box of an object
scripts now support execution with python3.x
physics are now saved with bool instead of active and passive
physics options for simulator added
remove version number -> only blender version 2.81 supported
the ObjectLoader can now load several objects at once and set their properties with
"add_properties"
moved more functionality in the camera sampler instead of having in specific sampler to make writing a new one easier
added a SO3 Sampler for rotation sampling
change the “name” of modules in the config to “module” and “provider” depending on the case
added MacOS support (but only for CPUs, GPU support on MacOS is not available)
added this changelog
fixes:
fixed a problem that the check_bb_intersection did not work right in all cases (Bounding box check)
fixed a problem with the check_intersection fct., where the reference coordinate system was not always right.
fixed a bug with the SUNCG lighting in RGB images
Version 1.1.0: 16th January 2020
Added provider, which can be executed inside of different modules, examples:
Samplers of values
Getters of objects, specified on one condition (for example the name)
Added object manipulators, these can change selected objects attributes and custom properties
Added physics positioning, objects can be either “active” or “passive” and then interact with each other
Added ObjectPoseSampler sampled collision free poses of all objects
Added one ObjectLoader, which deals with all kinds of objects
Added a camera object sampler to sample cameras and objects at the same time
Redone the SegMapRenderer to fix bug in instance and class segmentation
Added coco annotations writer
Added version number to config files
Added more documentation
Added more examples
Version 1.0.0: 25th October 2019
Added Pipeline, Modules and Config
Added CameraModules, with different sampler for SUNCG and replica
Added LightModules, with different samplers also for SUNCG
Added Loader for objects
Added Loader for replica and SUNCG
Added Hdf5 Writer
Added camera-, light-, object state writer
Added MaterialRandomizer
Added Shell-, Sphere- and Uniform3DSampler
Added debug script