Самый простой (по моему) способ это создать функцию для распределения вершин в сплайне, каждая вершина имеет параметры: матрицу трансформации, нормаль, координаты текстуры, радиус, количество childs ветвей и т.п. По этим данным создавать поверхность mesh, просчитывать коллизии сплайнов (по радиусу), т.д. Это всё вполне реализуется в реальном времени (например для игр), если делать пред просчёт и заранее вычислять cull test по ориентации камеры и дерева в пространстве.
Поливание ("писание") это как параметр в формуле.
И всё же, что это за тамагочи? Больше похоже что кто-то ищет идеи для построения деревьев в игре! Можешь зайти nvidia.com, там есть в разделе developers демо прога с деревом (генерируемым), хотя освещение там дибильное.