VISmaF: Synthetic Tree for Immersive Virtual Visualization in Smart Farming. Part I: Scientiﬁc Background Review and Model Proposal

: Computer-Generated Imagery (CGI) has received increasing interest in both research and the entertainment industry. Recent advancements in computer graphics allowed researchers and companies to create large-scale virtual environments with growing resolution and complexity. Among the different applications, the generation of biological assets is a relevant task that implies challenges due to the extreme complexity associated with natural structures. An example is represented by trees, whose composition made by thousands of leaves, branches, branchlets, and stems with oriented directions is hard to be modeled. Realistic 3D models of trees can be exploited for a wide range of applications including decision-making support, visualization of ecosystem changes over time, and for simple visualization purposes. In this review, we give an overview of the most common approaches used to generate 3D tree models, discussing both methodologies and available commercial software. We focus on strategies for modeling and rendering of plants, highlighting their accordance or not with botanical knowledge and biological models. We also present a proof of concept to link biological models and 3D rendering engines through Ordinary Differential Equations.


Introduction
Computer simulations of plant growth have a long history. Botanists and computer scientists have tried to develop methods to generate natural objects synthetically for over forty years [1,2]. The first method for branching structure simulation using a computer called a cellular automaton was proposed by Ulam [3] in 1966: an arrangement of square cells on a grid, directed by a computer program that had the ability to adapt to different conditions. Greene [4] extended the cellular automaton to a three-dimensional space called voxel space automata trying to simulate growing processes with reactions and adaptations to the environment. Simpler models, which ignored even fundamental factors such as branch collisions, were developed later. Honda [5] proposed a model in which a variety of tree-like shapes was obtained by changing few numeric parameters. Lindenmayer [6] proposed a string rewriting system for cellular interaction commonly called the L-system, later adopted to generate plants and trees with the contribution of Prusinkiewicz [7]. Oppenheimer [8] used fractals to form trees with more advanced parameters such as branching angle, branch-to-parent size ratio, stem taper rates, helical twist, and branches per stem segment. Oppenheimer introduced random variations to alleviate some of the self-similarities intrinsic in fractal models (same specifications for every recursive level). Other models were developed during the years, following the needs of both 3D artists or professionals and botanists [9]. Following the development of these pioneering methodologies, the field has been revolutionized in the last two decades thanks to the exponential rise of computational capabilities and the integration with mathematicalbiological models. The Functional-Structural Plant Models (FSPMs) in the last two decades have been developed by scientists in order to explore and integrate the structure and the underlying processes of a plant [10]. Nowadays, the complexity of digital design has reached elevated levels of quality standards allowing the use of 3D structure as output of FSPMs in order to characterize plant phenotypes [11] or as feedback to assess and calculate light partitioning [12]. 3D plants can be part of several modeling systems, being main components of many digital representations of landscapes or natural scenarios [13]. As proposed by Pirk et al. [14], a 3D tree can be used in different scientific applications, such as synthetic silviculture [15], generic digital representation of real world [16], flow dynamics [17] and, as mentioned, in botany to determine physiological parameters [18]. In botany, models are used to determine physiological parameters [19][20][21]. Geometrical plant modeling allows researchers to validate visually biological processes, such as the interaction of plants with light and environment. In ecology, plant models are of interest to visualize information of deep-lying processes, allowing scientists to see "invisible" things [18]. Examples are represented by how plants develop in reaction to disease or stress and how plants grow after pruning [22,23]. This is critical to study the competition of plants for light or to estimate field crop canopy photosynthesis [24][25][26] or carbon and water flows [27], making an observer aware of the system's mechanism. In this paper, we aim to review the different modeling approaches of tree generation using FSPM that have 3D output to understand the state-of-the-art of current modeling approaches and how these models can benefit, if any and if functional to the model, from the generated 3D structure. We decided to focus the review on models that describe the epigeal part of the plant by excluding those that model only the root system. In Section 2, we present and review the FSPM methods with 3D output, grouped in three categories, depending on model category: FSPM (Functional-Structural Plant Model, Section 2.1), FPM (Functional Plant Model, Section 2.2), SPM (Structural Plant Model, Section 2.3). In Section 2.4, we compared the models described according to their applications in agronomy: which plant organs were modeled and considered, whether plant-plant interaction in community is modeled, whether plant-soil interaction is modeled, what processes were considered (e.g., carbon allocation, photosynthesis, and so on), and the various agronomic and scientific applications. As stated by Louarn and Song [10], one of the most promising horizons and opportunities of FSPMs is the use of non-invasive imaging and modeling-based methods. We give particular emphasis on their use of 3D model, how the 3D models generated are validated, what the scientific applications are. In Section 3, we provide a brief description of 3D rendering techniques used to generate synthetic trees and how these are used in commercial software. We also provide a proof of concept in Section 4 for a link between a biological mathematical model based on Ordinary Differential Equations (ODE) and a 3D rendering engine. This link can operate in both ways, i.e., by rendering a tree using parameters from ODE solutions or by considering geometrical 3D data (e.g., the amount of light from the scene) as input to solve ODEs. The in-depth development, validation, and more detailed results of the model are provided in the companion paper [28], part II of this research.

Plant and Crop Models
The development of computer models of plant functioning and growth has been in scientists' interests in the last 40 years [29]. During the last 20 years, scientists approached a new method to model plants by creating and developing FSPMs [10]. The main idea of this approach is to describe and model the plant as a population of interconnected parts, ranging from the smallest scale (organism prospective and genetic models) to the biggest one (community of plants and ecological models) [30]. Achieving this goal required a number of studies that made concepts such as those of plant architecture widely recognized in botany and the scientific community [31,32]. In parallel to the development of globally recognized models, the advancement of computing power by personal computers has allowed the development of the first methods and standards. The FSPM models allow a creation of "virtual" plants thanks also to the possibility, given the presence of architecture models, to have as output 3D models of plants [2]. This output, in addition to being visually immediate for the evaluation of the biological model itself [10], allows a more precise calculation of a series of interactions both with the external environment (virtual and not) such as the amount of light intercepted [33,34], the competition of plants in the community [15] or external mechanical actions (e.g., pruning) [22] and with other parts of the model of smaller scale [35], such as the reaction of the plant to diseases [23]. The present study focuses the attention on functional-structural models with 3D plant architecture output. The studies reviewed in this work are grouped in three categories, according to their modeling goal: (i) FSPM for models that have both functional and structural modeling; (ii) FPM for models that have functional modeling; and (iii) SPM for models that have only structural modeling. All the models reviewed have a 3D plant output. The objective of this review is to assess how the 3D output of models is generated, how it is useful for the development of the model itself, how the 3D structure could be improved, and how it could be a new opportunity for the further development of FSPM models. All the models reviewed are shown in Table 1 with their names, the programming language used, and the modeling environment. The works reviewed have been selected through a search on major public databases (Scopus, Web of Science, ScienceDirect, SpringerLink, ACM Digital Library), among those that have 3D output and that have a particular feedback in the scientific community in terms of citations and applications. Another table (Table 2) will be presented in Section 2.4 to summarize the agronomic applications, modeling objectives, modeled organs, and whether plant-plant and plant-soil interactions are present in order to have an overview of the described models and proceed to critically compare them.  [36]. The main goal of AMAPsim model is to combine architectural and physiological models, including both a general botanic framework and plug-in functions. The model and software, written in C++ language, is mostly based on those proposed by Bouchon et al. [83]. At its core, AMAPsim is a model designed to reconstruct a 3D plant structure (SPM) using a set of botanical parameters and concepts as growth engine. It has been classified in this work as an FSPM since, thanks to its modular structure, it is possible to use plug-ins for modeling the functional part of plants, becoming in all respects an FSPM. AMAPsim describes the plant as a set of hierarchical levels starting from the axis, annual shoot, growing unit, zone, and internode. The model considers the bud as a potential growth point. Once the topology is determined, the plant components are placed in the 3D space according to the method proposed by Jaeger [84] by associating geometric shapes to each plant component, e.g., a cylinder to the internode and polygonal surfaces to the leaves. These 3D components are placed in the environment according to geometric rules. The curvature of the branches by their own weight is modeled according to beam theory. The initial direction of the axes is defined according to phyllotaxis, and the initial length and diameter vary over time according to proportion rules. In its basic form as SPM, AMAPsim does not consider effects such as heliotropism or epitony. However, due to the possibility of using plug-ins, these features were included later as external module. The authors showed an example of their FSPM based on the AMAPsim core, using tomato plants. Figure 1a shows the results of this simulation: on the left (A) is shown a complete shape with detailed leaves; on the right (B), a simplified shape with leaves is approximated to an equivalent area. As shown in Figure 1a, the 3D output can be defined by to the computational power and the wanted precision; however, it is not a real-time 3D rendering, and it is not possible to modify environmental variables' runtime except at the end of every time-step of simulation. The modularity of the AMAPsim model, as well as the possibility of being able to use it without knowing programming languages, allows its use by non-programmers simply by calibrating the input parameters.
In 2020, Zhou et al. [37] introduced CPlantBox, a whole-plant functional-structural modeling framework. The authors proposed a model that can simulate both root and plant shoot as full plant structure and as a single topological network of organs. The model is written in Python language, and the input parameter file are XML-based to increase flexibility. As output, CPlantbox generates a one-dimensional graph with 3D topological coordinates. The nodes of this output graph have properties such as 3D coordinates, radius, organ type, water potential, and others. The workflow of the model is shown in Figure 1b. The model is capable of generating a 3D plant architecture for both the hypogeal and epigeal parts. For the epigeal part, CPlantBox is able to generate different patterns of leaf orientation, depending on the parameters set. The different structures are generated by changing the input parameters. CPlantBox is also capable of calculating the impact on the plant of a heterogeneous environment. In this case, the input parameters are assigned manually and punctually and cannot be varied during the run-time of the simulation. The novelty introduced by CPlantBox consists in simulating as a single network both the roots and the shoot and the possibility to couple it to water and carbon flow models, making it a full FSPM. While having a 3D output of the plant architecture, we believe that an improvement of this aspect can bring several benefits to the model itself: a better 3D representation of the leaves and of the plant structure itself, as well as an improved calculation of the ambient light input, can lead to a more accurate calculation of the photosynthesis process, improving the water and carbon flux model data. In addition, improved 3D structure can be useful for calculating competition between adjacent plants for both light and resources. The GreenLab mathematical model proposed by de Reffye et al. [38] is based on the architectural foundations of trees, identifying the basic components of plant development.
A key assumption is that axes of the same type are duplicated at different stages of development. GreenLab is an FSPM that integrates the functional and structural part of metabolic processes with a phytomere-level structure. The model has been developed over the years in different development environments and programming languages. The development of the plant structure and its formalism is based on a double-scale stochastic automaton. The 3D output provides the entire topological basis, having a recursive system of equations as its basis (Figure 2a). In addition to the graph visualization, GreenLab can also produce simple 3D structures (Figure 2a), which are purely geometric since photosynthesis is not contemplated. As stated by de Reffye et al. [38], compared to FSPM and crop models, GreenLab falls "in the middle", as a voluntarily simplified model both from the geometric and structural point of view and from the physiological one. It is a "source-sink solver": a tool capable of solving source-sink dynamics during growth. Moreover, as stated by the authors, unlike other FSPMs, GreenLab does not provide a fine description of physiological processes. Its strength lies in the fact that it can be used both as a solver of source-sink relationships and to model individual plants up to stand level. In addition to further developments that are underway by the authors, the possibility of integrating GreenLab with a more performant and precise 3D geometric structure could be a further step towards improving the model.
The L-PEACH model proposed by Allen et al. [39] is based on the PEACH model by Grossman and DeJong [85] which models carbohydrate source-sink dynamics of vegetative growth of fruit trees. While making it possible to avoid the use of empirical allocation coefficients, functional balance rules, or fixed allometric relationships, the PEACH model completely ignored the relationship between architecture and carbon allocation. In addition, it was not possible to evaluate differences in organ size based on its position on the structure. The integration with L-systems allowed these limitations to be overcome. L-PEACH was written in L+C language and implemented in L-studio [86]. The plant model is also sensitive to variation in water concentration, affecting carbohydrate production and flux. Figure 2b shows how the simulated plant reacts to different concentrations of water: the tree on the left has been simulated under conditions of full irrigation and the one on the right with mild water stress during growth. The L-systems used in the L-PEACH model facilitates the integration of individual organ models into a branched growth structure as well as dynamically updating the system of equations governing carbon partitioning. It also allows the interface between the plant model itself and the ambient light partitioning model, as well as the water concentration model. L-PEACH attempts to overcome some of the limitations that tree growth models based on carbon partitioning have had, as reviewed by [87]. However, the authors declare that more testing is needed to have sufficient data to fully calibrate the model [39]. The flexibility given by the L-systems allows to adapt the studied model to different case studies. Integration between the two fields is promising and possible, as discussed in the following sections. An integration between FSPM models and 3D rendering is introduced by Bailey in 2019 [40] as a framework for plant and environmental modeling called Helios. The author pointed out some important trade-offs in plant systems models and proposed Helios as a different framework in which the mentioned trade-offs are prioritized. The complexity of the model is one of these trade-offs: simple models such as the "big leaf" model proposed by Sinclair et al., Raupach and Finnigan, can lead to very low computational effort but introduce inherent errors and biases into the model approximation. On the other hand, more precise models that simulate each individual leaf [46,91] are more accurate but computationally heavier. Another trade-off pointed out by Bailey is the choice between ease of use and flexibility. Increasing the ability of the end user to have more control over the configuration of the software inevitably results in a decrease in the ease of use of the model framework. By automating some of the tedious and technical tasks, developers can increase ease of use but also create multiple limitations for advanced users. An example is given by the non-sequentiality of processes: the simulation of the photosynthesis, as an example, is based on cyclical processes linked between them. Coupling these processes into a model requires iterations, which requires flexibility when incorporated into a generalized modeling framework. This problem was also discussed by Pradal et al. in the development of the OpenALEA model [46], where some of the flexibility was sacrificed in the name of ease of use for the end user. The author used C++ language as more efficient and flexible sacrificing some of the usability [40,86]. Sacrificing ease of use, the model is formulated to allow maximum user control over plugins (submodels), data flow, and execution. Helios is capable of using complex biophysical models, utilizing the parallel computing capability of GPUs to reduce computational weight. The core of the model is represented by a class called Context, which manages the data and geometry of the model. The output of the model is a 3D representation of the plant that can be exported as standard OBJ or PLY files, coupled with XML files for simulation data. This way, coupling of geometric data with other models such as GroIMP or OpenAlea is possible. The generation of 3D tree structure in Helios is possible thanks to the procedural tree generation submodel. This plug-in allows to create semirandom tree geometries through the algorithm proposed by Weber and Penn [92]. The woody architecture of trees is generated by recursive sets of branching levels with a random perturbation. The procedural tree generation plug-in comes in Helios with predefined tree geometries as shown in Figure 3a. The final tree is similar to ones generated with L-systems approach. Although the Helios model has the ability to procedurally generate the 3D structure of the tree, this function appears limited, having a defined number of trees (predefined tree geometries). There is no possibility to generalize the procedure, as in the other plug-ins, to generate the architecture according to a mathematical biological model; additionally, it is not in real-time. We believe that an improvement in the tree structure generation part could improve the calculation of these submodel parameters by allowing the user to appreciate any differences caused by the different architectures generated, differences in light interception, competition between nearby trees, and more.
The concept of relational growth grammars (RGG) proposed by Kurth et al. [93] features a combination of L-systems and graph structures, using a generic programming language. This concept was introduced to make the L-system formalism more suitable for FSPMs since a plant is not the sum of individual parts and shows graph structures that cannot be represented with L-systems which are a linear string of symbols. The formalization of these concepts is exactly the concept of RGG, and its implementation is the XL programming language. The linear sequence of symbols of the L-systems is replaced by a real graph having a series of connected nodes and edges. Typical FSPM relationships can be represented by the graphs and their connections between nodes. The graphs themselves can be transformed by applying rules, such as the rule-based paradigm of L-systems. Kniemeyer et al. [41] put together relational growth grammars in an interactive modeling platform, based on the XL language, called GroIMP, with the aim of making the concepts of relational growth grammars usable to the end user. GroIMP has a module for modeling 3D parts, using geometric classes that include primitive shapes such as spheres, cones, boxes, splines, surfaces, and lights, as well as a library of materials applicable to shapes and surfaces. The generated 3D structure is rendered using the POV-Ray engine [94]. On the 3D structure, the user can apply some modifications such as the deletion of parts by interacting directly on the shape. The implementation of relational growth grammars in GroIMP was done via the XL programming language. It is defined as an extension of the Java language and allows to maintain the syntax of the L-system rules. The language also allows queries and peforms mathematical operations on data sets. All of this allows an implementation of the process-based part of the plant models and links it with the structure. The structure visualization is shown in Figure 3b with a basic example of a maple tree. RGG is not the only extension of the L-system formalism: in the literature, it is possible to find several extensions that take different directions, such as context-sensitive ones that allow the modeling of local transport [86], global-sensitive ones that take into account the global environment by interfacing the L-system with an external program [95], and those of implementation of different programming languages, such as L+C that adds the rules of L-systems to the programming language C++ [96]. These extentions remain in the framework of the L-system, and relational growth grammars extend the formalism of L-systems towards the graph grammars to model the complex FSPM in a natural way. Kniemeyer et al. [41] argue that the advantages of RGG are that it can store tree-and graph-like structures as data instead of a sequence of symbols that is inadequate for FSPM modeling of graph-like structures. The representation of structures is also immediate, avoiding the interpretation of turtle steps as an algorithm, simplifying the interpretation of global and local rules. Moreover, the use of a generic programming language is useful to implement the process-based part of FSPM. L-systems have this kind of integration, for example with the already mentioned L+C language with the L-PEACH model aforementioned [39], but does not define any syntactic support for accessing and calculating on the entire structure. The calculated graph is exportable to be modeled in 3D software such as CINEMA 4D or Maya. However, the 3D structure is only a graphical representation and not a functional object for the model itself. Such a use could be in our opinion an important step to further extend the model. The authors also pointed out that GroIMP cannot solve systems of differential equations that are often the basis of FSPMs. GroIMP has been implemented for modeling different plants and performing functional-structural calculations, as shown by Zhu et al. in GrapeVineXL [97]. An example of the application of FSPM as an agronomic tool for crop practice design is V-MANGO proposed by Boudon et al. [23]. The model is based on a representative FSPM of the mango tree (Mangifera indica L.) that reproduces the vegetative and reproductive development of the tree and their interactions. The main goal of the authors has been to create an integrative FSPM model of mango tree development and fruit production to demonstrate that an FSPM can be used to formalize the development of the complex architecture of mango trees also phenologically, to show how the introduction of some temporal and structural factors can simulate the complex interactions between vegetative and reproductive growth, to create a first basis for a model that can be used for the design of cultural practices. V-MANGO is based on the architecture model proposed by Hallè el al. [98], described as a series of growth units, inflorescences and fruits organized as an arborescent structure. Growth units are composed of a series of internodes and leaves organized in a spiral pattern. Boudon el al. [23] modeled several sub-models to integrate these different scales and combined them consistently. A plant architecture model was first defined simulating the visual part of the different entities (growth units and inflorescence) by decomposing morphogenesis into elementary stochastic processes. Growth unit geometry is defined by several variables such as axis length and diameter, number of leaves, leaf length, width and area, internode length, and phyllotaxis (see Figure 4a). Using all of these parameters, the authors have been able to accurately represent the geometry and location of each individual growth unit. All these growth unit, fruit, and inflorescence models have been assembled by the authors into a complete architecture using an L-Py [99] module of the OpenaAlea [46] platform, using L-system formalism with the Python language. The visualization of the structure is then entrusted to the L-system formalism and rules. Although V-MANGO is a complete FPSM, which models both the structural and functional part of the mango tree and has as output a 3D structure of the tree, it has further integrations and updates to be implemented, according to the authors. The 3D structure generated by V-MANGO lacks a module to calculate the amount of intercepted light, and the introduction of this module would allow a more accurate calculation of photosynthesis in fruit production. Finally, the introduction of modules that take into account agronomic practices, such as pruning, would allow the V-MANGO model to be used as a tool for precision agriculture. A more generic model aimed at modeling fruit trees is QualiTree, presented by Lescourret et al. [42]. The authors presented QualiTree as a model that can simulate the effects of different agronomic practices on fruit tree development, particularly on the quality of fruits produced. The proposed model is highly targeted towards the study and modeling of the quality of the fruits produced, focusing on some functional aspects of their growth. The modeling of the tree was done considering only the characteristic traits of the quality of the fruits produced (Figure 4b), leaving the other parts of the tree separate as different compartments. From a level of detail point of view, QualiTree falls in the middle between compartmental models and those that use the description of individual organs to represent the architecture of the tree, such as the other FSPMs described in this study. The hierarchical structure has been developed with UML language which, through a representation based on object/class programming paradigm, allows the hierarchical modeling proposed. The functions (mathematical operations) encoded in the model have been classified as specialized models and generalized models. According to the authors, specialized models include all mathematical equations describing carbon allocation according to source-sink systems and their balances, while generalized models include those describing leaf photosynthesis, carbon assimilation by fruits, mobility of carbon reserves, daily growth requirements and others. Some of the improvements proposed by the authors for QualiTree are the extension of the fruit quality parameters, the amplification of the effects on the cultivation practices model, but above all the integration with QualiTree of light interception models for a more precise calculation of photosynthesis. In this regard, we believe that the implementation of a generic model such as QualiTree with a 3D rendering system of the structure, thus overcoming the fact that the structure is already defined as input data, can improve the calculation of light interception and consequently the calculation of photosynthesis and all processes related to it. The authors also propose to scale the model in the future from a tree scale to a tree group scale in addition to increasing the time scale from one growing season to multiple consequential and consecutive seasons.  (b) Fruit tree simulated in QualiTree with representation of Fruits Units (FU-colored lines) and old wood (black lines).

Functional Plant Models (FPM)
The ARCHIMED model proposed by Dauzat et al. [43] integrates biophysical modules to model the complex interactions between leaf, plant, and plot scales. The authors' choice was to use a single-leaf scale for most processes such as photosynthesis, leaf radiation, and energy balances. The modules present in ARCHIMED allow the calculation of several biophysical processes such as the radiative balance of organs, their transpiration, and their carbon assimilation. The ARCHIMED platform includes two sub-platforms called ARCHIMED-ϕ and ARCHIMED-ψ, respectively specialized in biophysical modeling and in 3D plant growth modeling. The processes of photosynthesis and transpiration are controlled by stomatal conductance parameter which can limit photosynthesis by reducing carbon dioxide influx and indirectly modulates leaf temperature through evaporation. In order to be able to calculate all the parameters involved in the simulation, ARCHIMED presents a system of modeling of the light and its quantity that arrives on the structure (in particular on the leaves) as photosynthetic active radiation (PAR). The light input is not calculated in real time by the 3D environment, but it is a prior measurement. The internal behavior of the leaves is governed by the water potential calculated according to a sap flow model. ARCHIMED is capable of modeling interactions between neighboring plants in the same plot. Each plant modifies its own environment either due to its proximity to another plant or due to external elements such as wind. The model used by ARCHIMED to calculate the light flux in the plot is the MMR (Mir-Musc-RadBal) model as described in Dauzat et al. [100]. As shown in Figure 5a, through the XPlo component of the AMAPstudio platform, it is possible to generate and render 3D tree structures from ARCHIMED model data. In the Figure 5a, a coffee tree was generated and rendered. Through AMAPstudio, it is possible to modify the architecture, evaluate data, and visualize the structure. The modularity of the simulation platform allows the future integration of other models to extend and refine the system, as proposed by the authors themselves.
The functional tree model presented by Sinoquet et al. in 2001 [44] called RATP (Radiation Absorption, Transpiration, Photosyntesis) allows the simulation of the spatial distribution of radiation and leaf gas exchange within the vegetation as a function of its structure and microclimate. The model has as input tree geometry, microclimate variables, and properties of tree components. In the research proposed by Sinoquet et al., the model was calibrated on a walnut tree on which all input parameters were measured. The RATP model does not allow a structure generation per se, but the structure itself is input data. RATP according to the authors can be used to study the allocation of resources between vegetative components and between organs in the same plant. The model does not simulate the microclimate inside the canopy except for radiation and wind speed in small scale according to empirical relationships. As proposed, RATP is a model used to study water and carbon exchanges at the interface between the plant and the atmosphere. It does not have the ability to generate a 3D model of the plant, and the input model of the structure is given by field measurements of real trees. Thus, there is no exchange of information between the virtual environment and the model with its parameters. Being a generalized FPM model, it would be possible to integrate it with 3D rendering engines to increase the accuracy of some calculations such as absorption and interception of solar radiation, leaf distribution on the canopy structure, leaf irradiance measurement and so on, relying on a precise architecture of synthetic tree. FPM models can also be used on non-tree plants. The applications in the literature are numerous, such as modeling the functionality of the tomato plant. In particular, some studies have been performed using a virtual plant model to optimize certain growth conditions. For example, De Visser et al. [101] used in their study a 3D model of tomato plant coupled to a ray-tracing model of lighting for the optimization of the light itself showing that illumination efficiency increases when the lamp light is directed at most to leaves that have a high photosynthetic potential. Dieleman et al. [102] have instead demonstrated how, by conducting tests in a 3D virtual environment, dynamic light spectra may offer perspectives to increase growth and production in high-value production systems such as greenhouse horticulture and vertical farming.

Structural Plant Models (SPM)
The main feature offered by the OpenALEA model is to provide researchers with a visual and interactive interface to an FSPM application. OpenALEA due to these features has been used as the basis for several models, some of which are mentioned in this paper [23,47,103,104]. The visual programming environment was conceived by the authors as a way to integrate and connect the model rather than model feedback and retroaction, which can still be done using specific dataflow nodes and biophysical solvers (Figure 6a). The intricate interactions between plant functions, such as hormonal control, resource partitioning, and water flow, are partially modeled and require the definition and sharing of generic data structures representing different plant processes at different scales and in parallel. Due to the fact that OpenALEA is a general purpose model, the authors have chosen to develop it in an open-source, object-oriented, platform-independent language with an easy-to-learn syntax such as Python [105]. OpenALEA is based on the "component framework" principles introduced by Councill and Heineman [106] that allow the dynamic combination of independent pieces of software into a workflow. The authors have also developed a visual programming environment, VisuAlea, that allows scientists to create complex models without having to learn a programming language. In VisuAlea, it is possible to graphically combine the different modules, nodes, and components provided by the OpenALEA library and then run the model. Thanks to its modularity, OpenALEA presents basic components already integrated for the modeling and analysis of plant architecture, geomentric plant modeling, ecophysiological processes, and meristem modeling and its simulation. VPlants is the successor of AMAPmod and is a package for the modeling and analysis of the plant architecture, while for the modeling of the geometry, there is the PlantGL graphics library that uses the procedural rendering method proposed by Weber and Penn [92]. As described, the integration of modules in the OpenALEA model allows the creation of 3D structures of plants aimed both at the visualization of the model and at a functional use such as for the calculation of light and rain interception. The procedural methods of shape generation used in OpenALEA will be described in Section 3.
An example of OpenALEA application is given by the MAppleT model presented by Costes et al. [47], which aims to model the apple tree using biomechanical properties and mixed stochastic models. The integration of topology and geometry models in a single simulation in order to make the architecture of an apple tree emerge from the interactions between the processes was achieved by the authors using L-systems. At the time of its publication, MAppleT, together with L-PEACH already described in this paper [39], was one of the first approaches to the simulation of fruit trees with development over the years and responsive to gravity. The 3D output turns out to be only visual, used by the authors as a comparison with data measured on real trees for model validation. It is not used as input to the biological model, e.g., for calculating light interception, as well as in other models described in this work. FSPM, SPM, and FPM models are also used to evaluate how the structure of a plant can modify its characteristics, understood as the ability to intercept light, fruit distribution, production, gas exchange, water transport, and so on. These solutions are also adopted for high-revenue species such as fruit trees and vineyards. In the case of the vineyard, several studies have used these models to simulate the plant in its functions and structure. An example is given by Top-Vine, proposed in 2005 by Louarn et al. [48]. This model is proposed as a topiary approach based on an architectural model to simulate vine canopy structure with a 3D distribution of leaf area for contrasted vine training systems. Leaf area is an input to the model that operates at the shoot level and considers each shoot to have the same leaf area. The volume is refined by the inputs which are field measurements of real vines using a 3D electromagnetic digitizer. Top-Vine has been implemented on the ALEA/OpenALEA platform. The authors noted a close relationship between the field data and the model results at both the canopy and organ level, allowing, once the model is calibrated, to be able to generate a structure at any desired time-step and allowing a light interception calculation. Thus, as in the model proposed by Louarn et al., other authors have also used FSPM, SPM, and FPM models to virtually recreate the vine. Models such as the one proposed by Zhu et al. [97], thanks to a 3D reconstruction of the plant, allow the calculation of gas exchange, coupling it to the dynamics of water transport.

Critical Comparison of Modeling Systems in Agronomical Applications
The development of FSPMs has matured significantly over the past 20 years and has already provided significant results at different levels of organization and in different fields of plant science. FSPM models are now at the core of fundamental questions in plant biology and predictive ecology. The models studied in this work exhibit specialization on a single plant or are generic frameworks on which specific models have been developed. In particular, FSPMs present a more holistic modeling, often of the whole plant or part of it (shoot or root), both the functional and the structural part. The variety of model applications has also allowed the development of SPM and FPM models, as a branch of FSPM models, which are specialized in a particular aspect: structural only or functional only, by choice of the modeler and for the aims of the development. Table 2 shows the differences between the various models analyzed in terms of model aims, agronomic applications, the presence or absence of plant-plant and plant-soil interactions, and the organs and processes modeled.
As shown in Table 2, among the various models reviewed, there is a large heterogeneity between the processes considered, the organs modeled, and the agronomic applications. AMAPsim uses the processes of carbon allocation and photosynthesis, modeling buds, stems, fruits, and leaves. The carbon allocation is managed by external modules, which is possible thanks to the possibility of connection with external modules specialized in particular functions. In the case of AMAPsim, the external module of carbon allocation is a specialization of the one already used in GreenLab [38,107] that calculates the storage of biomass, photosynthesis and biomass allocation for each time unit according to current climate and current plant shape, the length according to allometry on biomass, and the diameter according to allometry on biomass. The allocated carbon is used to determine the size of the organs, which in the case of AMAPsim are buds, stems, fruits, and leaves. CPlantBox, unlike AMAPsim, considers the plant as a single connected network of organs and models the allocation of water and carbon not as a redistribution of the data calculated according to the topology but as a flow generated by the potential difference between the various organs of the plant according to the Münch theory [108]. In this way, the model is able to simulate plant and roots as a single network, generalizing the parameters so that they can be adapted to field measurements. The difference in modeling approach and modeled organs leads to a number of different agronomic applications. Applications of AMAPsim have been found in the literature in several areas such as studying the response of trees to wind, as shown by Sellier et al. [51], quantitative analysis of branching patterns [50], and how planting density and density can affect plant architecture [54]. These applications have been made possible, as described in the previous section, by the integration of specialized external modules into AMAPsim. The different modeling approach of CPlantBox has allowed its application in other agronomic fields such as in-field phenotyping. Magistri et al. [56] used CPlantBox to rely on synthetically generated models instead of scanning real plants in a controlled environment and use them to measure phenotypic traits in an automated fashion without intensive manual work. GreenLab, as described in Section 2.1, is presented as a model that starts from a concise mathematical representation at the phytomer level of metabolic processes to describe plant growth and development at the individual level up to the stand level [38]. Carbon allocation was assessed by computing, according to the source-sink concept, the strength of source organs and sink organs, calculating the plant demand as the sum of all active sink organs at a given time t. The root system is considered as a simple, single compartment, focusing only on the epigeal structure. The equation governing the model has the form of a discrete dynamic system, as a function of time, set parameters, allocated biomass, and environmental conditions over time. The development of the botanical structure was developed in GreenLab by describing the physiological rules of each new phytomer produced, using a graph notation approach. The structures produced can be simple or complex depending on the characteristics of the meristems. Random events that alter the development of the plant architecture are introduced into the model as stochastic functions that modify the automaton transition rules. The validation of the model was found to be satisfactory for about 20 plant species (herbaceous, shrubs, and trees) showing stability of the estimated parameters in different climatic conditions. Being a deliberately simplified generic model, both from the point of view of ecophysiology and of representation of the structure, the agronomic applications are different, even with the necessary approximations. Feng et al. [61] used GreenLab to calculate the 3D structure of maize after evaluating and calculating the various parameters at a given planting density, showing good adherence to the measured data. In plant breeding, Letort et al. [62] considered the growth parameters, in first approximation, as invariants leading to an efficient selection in the search of ideotypes. Moving from individual plant to stand, the approximation of parameters increases as parameters are partitioned using a production area parameter, a function of density. Baey et al. [63] used this approach to estimate stand biomass as a function of density, showing comparable performance to other specific models. GreenLab, according to their authors, has a modeling rigidity given the fact that feedback between growth and development is ignored in addition to the lack of mortality models, things that will be supported in future developments. Carbon allocation modeling has also been used in the literature to estimate fruit production and quality, as shown in L-PEACH, V-Mango, and QualiTree among the models analyzed in this work. MAppleT also models carbon allocation, but in this case it is not targeted to fruit production and quality but to plant architecture by simulating gravitrophism and light interception. Returning to the models for estimating the production and quality of the fruit, L-PEACH is proposed as a model aimed at studying the effects of crop load, in this case for the peach tree. The model, like GreenLab, estimates carbon allocation through source-sink interactions and the calculation of their potential. L-PEACH simulates the effects of management and genetic and environmental factors that may affect the plant through complex interactions between plant organs, obtained by manipulating and adjusting parameters such as fruit number, fruit behavior, and the stems' storage capacity. The model is structured by modules, each for individual plant organs. Each individual organ can be evaluated as a source or sink of carbohydrates. The physiological parameters used were treated as electrical counterparts in that the calculation of carbohydrate storage, flux, and partitioning (amount (mass) of carbohydrate, carbohydrate concentration, carbohydrate flux, rate of photosynthesis, source/sink strength, resistance to concentration-driven flow) was done using equations studied in principle for the calculation of linear electrical circuits. The model is also interfaced with a method for calculating light distribution using a quasi-Monte Carlo method. The proposed model works well in a variety of agronomic applications such as canopy management. As shown by Lopez et al. [65], L-PEACH has been used to guide experimental research by helping to identify or develop quantitative hypotheses of potential yield-limiting processes that can be measured in the field, as well as the reaction of trees to external manipulations such as pruning. L-PEACH is a good example of how architectural growth, carbohydrate assimilation and partitioning, and organ growth can simulate tree growth and physiology to provide integrated understanding of the environmental physiology of trees, in this case peach trees [65]. While also modeling the allocation of carbon in fruit trees, QualiTree has a different approach from L-PEACH because it does not generate the structure of the tree with architecture algorithms but needs data for initialization of the model that are the numbers of leafy shoots and fruits for each FU (Fruiting Unit). The model, after getting also as inputs the environmental parameters such as temperature, humidity, and PPFD for photosynthesis calculation, proceeds to the estimation of fruit quality. Agronomic practices influence the status of various classes such as winter or summer pruning. Pruning changes the shape to the structure of the tree, and QualiTree takes this into account by recalculating the source-sink balance and carbon exchange depending on the number of fruiting units and the distances between them. The main application of this model is crop management. Miras-Avalos et al. [79] used QualiTree to model peach tree reactions to a pest attack in different domains: on different cultivars (Alexandra or Suncrest), thinning intensity, and presence or absence of pest attack, showing a difference in the results of the fruit quality calculation and offering satisfactory results. The model is limited only to the size, quality, and yield of fruits and needs to be expanded with other quality parameters and other modules such as the estimation of water absorption (to simulate irrigation practices). Designed to be a specific model for estimating fruit quality and quantity, V-Mango uses carbon and water allocation processes for fruits only. The modeled organs are fruits and flowers along with what the authors call Growth Units (GU), modeled using empirical distributions and thermal time. Fruit growth was determined using an ecophysiological model that simulated carbon and water-related processes at the fruiting branch scale. The generated 3D models are used to accurately calculate light interception and require several variables: axis length and diameter; number of leaves; individual leaf length, width, and area; internode length; and phyllotaxy. The values of these variables were measured from experimental data. The fruit growth model simulated the daily increase of fresh mass of each individual fruit and was calculated by dividing it into two growth phases: the first corresponding to cell division and the second to cell expansion. The mass of the fruit is calculated every day as a combination of the masses calculated in the two phases of cell growth considering also the external environmental conditions such as temperature, humidity, and light conditions. Although it is a specialized model on a single type of fruit tree, V-Mango lends itself to several agronomic applications such as studying phenology and how, for example, the tree under certain conditions reacts to a pest attack, as shown by Boudon et al. [23]. V-Mango, despite being applied in several crop management applications, has not yet implemented the effects of agronomic practices such as pruning that is instead present in other models reviewed in this work (e.g., L-PEACH cited earlier). Another specialized model on a fruit tree is MAppleT. Unlike the previous ones, although modeling the carbon allocation through the representation of the bud organs, stems, and leaves, being an SPM (Structural Plant Model), it is aimed only at the study of the structure of the tree (apple) influenced by gravity (gravitrophism). To do this, the authors have used stochastic topology models, on a Growth Unit (GU) scale, modeling their succession according to Markov chains. In order to estimate the effects of gravity on the structure, the authors also modeled the secondary growth of GUs and generated the shape of individual branches according to the biomechanical component of the model that estimates the bending and twisting of the branch itself. The generated 3D tree models were compared with empirical measurements on real trees, showing similarity between the real and modeled data. The effect of gravity on branches is also very similar to what the authors measured on real trees; however, the effect of gravity on morphogenesis, i.e., simulated gravitropism, is partially implemented. The authors note that there are discrepancies between the measured and model data of branch inclinations that are found to be incorrectly simulated. While MAppleT has limitations, it is the first model to simulate the effect of gravity on structure and has been used subsequently for crop management applications and biomechanics studies. For example, Han et al. [109] used MAppleT to estimate the efficiency of light interception as a function of tree geometric trait. A different approach was proposed by Bailey with the FSPM Helios model [40]. The proposed model does not simulate carbon allocation but focuses more on the photosynthetic, energy balance, radiation pattern, and stomatal conductance part. To do this, the author built the model by separating it into "contexts", "primitives" (defined as basic forms of individual plant elements), and separate, specialized "plug-ins" where the user has full control over parameters and processes. The plug-in (or module) for modeling radiation transfer was developed by Bailey in 2018 using a reverse ray-tracing method for modeling the net radiative flux in leaves [110]. The surface energy balance module was developed by considering the surface area of the single primitive and some parameters such as Stefan-Boltzmann constant, emissivity, and surface temperature, as well as external environmental parameters. The energy module depends on the estimated position of the sun based on Gueymard's [111] study. The stomatal conductance module is based on the studies of Buckley et al. [112] where stomatal conductance is given by a hyperbolic function of photosynthetically active photon flux density and local vapor pressure deficit. The module for photosynthesis is given by the studies of Johnson [113], and the mechanistic biochemical model of Farquhar et al. [114] for C3 photosynthesis. One of the results that this model shows is that there are minimal differences in simulations of radiation absorption, transpiration, and photosynthesis through most of the day and in daily integrated distributions between isolated and dense canopy trees, raising questions about the representation of trees using simplified biophysical models. The Helios model was primarily used to model grapevine and vineyard management. As shown by Bahr et al. [69], Helios allows the estimation of sunburn damage to berry in the vineyard as a function of leaf structure, density, and position, as well as vineyard architecture. Another use of the model was that proposed by Salter et al. [68] in phenotyping using a virtual chickpea plant as support for validation of a 3D reconstruction system using structure from motion (SFM) algorithms. Radiative processes have also been modeled in other works analyzed in this paper, such as the GroIMP model, which is proposed as a generic model by combining L-systems with a graph structure and uses an inverse ray tracing system: the scene consists of a series of light sources and objects that absorb (or reflect) radiation. The ray is traced from the source to the target, in an inverse mode to what happens in a classical ray tracing system. The amount of light calculated at each point is used to estimate photosynthesis as the amount of carbon assimilated into the leaves, given the calculated radiation and leaf area. The carbon thus assimilated is redistributed among the organs, which in the case of GroIMP are buds and stems, via the carbon allocation model proposed by De Reffye et al. [115]. Being a generic model, GroIMP has been used in several agronomic applications: Vermeiren et al. [116] studied how the shape of the leaves of a tomato plant affects light interception, Kang et al. [72] characterized genotypically and phenotypically sunflower plantations based on differences in water budget, Streit et al. [74] studied with GroIMP modeling how light interception changes when the geometry of Scots pine trees changes, and Kniemeyer et al. [41] studied how different carrot plants compete with each other by self-shadowing processes and how planting can be optimized to maximize yield. Another generic model that exploits the potential of radiation processes is OpenALEA. This model simulates, by using specialized single-function modules interconnected with each other, the organs buds, stems and leaves, combining radiation processes with carbon and water allocation processes. Specifically, to analyze branching patterns and architecture, OpenALEA relies on the models proposed by Durand et al. [117] and Guedon et al. [118] based on statistical models of Markov chains and change point detection. For the ecophysiological study, OpenALEA relies on the models already proposed by Chelle and Andrieu [119] and Sinoquet et al. [44] Specifically, the radiation is calculated according to a radiosity algorithm where two surfaces, one emitting and the other receiving, are linked according to an equation that takes into account their transmittance, reflectance, and relative geometric position (how much they are exposed in front of each other in terms of surface area). Photosynthesis and relative carbon gain are computed for sunlit and shaded leaves of each vegetation component in each 3D cell. Photosynthetic rates are simulated according to C3 theory, as already seen for Helios. This model was used without including the potential limitation arising from triose phosphate utilization. The agronomic applications of OpenALEA range from biomechanical studies on fruit trees to crop management of vines, as shown by Louarn et al. [48]. The analyzed models RATP, Tomato, and Top-Vine share the modeling structure with OpenALEA, using the same carbon and water allocation processes in addition to radiation absorption processes. While RATP models bud organs, stems, and fruits, Top-Vine and Tomato model only stems and leaves. Again, the agronomic applications are different. As for RATP, the model was used for studies of plant response to drought. The geometry of the tree canopy was described as an array of 3D cells of defined size on the three axes. Each cell can contain different parts of the tree or be empty (Figure 5b), while the soil was discretized into a series of zones that exchange radiation with the vegetation. The plant properties are physical, such as angles of orientation of branches and leaves, and physiological (reactions to environmental conditions of the photosynthesis process if there are leaves). The model has as output the radiative balance, organ temperatures, carbon, and water balance in shaded and illuminated areas in each 3D cell. Ngao et al. [120] used RATP to study the variability of leaf temperature and stomatal conductance enhanced by drought in apple tree. With Tomato, instead, Sarlikioti et al. [45] studied how plant architecture affects light absorption and photosynthesis in tomato plants, using as a model for the photosynthesis process the one already analyzed and proposed by Farquhar et al. [114], while the light input module is given by the studies of Chelle and Andrieu [119] by calculating it with the inputs being the amount of light absorbed by each plant organ, the leaf transmittance and reflectance coefficients for the upper and lower side of the leaf, and the light from the light sources that were used to simulate the sky. The experiments were carried out in a virtual greenhouse at the variation of the 3D architecture of the plant. The ARHIMED model has a different approach in modeling the photosynthesis process: it is controlled together with transpiration by stomatal conductance parameter which can limit photosynthesis by reducing carbon dioxide influx and indirectly modulates leaf temperature through evaporation. Light exchange has been modeled by Vezy et al. [80] as a discretized model along the directions, alternative to ray tracing and radiosity models, while the internal behavior of the leaves is governed by the water potential calculated according to a sap flow model. Perez et al. [121] used ARHIMED to study architectural plasticity in response to planting density of oil palm. Dauzat et al. [43] used ARHIMED to study ecophysiological processes on 3D Virtual Stands.
In the review of these works, a fragmentary nature of the approaches emerged, both from the model design point of view and more in depth, such as the choice of programming languages. It is sufficient to note that, just taking into account the works reviewed in this review, there are five different frameworks and ten programming languages, in addition to the fact that each model has its own set of processes, modules, organs, and applications. Many reuse modules already extensively validated in previous years, such as the C3 module of photosynthesis, while some propose new approaches but remain to be validated with field data. A greater uniformity of the models can be achieved by improving the standard of integration of the models, without losing a limited generality, as discussed by Louarn and Song [10]. The fragmentary nature of the proposed solutions can also be seen in the 3D output of the studied models: all of them present a non real-time 3D rendering, with different techniques. Only a few models use the 3D model as a functional part of the model itself, for example, to calculate the amount of light collected in photosynthesis processes. We believe that an improvement in this aspect can benefit the development of FSPM models, such as in the paper by Zhu et al. [11], in which the 3D architecture of plants in the field is derived from photography of real plants. Their study applies this method to assess light distribution throughout the growing season. The 3D outputs of FSPMs could also be involved in the development of deep learning methods used for automatic image analysis: the realistic representation of plant architecture that FSPMs can generate could serve as a novel way to provide inexpensive datasets of rendered images for a wide range of phenotypes [10,122,123].

3D Tree-Rendering Techniques
As discussed in the previous sections, the analyzed models allow a 3D reconstruction of the results. The 3D model is generated using computer graphics techniques that can be generally classified in four categories: particle system and procedural methods, rule-based methods, and hybrid methods [9]. These methods are the most used and are based on the most recent and advanced techniques of 3D modeling. In this section, we provide a brief description of the rendering methodologies to get a clearer picture of the potential they can have by coupling them to a functional-structural model.

Particle Systems and Procedural Methods
The particle systems for the generation of trees were created by Reeves [124] to represent in synthetic images the remarkable variety of irregular shapes and random variations exhibited by natural objects. Instead of using classical representations based on surfaces such as polygons, patches and quadratic surfaces, particle systems represent objects as a cloud of primitive particles that occupy the volume [124]. The algorithm consists of two successive steps. First, the general characteristics of the object are specified through a database; then, the generation of details comes in to describe the object completely. Details such as branches, buds, twigs, and leaves are generated in this phase. In the particle systems that shape trees, each tree is traced as a set of segments and small circles representing the branches and leaves, respectively. A set of initial features and dimensions, such as the height of the tree, is stochastically assigned before invoking the recursive branch generation procedure. The values of these parameters are randomly determined by distributions associated with the type of tree, according to phyllotaxis. Particle systems can model solid objects that are conventionally modeled with surface-based techniques. An example of the use of particle system technique to generate vegetation and trees is the SpeedTree ® commercial software [125]. This software is made specifically for video game and movie development, and the graphic rendering is photorealistic. The focus is more on the visual results than on the biological modeling, although the generated trees appear very realistic. Weber and Penn [92] proposed in 1995 a new approach to tree rendering based on particle systems with the goal of creating synthetic trees as realistically as possible. Weber and Penn's procedure needs a set of approximately 50 input parameters such as stem splits, stem children, stem radius, leaves, pruning, vertical attraction, leaf orientation, and degradation at a certain range. The approximation of the model refers to simplification of tree shape and structure in order to minimize the number of parameters. The general appearance and the lower part size of the tree are the main parameters needed to start with tree generation. Then, branching levels are considered as well as trunk foot shapes. The algorithm continues for every maximal tree branching level using an average value in a range variation (i.e., child branch angle, deviation angle, length relative to father branch, number of branches, photropism) [126]. One of the most popular softwares using this approximate approach is Arbaro [127].

Rule-Based Methods
Rule-based methods differ from procedural algorithms by implementing a formal rule in order to transform a primary state into a final one with the application of a number of changes. This supplies a compact description of complex final conditions, even if generating geometric data from a set of rules is an intensive computational task. Only recent computational advancements made it possible to work with the vast amount of data associated with large objects in near real time. Lindenmayer systems (L-systems) for the generation of tree geometry, described thoroughly in [7], are widely used as rule-based method as described in the previous section (L-PEACH [85], V-Mango [23], MAppleT [47]). In addition to the models already described, L-systems are also used in commercial 3D modeling software such as OnyxTree from Onyx Computing [128]. Trees generated by this software are used only as visual elements in 3D art productions: they are visually very similar to trees, but they are lacking from the point of view of adherence to biological rules and interaction with the virtual environment, since this is not their purpose. However, they express all the potential that these technologies can put at the service of the FSPM models already analyzed. Another rule-based technique is the combination of the latter and procedural techniques, generating the shape as a combination of unitary components such as leaves, trunk and branch parts, and fruits. The distributions are produced using multiplication components that have built-in parameters defining the number of objects to be generated, their distribution characteristics, and their orientation. By connecting the components, the plant is defined as a directional graph. The graph represents the system of rules, and its edges describe the production dependencies. After the geometry of a parent component is generated, the production of the geometry for all the children is invoked [9] until the entire descriptive graph is processed. In this way, the components can be interlinked freely, and recursions are also possible. One software that uses this generation method is XFrog from XFrog Inc. [129]. Nevertheless, as in other software, XFrog lacks a biological rule base. The positive thing about rule-based object production methods is that most plants on earth can be generated with a small number of components or parameters providing a user-friendly interface, being a good base for a future link between 3D rendering systems and FSPMs.

Hybrid Methods
Hybrid 3D modeling methods are those that attempt a link between biological growth rules and 3D shape generation rules. Some FSPM models discussed in this review can be considered as hybrids in a broad sense as they combine a functional-structural model with a 3D modeling part of the results obtained. From a 3D modeling software point of view, there are some noteworthy ones that try to create this link between biological rules (minimal and often not scientifically correct) and 3D modeling, showing the potential of the method. Laubwerk software developed Plants Kit 14, a 3D rendering plug-in for commercial software that claims to be based on botanical/biological rules [130]. In Plants Kit 14, the operator has the control only on 3D rendering parameters such as level of details (LOD), polygon density, and switching between "summer, fall, winter, spring" tree presets. Despite the claim of being based on botanical/biological rules, the operator has no control on these rules. The extensive research by Pirk et al. and the University of Kostanz [14,131] on 3D modeling of vegetation has led to the creation of a method to model synthetic trees to be interactive with surroundings (e.g., obstacles) or extract plausible growing steps. The generated trees can be used in 3D rendering software such as Maya, 3DS Max, and Houdini but are not for scientific applications. TheGrove3D is a commercial plug-in for Blender (Blender Foundation) [132] open-source 3D rendering software. It can be considered as based on hybrid method because of the use of both procedural rendering techniques and biological models. Trees are generated according to some pre-set parameters (e.g., internode growth length, branch angle), with some of them that are species-specific. The biological model is based on a simulation of tree growth mechanisms such as branch elongation. The model considers the number of nodes and growing buds regulate their own growth by controlling the flow of sugars and hormones. The plug-in can grow and modify trees according to spatial occlusion or regulate growth in presence or absence of light and shadow. Hybrid models are the proof that an interface between the world of photorealistic 3D rendering and mathematical biological models is possible. The potentialities, as discussed, are numerous for both fields. For the modelers, it is possible to visualize the result of their models in a satisfying way, besides having a more precise feedback from the virtual environment, thanks to a structure very adherent to the reality, and besides the not less important calculation of some environmental parameters, such as the quantity of light, which is possible to calculate in a more precise way with a 3D model. For the 3D artists, it is possible on the other hand to have even more realistic trees because they are strictly adherent to biological rules of growth.

VISmaF: Synthetic Tree for Immersive Virtual Visualization in Smart Farming Model Porposal
In this section, we provide a proof of concept for a link between a biological mathematical model based on Ordinary Differential Equations (ODE) and a 3D real-time rendering engine and the results of first experiments with the model, showing how a synthetic tree reacts to different light amounts in a 3D real-time environment, first with a simple simulation of an internode growing in different light conditions (different growing rate), then expanding the model to the whole tree, showing how it grows differently under different virtual environmental light conditions. This link can operate in both ways, i.e., by rendering a tree using parameters from ODE solutions or by considering geometrical 3D data (e.g., the amount of light from the virtual scene) as input to solve the ODEs. We also provide the starting mathematical biological model in Simile [133] and how we linked this model to the real-time 3D rendering engine. The proposed model is presented in more detail, with its validation, development, and detailed results in the companion paper [28]. In particular, the final tree is made up of several independent and interconnected modules, following object-oriented programming (OOP) paradigms: • A biological mathematical model to simulate the internode and branch growth; • A 3D structure module to render the tree.
The mathematical model is a set of ordinary differential equations able to simulate the internode elongation and the rules for stopping growth. The internode elongation is a function of environmental parameters (temperature and light) and some species parameters (growth rate and max length). Stopping rules of internode growth are simulated according to the concentration of an inhibitory substance produced during the internode elongation. Internodes grow until a given inhibitor concentration is reached; then, the tree enters a seasonal growth stop and starts growing again after the inhibitor concentration reaches a minimum (Figure 7). Restarting the growth, the system will generate one or more branches depending on the species-specific parameters set. Figure 8 shows the stock and flow model representation in the system dynamics tool Simile [133].  The 3D module is composed by two different sub-modules: (a) internode module, finalized with the creation of the internode geometry (length and width) thanks to the data calculated by the integrator, which contains the stop-growth rules (maximum length reached) and the positioning of the apical bud; (b) bud module, modeled as a particular internode of unitary length, which stores information about the number of children to be generated, the branching angle, and the state of the bud (asleep/awake). A particular bud module called seed stores species-specific information about the tree and is hierarchically the first bud from which all subsequent buds, branches, and internodes descend. The modeling mathematical part is independent from the rendering part due to its modularity: the change of mathematical model does not affect the 3D generation part. The simulation is capable of calculating the amount of light in the virtual environment to be used as a parameter in the mathematical model of growth. Global illumination, radiosity, and ray-tracing solutions have been tested, each with their own precision and computational performance, leading to the conclusion to use a custom shader for the calculation of the amount of light. This solution is a balance between accuracy and computational performance, sufficient for the purpose of simulation. An ambient light sensor has been programmed that renders a temporary texture on the surface of the sensor itself, extracting an array of RGB values and converting them into brightness values (lux). The calculated value of the amount of light is used as a parameter in the calculation of the length of the internode in the relative module. A higher light amount leads to higher internode growth, and vice versa-lower light amount leads to lower internode growth, as shown in the first results (Figure 9). More detailed results and development of the model are provided in the companion paper [28]. The results of the first tests with the model are shown in Figure 9. A first simulation was performed with a simple one-child internode model at two different light conditions. In Figure 9a, it can be seen that internodes grow differently depending on the amount of ambient light in which they grow. The left internode has a shorter total length than the right internode as it grew in a low light environment. The result will be different with different amounts of light in terms of single internode length and total length. In the presence of branches, as shown in Figure 9b,c, even a simple tree behaves differently. Specifically, it was set as number of children equal to 2 and branching angle of 30°(the model allows to set species-specific parameters depending on the tree to be modeled, with the number of children and branching angle being some of them). From Figure 9b,c, it can be seen that the amount of light affects the total length of the tree and the lengths of individual internodes. Branching is triggered when the calculation of the inhibitor concentration, referred to the individual branch, reaches its maximum value. Once the maximum concentration is reached, the tree enters a seasonal growth stop phase until the inhibitor concentration reaches a minimum value. Upon reaching the minimum value, the tree resumes growth by generating the number of new branches set oriented according to the branching angle (Figure 7b). In addition, the length of the single internode decreases as the total height of the tree increases, in accordance with the model. Internodes at the top of the tree will be shorter than those on the main trunk (the first to grow from seed) because they are closer to the maximum height of the tree.

Conclusions
As seen in previous sections, FSPM models can be used as a basis for creating 3D models of trees that are consistent with biological rules. However, not all models analyzed have 3D structure output that can be satisfactory from a visual or functional point of view. Techniques for 3D modeling of photorealistic trees do exist, as analyzed in Section 3, and we believe that an integration between the two worlds may be possible that can enhance both the field of mathematical biological modeling by being able to calculate some parameters more precisely, and the field of 3D modeling that can make use of a strong scientific basis to generate even more likely trees. A proof of concept of this integration has been presented in this paper, showing how it is possible to create a synthetic tree in a 3D real-time modeling environment from a mathematical biological model. The flexibility of the model is given by the use of interconnected modules according to the object-oriented programming (OOP) paradigm. The use of a proprietary shader for calculating the amount of light in the virtual environment provides further flexibility to the model. It is possible, in fact, to use the calculated amount of light to modify the main growth parameters such as branching angles and amount of growth. In this way, it is also possible to model the competition for light between near trees in addition to the change in branching direction caused by a tree's own shadow. The proposed model is presented in more detail, with its validation, development, and detailed results in the companion paper [28].

Conflicts of Interest:
The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.

Abbreviations
The following abbreviations are used in this manuscript: