Terrain importer/editor and point render

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.

I need a simple script

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.

this is big mesh, we need Link-file, python can?if can, I need a simple script.

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?

Yeah, best to use the links Sergey mentioned in that case.

On how to “link” models in hard drives

One method is to use Python to modify Blender’s Mesh data every moment.

Another method is to add a new “Linked mesh” to the DNA to replace the original “mesh”

The latter allows blend files to be saved only with file paths and not mesh data.

Therefore, modifying the source code may make it easier to achieve the expected performance.

@modmoderVAAAA
want to ask you what you think of this idea and whether you oppose adding new data block types

Can using something like “geo bake node” avoid adding data blocks?

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.