am preparing to develop an add-on for Blender. I want to follow the principle of only creating a plugin without modifying the source code. My goal is to enable Blender to load and edit terrain scanned by drones from disk.
The questions I need help with are as follows: If the terrain scanned by the drone is in Mesh format, I might only need to use Python to have Blender read the model from a folder and import it. If the drone scanning software exports colored points, is there currently a feature in Blender that can directly render colored points using Eevee or Cycles? Do I need to modify the source code for this functionality?
I have seen people use Python to call OpenGL to draw some UI in the 3D view, but I am unsure if a similar method can be used to display point clouds.
If the add-on I am developing involves adding a new format for importing and a modifier similar to Alembic, do you agree with me including them in the modifier list and geometry nodes?
Point clouds are a datatype that already exists in Blenders geometry. You can store arbitrary attributes per point through the Python API. So obviously color, but also any other value/type of data that the scan captured per point.
Regarding the terrain editing tool, I have a rather complex idea.
The DJI drone software outputs terrain mesh models with multiple blocks and levels of precision.
If we want to edit the shape of the terrain, it would be equivalent to editing several sub-levels of a block and then propagating those changes to the sub-levels of those sub-levels.
If we want them to deform together, we could add the same light projection geometry nodes or lattices to them.
However, none of these methods are as convenient as sculpting.
If we could store the deformation instructions from sculpting in special voxels, making points near these voxels at the sub-precision levels of the model undergo the same displacements, merges, subdivisions, and other changes that sculpting can produce.
This idea is very complex to implement and is not within my current plans.
If it is some format which is very commonly used then maybe.
But it sounds more like some sort of quite custom solution. In this case the add-on you’re working on is more suitable for the Extensions platforms, not to the code Blender.
There are ways to handle even complex meshes rather efficiently in Python.
For help on this topic the #python char room or other suitable community would be a better place.
This is a place for developers to communicate about core Blender development.
Does this mean that this forum only provides exchanges on Blender source code development? If I need help with ‘bpy scripting’, should I look for assistance in another forum, or should I switch to a different section?
As mentioned before this forum is for developers who work and contribute to Blender directly. Questions around add-ons and support for that is better off on other areas. Thanks for your understanding.