You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on May 6, 2026. It is now read-only.
Added pyfqmr, replaced many bpy with bmesh operations & added better dependency management
Added pyfqmr and xatlas submodules
Added in-place install/build of submodules
Added GitHub Actions based CD Pipeline
Added "Render Device" Option
Added "Lower Resolution By LOD" Option
Addded pyfqmr based reduction
Added more meaningful console outputs across all plugins.
Added styling for QCheckboxes in style.qss
Refactored Performance Critical Operations to use BMesh instead of bpy.ops
Refactored runtime dependency management
Tweaked Range for Ray Distance to support larger models.
Updated README.md
Updated requirements.txt
Updated .gitignore
Copy file name to clipboardExpand all lines: README.md
+35-7Lines changed: 35 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,17 +8,25 @@ This is a collection of plugins for [Blender](https://www.blender.org/) (v. 4.0.
8
8
The plugins are designed to help with the creation of environment levels of detail (LODs) for terrestrial photogrammetry models.
9
9
(Models of Landscapes, Cities, and other "flat" structures).
10
10
11
-
The plugin is split into several single plugins, that can be used independently of each other.
11
+
The tool is split into several single plugins, that can be used independently of each other.
12
12
There is also a combined plugin that can load a model from the file system and generate LODs for it, without actively rendering it to the viewport.
13
13
**This is essential for source files that are too massive to display in the viewport.**
14
14
15
15
### Features
16
16
17
-
-**Cleanup**: Cleans/Preprocesses the mesh for use in the LOD pipeline.
17
+
-**Cleanup**: Cleans/Preprocesses the mesh for use in the LOD pipeline. All mesh operations are done using the BMesh framework to ensure performance. [Pyfqmr](https://github.com/Kramer84/pyfqmr-Fast-Quadric-Mesh-Reduction) is used for mesh reduction.
18
+
19
+
18
20
-**Mesh Slicer**: Cuts a mesh into a user-defined amount of square slices. (This reimplements Blenders Bisect logic in a way that does not require to duplicate the mesh in order to keep both halfs)
19
-
-**LOD Pipeline**: Generates the levels of detail (LODs) for all the selections using the provided settings. The LOD generation retains the borders of the highest LOD for flawless LOD transitions of individual modules.
21
+
22
+
23
+
-**LOD Pipeline**: Generates the levels of detail (LODs) for all the selections using [pyfqmr](https://github.com/Kramer84/pyfqmr-Fast-Quadric-Mesh-Reduction) again. The LOD generation retains the borders of the highest LOD for flawless LOD transitions of individual modules.
24
+
25
+
20
26
-**XAtlas Unwrapper**: Unwraps the model using the [xatlas-python](https://github.com/mworchel/xatlas-python) bindings.
21
-
-**Baker**: Transfers the base color of a defined mesh onto one or multiple selected meshes.
27
+
28
+
29
+
-**Baker**: Transfers the base color of a defined mesh onto one or multiple selected meshes. Blender is used as the baking framework.
22
30
23
31
24
32
# Installation
@@ -32,25 +40,31 @@ EnvironmentLodTools can also be used with a "standalone" PySide6 based GUI.
32
40
It exposes the exact same parameters, but uses the users local Python install, with Blender as a module, instead of Blenders Embedded Python.
33
41
34
42
To use the GUI do the following:
35
-
1. Download the entire `source code` from the [latest release](https://github.com/gojushin/EnvironmentLodTool/releases/latest).
43
+
1. Download the entire `source code` from the [latest release](https://github.com/gojushin/EnvironmentLodTools/releases).
36
44
2. Open the command prompt.
37
45
3. Run `pip install -r requirnments.txt` in the directory of the plugin.
38
46
4. Start the GUI by executing `enviro_tools_gui.py`
39
47
48
+
Note: When starting the GUI for the first time, it will take a few moments to build the python modules.
49
+
40
50
## Plugin
41
51
To install the plugins, follow these steps:
42
52
43
53
1. Download the [latest release](https://github.com/gojushin/EnvironmentLodTool/releases/latest) from GitHub.
44
54
2. In Blender, go to `Edit` -> `Preferences` -> `Add-ons` and click on the `Install` button.
45
55
3. Select the .zip file from the download folder.
46
-
4. Enable the plugins by checking the plugins checkbox. *Note: This invokes pip to install xatlas to blenders environment and can therefore cause Blender to hang for a second.*
56
+
4. Enable the plugins by checking the plugins checkbox.
57
+
58
+
*Note: Enabling the plugins for the first time will take a few moments since two python modules will be built in place in Blenders Python install.*
47
59
48
60
### Usage
49
61
50
62
Once installed, the plugins can be accessed through the `Tool` and `Tools` panel.
51
63
52
64
To use the GUI, download the source code and execute the `enviro_tools_gui.py` file.
53
-
_Note: Since Blender is non-thread safe by nature, the GUI will currently freeze. You can track the progress in the CLI._
65
+
66
+
_Note: Since Blender is non-thread safe by nature, the GUI will currently freeze upon starting the pipeline.
67
+
You can track the progress in the CLI._
54
68
55
69
### Contributing
56
70
@@ -63,3 +77,17 @@ The code is licensed under the [GPLv3 License](LICENSE).
63
77
### Credits
64
78
65
79
This project was created by [Nico Breycha](https://github.com/gojushin).
80
+
81
+
3rd party libraries used in this project are licensed under their own licenses.
82
+
-[xatlas-python](https://github.com/mworchel/xatlas-python) bindings, licensed under the [MIT License](https://github.com/mworchel/xatlas-python/blob/master/LICENSE).
83
+
- (Original [xatlas](https://github.com/jpcy/xatlas) Implementation by [jpcy](https://github.com/jpcy))
84
+
85
+
86
+
-[pyfqmr](https://github.com/Kramer84/pyfqmr-Fast-Quadric-Mesh-Reduction), licensed under the [MIT License](https://github.com/Kramer84/pyfqmr-Fast-Quadric-Mesh-Reduction/blob/master/LICENSE)
87
+
- (Original [Fast-Quadric-Mesh-Simplification](https://github.com/sp4cerat/Fast-Quadric-Mesh-Simplification) implementation by [sp4cerat](https://github.com/sp4cerat))
88
+
89
+
90
+
-[Blender](https://www.blender.org/), licensed under the [GPLv2 License](https://www.blender.org/about/license/)
91
+
92
+
93
+
-[Pyside6](https://pypi.org/project/PySide6/), licensed under the [LGPLv3/GPLv3](https://github.com/pyside6/pyside6/blob/master/LICENSE)
0 commit comments