Para un editor de terreno 3D 'clásico', los pasos podrían ser aquellos:
Genere una malla (por ejemplo, una cuadrícula de cuadrados, cada cuadrado formado por dos triángulos), todos los vértices se comparten entre triángulos (de modo que solo haya una normal por intersección).

Esto debe hacerse una malla 3D y renderizarse en su programa.
Haga una herramienta para subir y bajar partes (más pequeñas y más grandes) de la cuadrícula (necesita calcular en qué parte de la malla está el cursor del mouse y modificar los vértices de las mallas, pero solo hacia arriba y hacia abajo).
Crea una textura grande (como 1024x1024x4 o mejor) y texturiza con lo que se llama un mapa-splat:

Haga posible pintarlo (con R, G, B OR Alfa, no rosa por ejemplo) y elegir texturas que reemplacen esos feos colores primarios (Rojo, Azul, Verde, Alfa), o más, estar representados por ellos:
El sombreador (que necesitará crear) debe multiplicar esas texturas agradables (por ejemplo, piedra, hierba, ...) con la intensidad en el splatmap (el feo) y luego mezclar todo para que se vea, por ejemplo (con como solo 2 colores), así:

Perdón por las imágenes grandes, preparé esto en el trabajo ...