🌸 GPUFloraPainter — Real-Time GPU Vegetation System
A real-time GPU vegetation system built for Mobile, URP Forward+, and open-world scalability.Paint millions of grass blades on any mesh — no Terrain, no GameObjects, no CPU overhead.
---
✳️ What is GPUFloraPainter?
GPUFloraPainter is a fully GPU-driven vegetation system designed for real-time painting and large-scale environments.
Unlike Terrain- or GameObject-based workflows, vegetation is painted directly on any mesh using GPU-accelerated brushes with instant feedback.
All distribution, motion, lighting, wind, and interaction run entirely on the GPU — keeping the CPU stable even on mobile.
On mid-range devices like the Galaxy S10, GPUFloraPainter consistently achieves 57–60 FPS with instant initialization (0–65 ms).
---
🌱 **Key Features**
🎨 Real-Time GPU Painting
Paint grass and flowers directly on any mesh surface with instant GPU brush feedback.
Supports multi-layer mask editing via TextureArray-based painting — fast, smooth, artist-friendly.
🌾 Procedural Grass Blades (Spline-Based)
Each blade is procedurally generated using randomized spline curves for rich, rice-stalk-like motion with no billboard artifacts.
🌸 Hybrid Grass–Flower Rendering
Lightweight 2D flower billboards attach to grass tips, responding to wind and lighting in sync with the underlying blades.
🧠 Fully Procedural Distribution
No pre-stored transforms.
All positions and random attributes are procedurally generated on the GPU, reducing memory usage and enabling massive open-world scenes.
💡 Advanced Lighting & Color Control
URP-compatible Blinn–Phong lighting with smooth tip-to-base color gradients.
Flowers use a highly optimized shader for visual clarity on mobile.
🌬️ Dynamic Wind Simulation
Procedural wind with randomized curves creates natural, organic vegetation motion.
🧍 Real-Time Interaction (Optional)
Grass bends dynamically as characters or objects move through it — computed entirely on GPU.
🌿 Multi-Type Flora Rendering
Render up to 20 flora types in one pass.
Optimized for ASTC compression for stable mobile performance.
⚙️ GPU-Optimized Culling
Visibility and distance culling computed entirely on GPU with texture-based filtering.
🧭 Distance-Based Optimization
Smart LOD fading ensures stable visuals and performance across large environments.
🪨 Voronoi Cluster Distribution
Generates non-uniform, organic clustering for more realistic natural patterns.
🏞️ Adaptive Surface Height Baking
Height alignment is pre-baked at edit time, allowing perfect ground contact with zero runtime cost.
---
🧩 **Why GPUFloraPainter?**
⚡ Fully GPU-Driven Pipeline — Zero transforms, zero CPU bottlenecks.
📱 Mobile-First, Desktop-Ready — Sustains 57–60 FPS even on mid-range devices.
🎨 Instant Editing — Real-time painting with GPU-accelerated TextureArray brushes.
🌍 Procedural Scalability — Generate millions of grass blades dynamically.
🧑🎨 Artist-Friendly Workflow — Intuitive design with production-grade performance.
---
🔧 Technical Transparency
(Dynamic Procedural Generation & GPU Workflow)
GPUFloraPainter is powered by a fully GPU-driven procedural generation system.
All vegetation data — positions, randomness, culling, and draw arguments — is created and updated directly on the GPU, without CPU transforms or per-frame overhead.
For developers interested in the underlying concepts behind dynamic random generation, GPU-driven buffers, and Indirect Draw workflows, we provide a public reference project:
[🔗 https://github.com/AkilarLiao/UnityURP-Procedural-DrawMeshInstancedIndirect]
(This project is a minimal technical example — not the production plugin.
The full system includes extended tools, editors, optimizations, and mobile-focused features.)
---
✨ GPUFloraPainter bridges the gap between artistic control and technical performance — delivering desktop-quality vegetation at mobile speed.