Dust3D is a cross-platform open-source 3D modeling software

Overview

appveyor status travis status readthedocs status

Buy me a coffee for staying up late coding :-)

Overview

Dust3D is brand new 3D modeling software. It lets you create watertight 3D models in seconds. Use it to speed up character modeling for games, 3D printing, and so on.

Examples

Installation

Dust3D is available for Windows, macOS, and Linux under the MIT license. Its completely free and open source

You can get the latest version in the Releases tab of this GitHub repository. If you're feeling adventurous, you can also build from source.

Windows

Download the .exe – no installation necessary.

macOS

On macOS, you can download the .dmg file or with homebrew:

brew cask install dust3d

Linux

We provide a .AppImage file in the releases tab:

chmod a+x ./dust3d-1.0.0-rc.6.AppImage
./dust3d-1.0.0-rc.6.AppImage

External Links

External Media

Contributing

Any contributions are welcome including bugfixes, fixing typos, adding tests, proposing new features, and letting more people know about Dust3D.

License

Dust3D's source code is available under the MIT license, however, some third party libraries we use are not MIT license compatible, such as CGAL. You can use the released Dust3D software freely no matter for personal or for commercial purpose, and you can integrate the source code of Dust3D to your project as MIT licensed, but with the third party libraries on the specified license respectively.

Acknowledgements

https://raw.githubusercontent.com/huxingyi/dust3d/master/ACKNOWLEDGEMENTS.html

Comments
  • Crash when trying to add the first node

    Crash when trying to add the first node

    I'm trying dust3d on a GNU/Linux 64bit system, and it just crashes when I click on the "+" tool and click on the screen to place it. Here's a stack trace when that happens:

    #0  0x00007ffff66ac090 in QOpenGLContext::shareGroup() const () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
    #1  0x00007ffff69bec3a in QOpenGLFunctions::initializeOpenGLFunctions() () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
    #2  0x00007ffff69c2b2d in QOpenGLFramebufferObject::QOpenGLFramebufferObject(QSize const&, QOpenGLFramebufferObjectFormat const&) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
    #3  0x000055555558acb0 in ModelOfflineRender::toImage (this=0x555555ade960, size=...) at src/modelofflinerender.cpp:52
    #4  0x000055555560b090 in MeshGenerator::process (this=0x555555ca4330) at src/meshgenerator.cpp:377
    #5  0x00005555555b4d35 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (MeshGenerator::*)()>::call(void (MeshGenerator::*)(), MeshGenerator*, void**) (
        f=(void (MeshGenerator::*)(MeshGenerator * const)) 0x555555608e9e <MeshGenerator::process()>, o=0x555555ca4330, 
        arg=0x7fffdc913970) at ../../../include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:136
    #6  0x00005555555b283f in QtPrivate::FunctionPointer<void (MeshGenerator::*)()>::call<QtPrivate::List<>, void>(void (MeshGenerator::*)(), MeshGenerator*, void**) (
        f=(void (MeshGenerator::*)(MeshGenerator * const)) 0x555555608e9e <MeshGenerator::process()>, o=0x555555ca4330, 
        arg=0x7fffdc913970) at ../../../include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:169
    #7  0x00005555555ad871 in QtPrivate::QSlotObject<void (MeshGenerator::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x555555b60060, r=0x555555ca4330, a=0x7fffdc913970, ret=0x0)
        at ../../../include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:398
    #8  0x00007ffff61352af in QMetaObject::activate(QObject*, int, int, void**) ()
       from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
    #9  0x00007ffff5f184d7 in QThread::started(QThread::QPrivateSignal) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
    #10 0x00007ffff5f1eb36 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
    #11 0x00007ffff5bc9f2a in start_thread (arg=0x7fffdc914700) at pthread_create.c:463
    #12 0x00007ffff57c9edf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
    

    I attached a gzipped core dump core.gz

    opened by jtsiomb 19
  • High DPI Scaling

    High DPI Scaling

    Problem

    The text is difficult to read in the UI on high DPI displays.

    Repro

    1. Set the DPI scaling of your operating system to 100%
    2. Observe the text size of Dust3D
    3. Set the DPI scaling of your operating system to 150% or 200%
    4. Observe the text size of Dust3D

    Expectation

    I expected the text size of Dust3D to scale with the operating system's DPI.

    Actual

    The text size of Dust3D remains relative to the resolution of the display.

    Related

    • #1

    References

    • http://doc.qt.io/qt-5/highdpi.html#migration-of-existing-applications
    opened by deckar01 14
  • Can't load Reference Sheet

    Can't load Reference Sheet

    Problem Nothing happens when I try to load an image to be used as reference sheet. The program works but the canvas stays blank. No errors, alerts or dialogs of any kind.

    Steps followed

    1. Open the program.
    2. File -> Change Reference Sheet...
    3. Select any JPEG image file of any size or type. I also tried the ones from the modeling examples like the ant and the horse.
    4. Canvas stays blank.

    System description Dust3D 1.0.0-beta.6, Windows 10, NVidia GTX1060, 16 GB Ram

    opened by Helspank 13
  • Feature Request : Flatpak option

    Feature Request : Flatpak option

    having difficulty with appimage atm. using chromeos with crouton. I tried blender's flatpak but it runs slow (cheap processor) this would probably be my best bet for lightweight app to study 3d modelling.
    being able to find this over at flathub.org would be awesome. thanks

    opened by P4prik4 11
  • Change icon name on Dust3D

    Change icon name on Dust3D

    I found out that the icon name for Dust3D was called icon on the icon line of the desktop file. https://github.com/huxingyi/dust3d/blob/master/ci/dust3d.desktop https://github.com/huxingyi/dust3d/blob/master/ci/icon.png

    Could the icon be renamed to dust3d for icon themes?

    opened by creepertron95 8
  • Add to requirements gcc-4.9 or fix error

    Add to requirements gcc-4.9 or fix error

    When compiling dust3d I was greeted with this glorious error:

    src/meshgenerator.cpp:396:20: error: converting to ‘bool’ from ‘std::nullptr_t’ requires direct-initialization [-fpermissive]
                 return nullptr;
    

    Here is the compile log

    I did a quick search and this was a set feature from gcc <5. I was using gcc 8.2.3 to compile.

    Either fix the error or add to the requirements that you need gcc-4.9.

    opened by powpingdone 8
  • The *.desktop file is lacking a Categories= entry

    The *.desktop file is lacking a Categories= entry

    The *.desktop file is lacking a Categories= entry.

    According to the menu spec,

    By including one of the Main Categories in an application's desktop entry file, the application will be ensured that it will show up in a section of the application menu dedicated to this category. If multiple Main Categories are included in a single desktop entry file, the entry may appear more than once in the menu.

    Hence, please add at least one of the following in the Categories= key.

    Main Category | Description | Notes -- | -- | -- AudioVideo | Application for presenting, creating, or processing multimedia (audio/video) |
    Audio | An audio application | Desktop entry must include AudioVideo as well Video | A video application | Desktop entry must include AudioVideo as well Development | An application for development |
    Education | Educational software |
    Game | A game |
    Graphics | Application for viewing, creating, or processing graphics |
    Network | Network application such as a web browser |
    Office | An office type application |
    Science | Scientific software |
    Settings | Settings applications | Entries may appear in a separate menu or as part of a "Control Center" System | System application, "System Tools" such as say a log viewer or network monitor |
    Utility | Small utility application, "Accessories"

    In addition, you could specify one or more from the longer list of Additional Categories.

    Please test the result with desktop-file-validate and make sure it passes.

    electron-builder offers native support for this since v19.22.1.. Please see the category key at https://www.electron.build/configuration/linux-other.

    References:

    • https://github.com/AppImage/appimage.github.io/issues/2
    • https://github.com/AppImage/appimage.github.io/pull/645
    opened by probonopd 8
  • Using Dust3d in a laptop

    Using Dust3d in a laptop

    Hi,

    Neat little program you have here! However, a minor issue is preventing me to use it in a laptop. You see, the previewed mesh is manipulated with the middle mouse button, which laptops don't have. So, could you please provide some other means to manipulate it? Like, using the mouse with ALT, or something like that (like Blender does).

    Thanks, and great job so far!

    Paul

    opened by glasyalabolas 8
  • Slow, choppy 3d model view manipulation

    Slow, choppy 3d model view manipulation

    3d model manipulation is slow and choppy. It freezes constantly when trying to move, rotate or zoom the generated 3d model. My PC specs are: System: Windows 10 CPU: i7 8700k GPU: RTX 2080 RAM: 64GB

    opened by panbeep 6
  • dust3d: symbol lookup error: /usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0: undefined symbol: xcb_dri3_get_supported_modifiers

    dust3d: symbol lookup error: /usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0: undefined symbol: xcb_dri3_get_supported_modifiers

    seems related to: https://github.com/maxrd2/subtitlecomposer/issues/117 which says: Solution: Please do not bundle

    'libxcb-dri3.so.0'
    'libxcb-dri2.so.0'
    
    opened by vanous 6
  • Blank screen on Windows 7 64bits

    Blank screen on Windows 7 64bits

    Hello! I tried the unstable release version on Windows 7 64 bits and it shows a blank screen and the toolbar is black.

    I'm using: Intel Core i5 2500k Intel HD Graphics 3000

    Screenshot: screenshot_dust3d

    opened by abraaofilho10 6
  • Add native Wayland support

    Add native Wayland support

    I try to launch Dust3D with QT_QPA_PLATFORM=wayland ./dust3d-1.0.0-rc.6.AppImage. This is the return I am getting in the terminal:

    $ QT_QPA_PLATFORM=wayland ./dust3d-1.0.0-rc.6.AppImage
    This application failed to start because it could not find or load the Qt platform plugin "wayland" in "".
    
    Available platform plugins are: xcb.
    
    Reinstalling the application may fix this problem.
    Aborted (core dumped)
    

    Without native Wayland support, the app UI is very blurry.

    About info:

    Dust3D 1.0.0-rc.6 (version: 1.0.0.36 build: Apr 12 2020 11:22:47)
    opengl: 4.6 (Core Profile) Mesa 22.1.7 shader: 4.60 core: true
    

    I am running the app on openSUSE Tumbleweed.

    opened by kreaninw 0
  • Wireframe is not displayed

    Wireframe is not displayed

    Hi! Tell me why the wireframe is not displayed? I've tried different releases.Thanks for the answer Os debian 11 help/about : Dust3D 1.0.0-rc.6 (version: 1.0.0.36 build: Apr 12 2020 11:22:47) opengl: 2.1 Mesa 20.3.5 shader: 1.20 core: true

    opened by semenov45 1
  • Build fails on arm64: error: use of undeclared identifier '__TBB_machine_fetchadd4'

    Build fails on arm64: error: use of undeclared identifier '__TBB_machine_fetchadd4'

    In file included from /wrkdirs/usr/ports/graphics/dust3d/work/dust3d-1.0.0-rc.6/thirdparty/instant-meshes/instant-meshes-dust3d/ext/tbb/src/tbb/itt_notify.cpp:47:
    In file included from /wrkdirs/usr/ports/graphics/dust3d/work/dust3d-1.0.0-rc.6/thirdparty/instant-meshes/instant-meshes-dust3d/ext/tbb/src/tbb/tools_api/ittnotify_static.c:21:
    /wrkdirs/usr/ports/graphics/dust3d/work/dust3d-1.0.0-rc.6/thirdparty/instant-meshes/instant-meshes-dust3d/ext/tbb/src/tbb/tools_api/ittnotify_config.h:329:12: error: use of undeclared identifier '__TBB_machine_fetchadd4'
        return __TBB_machine_fetchadd4(ptr, 1) + 1L;
               ^
    1 error generated.
    

    Log: http://ampere2.nyi.freebsd.org/data/main-arm64-default/pcfc0b7a81f2e_s7e45839aca/logs/dust3d-1.0.0.r.6.log (IPv6 URL)

    Version: 1.0.0.r.6 FreeBSD 14-CURRENT

    opened by yurivict 0
  • A short-lived hope...

    A short-lived hope...

    Hi Jeremy, as I first met Dust3D (about half an hour ago) I couldn't believe my eyes: in a 3Dworld where hardware and software are glibly overloaded with zillions of useless vertices and surfaces, a piece of software dedicated to creating good low-poly models is really a rare pearl.

    Unfortunately though I'm tied to my good old (ancient?) Win XP - mostly but not only because I like to stay master and commander on my own ship - and as such I found out all too soon that even the 32-bit version of Dust3D won't run on it - despite Dust3D's "multiplatformity".

    Do you see any way I could escape this impasse without having to downgrade to a new but not necessarily better Windows version?

    Thanks!

    Gilbert

    opened by Gilbert1915 2
  • Suddenly app not responding

    Suddenly app not responding

    After some uses the app won't open and even though I have deleted and copied again the files. The app window opens but there is only a white screen and despite waiting nearly 30 mins it won't change and says app not responding. Any idea of why could it be? do you need a log or something?

    opened by MikelFuentes 2
Releases(1.0.0-rc.6)
Owner
Jeremy HU
Computer programmer, working on a 3D modeling software as my side project: https://github.com/huxingyi/dust3d
Jeremy HU
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.9k Jan 2, 2023
Procedural Mesh Modeling Toolkit for Unreal Engine Artists

OpenLand Mesh Procedural Mesh Modeling Toolkit for Unreal Engine Artists. Installation Get it via the marketplace ??️ For non-commercial projects, you

GameDev4K 26 Nov 19, 2022
Monster Mash: New Sketch-Based Modeling and Animation Tool

Monster Mash is a new sketch-based modeling and animation tool that allows you to quickly sketch a character, inflate it into 3D, and promptly animate it. You can perform all interactions in the sketching plane. No 3D manipulation is required.

Google 1.2k Dec 27, 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.4k Dec 26, 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.8k Jan 7, 2023
PainterEngine is a application/game engine with software renderer,PainterEngine can be transplanted to any platform that supports C

PainterEngine is a application/game engine with software renderer,PainterEngine can be transplanted to any platform that supports C

DBinary 1.6k Jan 4, 2023
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.

bgfx - Cross-platform rendering library GitHub Discussions Discord Chat What is it? Cross-platform, graphics API agnostic, "Bring Your Own Engine/Fram

Бранимир Караџић 12.6k Jan 8, 2023
A modern cross-platform low-level graphics library and rendering framework

Diligent Engine A Modern Cross-Platform Low-Level 3D Graphics Library Diligent Engine is a lightweight cross-platform graphics API abstraction library

Diligent Graphics 2.6k Dec 30, 2022
Cross-platform 2D and 3D game engine.

Urho3D Urho3D is a free lightweight, cross-platform 2D and 3D game engine implemented in C++ and released under the MIT license. Greatly inspired by O

null 4.2k Jan 4, 2023
Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.

RetroArch RetroArch is the reference frontend for the libretro API. Popular examples of implementations for this API includes video game system emulat

null 7.4k Dec 30, 2022
Gearcoleco is a cross-platform ColecoVision emulator written in C++.

This is an open source project with its ongoing development made possible thanks to the support by these awesome backers.

Ignacio Sanchez Gines 41 Nov 12, 2022
A small cross-platform graphics library made in C

minigfx Small graphics library made in C Intended to be: Simple to understand Intuitive Fun to use Features Cross platform: Windows and Linux. To see

Laurentino Luna 27 Jul 18, 2021
Ksnip is a Qt-based cross-platform screenshot tool that provides many annotation features for your screenshots.

Ksnip is a Qt-based cross-platform screenshot tool that provides many annotation features for your screenshots.

ksnip 1.5k Jan 4, 2023
Android studio native project template using cross platform raylib graphics library.

rayturbo Android studio native project template using cross platform raylib graphics library. https://www.raylib.com/ This project use Android Studio

Ciapas Linux 10 Mar 5, 2022
A low-level, cross-platform GPU library

vgpu is cross-platform low-level GPU library. Features Support for Windows, Linux, macOS. Modern rendering using Vulkan and Direct3D12. Dependencies U

Amer Koleci 9 Jul 28, 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 Jan 2, 2023
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 43 Dec 21, 2022
The open-source tool for creating of 3D models

The open-source tool for creating of 3D models

3D geoinformation research group at TU Delft 428 Dec 21, 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 730 Jan 4, 2023