The open-source tool for creating of 3D models

Overview

GitHub license docs GitHub issues DOI

3dfier

Takes 2D GIS datasets (e.g. topographical datasets) and "3dfies" them (as in "making them three-dimensional") by lifting every polygon to 3D. The elevation is obtained from a point cloud (we support LAS/LAZ at this moment), and the semantics of every polygon is used to perform the lifting. That is, water polygons are extruded to horizontal polygons, buildings to LOD1 blocks, roads as smooth surfaces, etc. Every polygon is triangulated (constrained Delaunay triangulation) and the lifted polygons are "stitched" together so that one digital surface model (DSM) is constructed. Our aim is to obtain one DSM that is error-free, i.e. no intersecting triangles, no holes (the surface is watertight), where buildings are integrated in the surface, etc. This surface will then be used as input in simulation software for instance.

This video illustrates the process and what 3dfier is about.

The lifting options can be configured in the YAML file provided, an example is provided in /resources/config_files/myconfig.yml. Any 2D input (which should be a planar partition) can be used as input, and each class must be mapped to one of the following:

  1. Building
  2. Terrain
  3. Road
  4. Water
  5. Forest
  6. Bridge
  7. Separation (used for walls and fences)

It is possible to define new classes, although that would require a bit of programming.

Output is in the following formats: OBJ, CityGML, CityJSON, CSV (for buildings only, i.e. their ID and height (ground+roof) are output in a tabular format), PostGIS, and STL. The ID of each polygon is preserved, and there is a 1-to-1 mapping between the input and the output.

If you use it, feedback is very much appreciated.

Documentation

The 3dfier documentation has extensive information on the installation, usage, and how 3dfier works.

If you use 3dfier in a scientific context, please cite this article:

Ledoux H, Biljecki F, Dukai B, Kumar K, Peters R, Stoter J, and Commandeur T (2021). 3dfier: automatic reconstruction of 3D city models. Journal of Open Source Software, 6(57), 2866.

DOI

@article{3dfier,
  author = {Ledoux, Hugo and Biljecki, Filip and Dukai, Balázs and Kumar, Kavisha and Peters, Ravi and Stoter, Jantien and Commandeur, Tom},
  doi = {10.21105/joss.02866},
  journal = {Journal of Open Source Software},
  number = {57},
  pages = {2866},
  title = {3dfier: automatic reconstruction of 3D city models},
  volume = {6},
  year = {2021}
}

LAS/LAZ Pointcloud

We expect the LAS/LAZ to be classified according to the ASPRS Standard LIDAR Point Classes v1.4 (Table 4.9 of this PDF), and at a minimum these should be defined:

  • 0-1: Created, never classified and/or unclassified
  • 2: Ground
  • 3-5: Vegetation

If the vegetation is not classified or not filtered out, then buildings might be taller and there might be artefacts in the terrain.

Binary releases for Windows and Mac OS X

In order to make easy use of 3dfier we created pre-build binaries which can be downloaded from the releases page.

Download the latest release and unzip the archive in a easy to find location, not in the download folder of your browser.

To be able to quickly test 3dfier one can download the example dataset and unzip the archive in the folder of 3dfier.

Test data

In the folder example_data (download example dataset) there is a small part of the BGT datasets (2D 1:1k topographic datasets of the Netherlands), and a part of the AHN3 LIDAR dataset that can be used for testing. The resulting model (in OBJ) can be found in example_data/output/test_area.obj

Further, there is an open data website that contains 3D models of a few Dutch cities, generated with 3dfier.

Validate config file

The configuration is stored in YAML format and needs to be valid for the parser to read the file. Config files can be schema validated using YAML Lint

Run 3dfier:

Windows Open a command line (click start and type command or cmd). Using the command line browse to the folder where you extracted the example files and run: 3dfier myconfig.yml -o output.ext

Mac OS X and Linux Open a console. Using the console browse to the folder where you extracted the example files and run: $ ./3dfier myconfig.yml --OBJ output.obj

Docker

3dfier offers a alpine base image which tries to give you as much freedom for your vector data source as possible. Vector data is read by GDAL/OGR.

To run 3dfier over Docker simply execute:

$ docker run --rm --name 3dfier -v :/data tudelft3d/3dfier: 3dfier  <... 3dfier parameters>

All your input data needs to be in and in the config file you need to reference your input data relative to . To achieve this either move your data and config into (and subdirectories), or set to the lowest common ancestor that contains all the data and config files you need.

Keep in mind that need to be writable by any user, otherwise your output won't be saved.

For instance to run it on the example data set (on Linux):

$ cd 3dfier/example_data
$ docker run --rm -it -v 3dfier/example_data:/data tudelft3d/3dfier:latest 3dfier testarea_config_unix.yml --OBJ test.obj

There is also a tutorial on how to generate a 3D model with 3dfier.

Prepare BGT data

For preparing BGT data as input for 3dfier look at resources/BGT_prepare/ReadMe.md

Comments
  • ONLY BUILDING...

    ONLY BUILDING...

    HELLO, When I run 3D fier on 2 classified pointcloud + shp 3DFIER returns only building in 3D...without DTM triangulation (?) see below my LAZ input : capture

    and see the result in meshlab : capture1 My source shp is well extruded, but terrain is missing...

    any idea why ? thanks antoine

    opened by antoinebio 18
  • Version 1.3 doesn't run my

    Version 1.3 doesn't run my "old version 1.2.2" YAML file

    I am trying to run a YAML file that gave output with the 3dfier 1.2.2 version.

    At the moment 3dfier 1.3 found the file valid but doesn't run, so no output... Find the yml file attached

    ISSUE_3dfier_v13.zip

    opened by ghost 11
  • Add curve stroking

    Add curve stroking

    Solves #92

    It is stroking input geometries by standard value of OGR library. Maybe we could add parameter to make it configurable from outside.

    Other option would be to simply fail with a clean error message describing the problem.

    opened by vvmruder 11
  • Issues with extruding land, vegetation and water

    Issues with extruding land, vegetation and water

    I followed along with the tutorial and created the city center of Leiden. Afterwards I wanted to try to create my own project by creating a small part of the harbor of Rotterdam.

    I grabbed the BGT data and the AHN3 files from the PDOK website. Specifically I took the area with the code '37az2' at the far west of the Rotterdam harbor -- this was the AHN3/LAZ data. The problem I run into with building my model is that I'm only getting the buildings extruded.

    I added a picture of my result. As you can see, there are no roads, vegetation, land or water visible. This is a problem. I added a dark grey plane underneat the city/buildings to make it more visible to show the issue.

    • Kenny
    opened by Digital-Banana 11
  • Question about building 3dfier on Windows 10 and with Visual Studio Community 2015

    Question about building 3dfier on Windows 10 and with Visual Studio Community 2015

    Hi, I am trying to build the 3dfier with CMAKE. On Windows 10 and with Visual Studio Community 2015. When building in Visual Studio I get an error message related to Boost. Boost is one of the components I don't have much experience with, so perhaps anyone can give a clue ?

    Error LNK1104 cannot open file 'boost_thread-vc140-mt-1_62.lib

    Greetings,

    Barent Brouwers

    http://www.3dgeosolutions.nl/

    Hoi, ik probeer de 3dfier te bouwen met CMAKE. Op Windows 10 en met Visual Studio Community 2015. Daarbij krijg ik een foutmelding die met Boost te maken heeft. Het project 3dfier heeft voor mij sowieso een aantal nog onbekende componenten. Visual Studio geeft de volgende melding:
    Error LNK1104 cannot open file 'boost_thread-vc140-mt-1_62.lib

    opened by GreenUtil 7
  • 3dfier.exe crashes after execution

    3dfier.exe crashes after execution

    Hello, this post is following #35 tips and correction have been made, but 3dfier is crashing after execution of the command. My laz files are 300Mo & 210Mo. Is it too big ?

    thanks, antoine

    opened by antoinebio 6
  • error in compliling 3dfier

    error in compliling 3dfier

    i have downloaded 3dfier-master.zip and i downloaded visual stuudio projects mentioned and over writed the files in vs_build . when i open 3dfier.sln and build the solution . i get this error

    Error MSB8036 The Windows SDK version 10.0.16299.0 was not found. Install the required version of Windows SDK or change the SDK version in the project property pages or by right-clicking the solution and selecting "Retarget solution". 3dfier C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Platforms\x64\PlatformToolsets\v141\Toolset.targets 36 now what to do

    opened by PURNIMA1298 5
  • Installation problem on Ubuntu: LibLAS library can't be found

    Installation problem on Ubuntu: LibLAS library can't be found

    Hi,

    I follow instructions for compiling on Linux but I can't make it work on my Ubuntu 14.04 because whenever I try to execute cmake .. command it complains about LibLAS library not being found even though it is already installed on the same system (i used that library already before and it works fine). All the other dependencies were found normally, it's only liblas that makes the problem.

    I even tried to install again all dependencies (including libLAS) on new fresh Ubuntu 16.04 virtual machine (with no previous installations) but still, after i install all required dependencies and then try to build 3dfier it still complains about the same library.

    Do you maybe know why is that, I was following this documentation to install the libLAS, everything looked fine with that.

    opened by ipasic 4
  • Slow performance due to invalid polygons

    Slow performance due to invalid polygons

    When generating Amsterdam and a version of Zwolle the processing time increased exponentially, possibly due to invalid geometries. The invalid geometries can come from clipping/faulty conversion. In the case of the Amsterdam data ogr2ogr showed self-intersections in polygons.

    Can we check and flag the polygons for validity using GDAL isValid() when reading?

    opened by tcommandeur 4
  • Cropping laz/las

    Cropping laz/las

    Hi,

    Great code! I have one question: what method do you people use for the cropping for the laz/las files? Also, why do you use 2? When im downloading data from BGT everything is fine, but as you know the PDOK laz files are based on the BRT background map. For some reason I cant get any height into my 3dfied objects, I think because the extends dont match.

    Thanks,

    opened by LirryPinter 3
  • Minimum nr. of points for triangulation

    Minimum nr. of points for triangulation

    On master. I have a point cloud where I separated the ground (2) points from the rest and filtered them. When I run 3dfier with the filtered ground points, the terrain is not generated/triangulated and it seems that the input polygons for the road (grey), terrain (yellow) features are ignored. However, the 'Auxilliary Traffic Area' (purple) polygons do receive points and get triangulated. Is there a minimum of the required points for the triangulation?

    I'm using thinning: 0 for the point cloud and simplification: 0 for the terrain. I'm using BGT polygons and prepared them according to the instructions.

    3dfy with unfiltered point cloud: full

    The filtered point cloud (only the ground points are filtered): pc

    3dfy with the same settings as above, but with the filtered pc: simplified

    Input and config files: https://www.dropbox.com/s/hiwazpyj0k30kbe/simplified.zip?dl=0

    opened by balazsdukai 3
  • Bump tzinfo from 1.2.5 to 1.2.10 in /docs

    Bump tzinfo from 1.2.5 to 1.2.10 in /docs

    Bumps tzinfo from 1.2.5 to 1.2.10.

    Release notes

    Sourced from tzinfo's releases.

    v1.2.10

    TZInfo v1.2.10 on RubyGems.org

    v1.2.9

    • Fixed an incorrect InvalidTimezoneIdentifier exception raised when loading a zoneinfo file that includes rules specifying an additional transition to the final defined offset (for example, Africa/Casablanca in version 2018e of the Time Zone Database). #123.

    TZInfo v1.2.9 on RubyGems.org

    v1.2.8

    • Added support for handling "slim" format zoneinfo files that are produced by default by zic version 2020b and later. The POSIX-style TZ string is now used calculate DST transition times after the final defined transition in the file. The 64-bit section is now always used regardless of whether Time has support for 64-bit times. #120.
    • Rubinius is no longer supported.

    TZInfo v1.2.8 on RubyGems.org

    v1.2.7

    • Fixed 'wrong number of arguments' errors when running on JRuby 9.0. #114.
    • Fixed warnings when running on Ruby 2.8. #112.

    TZInfo v1.2.7 on RubyGems.org

    v1.2.6

    • Timezone#strftime('%s', time) will now return the correct number of seconds since the epoch. #91.
    • Removed the unused TZInfo::RubyDataSource::REQUIRE_PATH constant.
    • Fixed "SecurityError: Insecure operation - require" exceptions when loading data with recent Ruby releases in safe mode.
    • Fixed warnings when running on Ruby 2.7. #106 and #111.

    TZInfo v1.2.6 on RubyGems.org

    Changelog

    Sourced from tzinfo's changelog.

    Version 1.2.10 - 19-Jul-2022

    Version 1.2.9 - 16-Dec-2020

    • Fixed an incorrect InvalidTimezoneIdentifier exception raised when loading a zoneinfo file that includes rules specifying an additional transition to the final defined offset (for example, Africa/Casablanca in version 2018e of the Time Zone Database). #123.

    Version 1.2.8 - 8-Nov-2020

    • Added support for handling "slim" format zoneinfo files that are produced by default by zic version 2020b and later. The POSIX-style TZ string is now used calculate DST transition times after the final defined transition in the file. The 64-bit section is now always used regardless of whether Time has support for 64-bit times. #120.
    • Rubinius is no longer supported.

    Version 1.2.7 - 2-Apr-2020

    • Fixed 'wrong number of arguments' errors when running on JRuby 9.0. #114.
    • Fixed warnings when running on Ruby 2.8. #112.

    Version 1.2.6 - 24-Dec-2019

    • Timezone#strftime('%s', time) will now return the correct number of seconds since the epoch. #91.
    • Removed the unused TZInfo::RubyDataSource::REQUIRE_PATH constant.
    • Fixed "SecurityError: Insecure operation - require" exceptions when loading data with recent Ruby releases in safe mode.
    • Fixed warnings when running on Ruby 2.7. #106 and #111.
    Commits
    • 0814dcd Fix the release date.
    • fd05e2a Preparing v1.2.10.
    • b98c32e Merge branch 'fix-directory-traversal-1.2' into 1.2
    • ac3ee68 Remove unnecessary escaping of + within regex character classes.
    • 9d49bf9 Fix relative path loading tests.
    • 394c381 Remove private_constant for consistency and compatibility.
    • 5e9f990 Exclude Arch Linux's SECURITY file from the time zone index.
    • 17fc9e1 Workaround for 'Permission denied - NUL' errors with JRuby on Windows.
    • 6bd7a51 Update copyright years.
    • 9905ca9 Fix directory traversal in Timezone.get when using Ruby data source
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • ERROR 4: Unable to open EPSG support file gcs.csv.

    ERROR 4: Unable to open EPSG support file gcs.csv.

    Hello,

    I have run the script a several times before without this error and suddenly the following message appears:

    Quote ERROR 4: Unable to open EPSG support file gcs.csv. Try setting the GDAL_DATA environment variable to point to the directory containing EPSG csv files. Unquote

    I haven't moved any of the files in the directory. Thank you very much for any hint on how to proceed.

    Giacomo

    opened by gmorass 0
  • Config file is valid! No output generated

    Config file is valid! No output generated

    Hey, i am working on 3DFier windows version. I was able to run successfully the algorithm with the example data. However, i tried to use my own dataset (2D shapes & classified las file), however i got back the following:

    • Config file is valid. And afterwards no output is generated but also there are no errors in the console.

    Do you have any tip of how to fix this issue or what causes this problem? Thanks

    opened by elenaVal 0
  • Unsupported geometry type: Polygon / CDT update; point location not in face but on vertex.

    Unsupported geometry type: Polygon / CDT update; point location not in face but on vertex.

    Hello, I've been trying to run 3dfier on a small area of the port of Trieste but get return warning messages:

    Geometry type is not supported: Polygon CDT update; point location not in face but on vertex. Point (index 4); 403199.156 5058315.000 3.451 CDT update; point location not in face but on vertex. Point (index 2); 403199.188 5058315.000 3.141 [... for hundreds of thousands of points] ===== CDT/ ===== CDT created in 75 seconds || 00:01:15 ...3dfying done. CityJSON output: output\tent2.json Features written in 2 seconds || 00:00:02 Successfully terminated in 80 seconds || 00:01:20

    The resulting file is an empty json with one weirdly shaped object. Tried obj as an output with the same configuration and I do see the portion of the territory with holes corresponding to the building sites. The input shapefiles for the building and terrain polygons have been created with the difference tool as suggested on the documentation and checked on QGIS with the geometry checker for geometry validity and waterproofness. The ID fields are unique and have tested the config file with the YAML validator. I had rarified the input point cloud to make use it more lightly

    I have attached the configuration file and the input polygons in case they could help understand. I am thankful for any lead on how to proceed with this. Giacomo Shapefiles test1.zip YAML configuration file porto3.txt

    opened by gmorass 0
Releases(v1.3.4)
  • v1.3.4(Sep 23, 2022)

  • v1.3.3(Aug 4, 2022)

  • v1.3.1(Jan 25, 2021)

  • v1.3.0(Nov 19, 2020)

    Version 1.3.0 contains some improvements and bug fixes.

    • Update nlohmann-json to version 3.7.3
    • Support for CityJSON version 1.0 with EPSG metadata
    • Read CurvedPolygon and MultiSurface and stroke curves (use options:max_angle_curvepolygon for setting maximum stoke angle)
    • CSV ouput remove trailing comma and change delimiter from semicolon to comma
    • Improve OBJ LoD0 creation
    • Output license information of used libraries with --license option
    • Destroy GDAL feature after reading and free memory used by wkt string.
    • Correct parsing of requested extent from configuration file
    • Add code comments
    • paths for files in YAML can be all in unix (/) and relative paths are supported. Works under Windows too, so one YAML file to unite them all is now given as example.
    • added STL output, useful for the CFD community. Only text-based STL now, binary to follow.
    Source code(tar.gz)
    Source code(zip)
    3dfier-windows-x64-v1.3.0.zip(12.61 MB)
  • v1.2.2(Aug 27, 2019)

    This is the second hotfix for version 1.2, it fixed an issue in the 3d polynomial plane fitting used in the outlier filtering. This fitting iteratively removes vertices with the largest outlier. The first vertex is used to normalise xy-coordinates, when filtering the first vertex the offset was lost and results were off.

    Source code(tar.gz)
    Source code(zip)
    3dfier-windows-x64-v1.2.2.zip(19.54 MB)
  • v1.2.1(Aug 27, 2019)

    We added a seperate threshold_bridge_jump_edges in this release. With this threshold you can set the height difference upto which bridges are merged with adjacent (road) objects. Some small issues were found in the greedy insertion code, in the case of adding a lidar point on an edge now all exceptions are handled.

    Source code(tar.gz)
    Source code(zip)
    3dfier-windows-x64-v1.2.1.zip(19.54 MB)
  • v1.2(Aug 27, 2019)

    This is version 1.2 released after three months of improving functionality.

    • Since this version we changed from liblas to laslib since liblas was creating rounding errors in floating points. Since the change to laslib the precision even improved.
    • Many improvements in the greedy insertion code for filtered TIN creation making the code way more stable. We are now also catching insertion of lidar point on top of polygon contraint (both vertex and edge).
    • Updated CGAL to version 4.12
    Source code(tar.gz)
    Source code(zip)
    3dfier-windows-x64-v1.2.zip(19.54 MB)
  • 3dbag-v1.0.0(May 14, 2019)

  • v1.1(Dec 3, 2018)

    This release contains lots of small fixes for creation of 3D model of The Netherlands.

    • PostGIS writing memory consumption is solved.
    • Improved error handling for GDAL reading/writing
    • Now writing x-y-coordinates with 3 digits and z-coordinates with 2 digits for OBJ/XML output formats.
    • By default the settings for Roads and Bridges contains filter_outliers = true and flatten = true. When the point cloud contains lots of outliers this improves reconstruction but in rare cases results are worse due to the polynomial surface fitting.
    Source code(tar.gz)
    Source code(zip)
    3dfier-windows-x64-v1.1.zip(24.67 MB)
  • v1.0.3(Sep 26, 2018)

  • v1.0.2(Sep 7, 2018)

  • v1.0.1(Sep 4, 2018)

    Small release that fixes some issues;

    • Building on OSX resolved by changing matrix templates
    • Accept underscores in attribute names for IMGeo output
    • Remove double closing of PostGIS database connection (resulting in execution error after finishing program)
    • Initialize variable solving random read errors on OSX
    Source code(tar.gz)
    Source code(zip)
    3dfier-windows-x64-v1.0.1.zip(24.57 MB)
  • v1.0(Aug 16, 2018)

    Finally we arived at the point that 3dfier is ready for its release of version 1.0!

    In the last months we tested lots of datasets and solved lots of small issues and some bigger ones.

    Bigger issues solved;

    • Creation of bridges (which is quite the chalenge since there is no 3D points below a bridge). We have found that with the proper input for bridges the output is satisfactory.
    • Roads having outliers when 3D points are misclassified or when close to bridges (if bridge points are taken into account for roads). We implemented an iterative Least Squares 3D quadric surface fitting for removing outlier points. In the yaml there is a setting to remove outliers and to completely flatten the roads based on the fitted surface model.
    Source code(tar.gz)
    Source code(zip)
    3dfier-windows-x64-v1.0.zip(24.56 MB)
  • v1.0-RC2(May 17, 2018)

  • v1.0-RC1(May 4, 2018)

  • v0.9.7(Jun 21, 2017)

  • v0.9.6(May 18, 2017)

    Update: The release had some issues with PostGIS writing and building with GDAL < 2.0 which are now solved.

    This release has performance increase for writing files in OBJ and CityGML (file writing is 10-15x faster).

    Included is the option for writing CityGML into separate files by using CityGML-Multi as output format. Splitting is done using GDAL->GetLayerName() thus not always related to the input filename.

    Included is writing to PostGIS database both in a single or multiple tables (PostGIS or PostGIS-Multi as output format). The PostGIS connection string as used in GDAL is used as output filename in the command line argument (3dfier config.yml -o "PG: host=localhost dbname="3dfier" user=username").

    Source code(tar.gz)
    Source code(zip)
    3dfier-windows-x64-v0.9.6.zip(20.60 MB)
  • v0.9.5(Apr 3, 2017)

    This release is branded 0.9.5 due to its vast amount of improvements. The main difference is in performance, by removing some of the boost::geometry code and implementing a ray tracing algorithm for point in polygon, a performance boost of around 40-60% has been registered.

    Other improvements are catching LAS/LAZ reading errors and better error handling in reading polygons.

    Source code(tar.gz)
    Source code(zip)
    3dfier-windows-x64-v0.9.5.zip(20.58 MB)
  • v0.9.1(Feb 24, 2017)

  • v0.9(Feb 21, 2017)

    This version should create watertight models if 2D input is topologically correct and watertight.

    This release contains;

    • Multiple fixes related to stitching objects
    • Creation of vertical walls in buildings for OBJ output if only buildings are input
    • Seperation class changed from Flat to Boundary3D
    • Added all input attributes to CityGML output
    • Check if YAML file exists
    • Updated shapefile output and added height information

    Have fun!

    Source code(tar.gz)
    Source code(zip)
    3dfier-windows-x64-v0.9.zip(20.66 MB)
  • v0.8.2(Dec 9, 2016)

    This version includes improvements on reading LAS/LAZ and extent selection for polygon files:

    • Checking the bounds of the header to intersect the extent of the polygons to skip file
    • Checking if the point is within the extent of the polygons
    • Using liblas filtering instead of if-statements for Classification, Bounds and Thinning
    • All LAS/LAZ files from a directory can now be imported by using directory/with/files/*.las or directory/with/files/*.laz (subfolders are ignored)
    • YAML file can now have options: extent: xmin, ymin, xmax, ymax which check the polgyon bounding box to intersect with the supplied extent

    Other improvements;

    • A small fix for the IMGeo Nummeraanduidingreeks to crash the CityGML-IMGeo writing if conversion with GDAL was done improper.
    • Added a new bgt_pand.gfs file to fix the Nummeraanduidingreeks conversion in GDAL
    Source code(tar.gz)
    Source code(zip)
    3dfier-windows-x64-v0.8.2.zip(20.86 MB)
  • v0.8.1(Dec 5, 2016)

  • v0.8(Nov 23, 2016)

    After solving a lot of small issues, fixing obj writing and boosting performance of LAS reading, this new version is ready to use. The command line arguments changed slightly since the output is now an argument instead of using std::cout and pipes. Usage is now; 3dfier config.yml -o filename.ext

    Source code(tar.gz)
    Source code(zip)
    3dfier-windows-x64-v0.8.zip(20.56 MB)
  • v0.7.1(Oct 26, 2016)

  • v0.7(Sep 26, 2016)

Owner
3D geoinformation research group at TU Delft
3D geoinformation research group at TU Delft
Open-source, cross-platform, C++ game engine for creating 2D/3D games.

GamePlay v3.0.0 GamePlay is an open-source, cross-platform, C++ game framework/engine for creating 2D/3D mobile and desktop games. Website Wiki API De

gameplay3d 3.8k Sep 30, 2022
Sampling Clear Sky Models using Truncated Gaussian Mixtures

Sampling Clear Sky Models using Truncated Gaussian Mixtures Overview This repository contains the source code that is part of the supplemental materia

Computer Graphics AUEB 12 Aug 9, 2022
Open 3D Engine (O3DE) is an Apache 2.0-licensed multi-platform AAA Open 3D Engine

Open 3D Engine (O3DE) is an Apache 2.0-licensed multi-platform 3D engine that enables developers and content creators to build AAA games, cinema-quality 3D worlds, and high-fidelity simulations without any fees or commercial obligations.

O3DE 5.4k Oct 4, 2022
An Open-Source subdivision surface library.

OpenSubdiv OpenSubdiv is a set of open source libraries that implement high performance subdivision surface (subdiv) evaluation on massively parallel

Pixar Animation Studios 2.7k Sep 29, 2022
An open-source implementation of Autodesk's FBX

SmallFBX An open-source implementation of Autodesk's FBX that is capable of import & export mesh, blend shape, skin, and animations. Mainly intended t

Seiya Ishibashi 41 Jun 30, 2022
StereoKit is an easy-to-use open source mixed reality library for building HoloLens and VR applications with C# and OpenXR!

StereoKit is an easy-to-use open source mixed reality library for building HoloLens and VR applications with C# and OpenXR! Inspired by libraries like XNA and Processing, StereoKit is meant to be fun to use and easy to develop with, yet still quite capable of creating professional and business ready software.

Nick Klingensmith 693 Sep 29, 2022
OpenCorr is an open source C++ library for development of 2D, 3D/stereo, and volumetric digital image correlation

OpenCorr OpenCorr is an open source C++ library for development of 2D, 3D/stereo, and volumetric digital image correlation. It aims to provide a devel

Zhenyu Jiang 59 Sep 26, 2022
Vizzu is a free, open-source Javascript/C++ library for animated data visualizations and data stories.

Vizzu is a free, open-source Javascript/C++ library utilizing a generic dataviz engine that generates many types of charts and seamlessly animates between them

Vizzu 1.6k Sep 29, 2022
Cocos2d-x is a suite of open-source, cross-platform, game-development tools used by millions of developers all over the world.

Cocos2d-x is a suite of open-source, cross-platform, game-development tools used by millions of developers all over the world.

cocos2d 16.5k Sep 28, 2022
Tesseract Open Source OCR Engine (main repository)

Tesseract OCR Table of Contents Tesseract OCR About Brief history Installing Tesseract Running Tesseract For developers Support License Dependencies L

null 46.9k Oct 3, 2022
A completely free, open-source, 2D game engine built on proven torque technology.

Torque2D 4.0 Early Access 1 MIT Licensed Open Source version of Torque2D from GarageGames. Maintained by the Torque Game Engines team and contribution

Torque Game Engines 606 Oct 5, 2022
Open-Source Vulkan C++ API

Vulkan-Hpp: C++ Bindings for Vulkan The goal of the Vulkan-Hpp is to provide header only C++ bindings for the Vulkan C API to improve the developers V

The Khronos Group 2.4k Sep 30, 2022
ZBar Bar Code Reader is an open source software suite for reading bar codes from various sources

ZBar Bar Code Reader is an open source software suite for reading bar codes from various sources

null 2.3k Oct 2, 2022
Dust3D is a cross-platform open-source 3D modeling software

Dust3D is a cross-platform open-source 3D modeling software. Auto UV unwrapping, auto rigging with PBR Material support, pose and motion authoring all in one.

Jeremy HU 2.5k Sep 28, 2022
appleseed is an open source, physically-based global illumination rendering engine primarily designed for animation and visual effects.

appleseed is an open source, physically-based global illumination rendering engine primarily designed for animation and visual effects.

appleseedhq 1.9k Oct 4, 2022
The official Open-Asset-Importer-Library Repository. Loads 40+ 3D-file-formats into one unified and clean data structure.

Open Asset Import Library (assimp) A library to import and export various 3d-model-formats including scene-post-processing to generate missing render

Open Asset Import Library 8.3k Sep 29, 2022
The DirectX Tool Kit (aka DirectXTK) is a collection of helper classes for writing DirectX 11.x code in C++

DirectX Tool Kit for DirectX 11 http://go.microsoft.com/fwlink/?LinkId=248929 Copyright (c) Microsoft Corporation. All rights reserved. January 9, 202

Microsoft 2.1k Sep 23, 2022
Binary visualization tool primarily aimed at videogame reverse engineering & research.

binviz Binary visualization tool. Allows you to load a binary and pan/zoom around its content. Each byte (or 4 bytes in 4-byte mode) is represented by

Nick Renieris 28 Apr 25, 2022
CatFrida is a macOS tool for inspecting a running iOS app.

CatFrida CatFrida is a macOS tool for inspecting a running iOS app. Building with frida-swift, CatFrida provide an awesome easy way to dive into an ap

neilwu 103 Sep 26, 2022