GPUFloraPainter View on Asset Store (opens in new tab)

Package details

Latest version
1.0.3
Last updated
First released
Unity version
2022.3.62 or later
Package size
32.5 MB
Files
108
Favorites
13
Views in the past week
14

Price tracking

Last checked
Tracked since
Lowest recorded
$69.30 on

Keywords

GPUFloraPainter

by SmallBurger (opens in new tab)

No ratings yet

GPUFloraPainter is a fully GPU-driven procedural foliage system that eliminates the need for traditional GameObject instancing or terrain rendering.

Price $99.00

Buy on Asset Store (opens in new tab)

Affiliate link Β· Purchases support this site

Price history

Last 6 months

USD
Price history for GPUFloraPainter, 6 months Current $99.00; lowest $99.00; highest $99.00 in this period. $0 $50 $100 Jun Jul Aug Sep Oct Nov

Asset preview

1 / 1

GPUFloraPainter video 1

About this asset

🌸 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.

From the publisher's Asset Store listing.

Technical details

⚑ Technical Overview

πŸ”Ή GPU Procedural Transform & Spline Generation

All blade transforms and spline curves are generated procedurally in ComputeShader, guided by the editable FilterMap for paintable regions.

πŸ”Ή Single Dispatch Architecture

Only one ComputeShader dispatch and two DrawMeshInstancedIndirect calls render the entire scene β€” minimizing CPU–GPU sync.

πŸ”Ή ComputeShader-Based Culling

Frustum, distance, and mask-based culling all occur on the GPU, ensuring real-time responsiveness and scalability.

πŸ”Ή RenderTexture-Based Output

Culling results are stored in RenderTextures, not SSBOs β€” ensuring full compatibility with mobile GPUs.

πŸ”Ή Billboard Attachment System

Flower sprites align dynamically with grass tips and inherit wind motion, maintaining perfect animation consistency.

πŸ”Ή ComputeShader Brush Editing

Full GPU read/write to RenderTextures and TextureArrays enables multi-layer vegetation control without costly blit operations.

πŸ”Ή Flora Type Management

Supports up to 20 configurable flora types, with optimized ASTC compression for mobile efficiency.

πŸ”Ή Shadow Rendering

Screen-space flora shadows implemented as URP RenderFeature impostors, using FilterMap-driven projection with noise filtering for smooth edges.

πŸ”Ή Randomized Wind Generation

Procedural Wind Noise Texture drives diverse motion across vegetation, synchronized with spline animation.

πŸ”Ή Voronoi Clamp Algorithm

Generates organic density clusters with controllable spread and falloff for natural distribution.

πŸ”Ή Interactor-Based Deformation

Real-time character interaction fully GPU-driven β€” no per-vertex loops, maximizing runtime performance.

πŸ”Ή Adaptive Surface Height Baking

Pre-baked height data ensures vegetation perfectly conforms to uneven surfaces with zero runtime sampling.

Compatibility

Render pipelines supported in each Unity version
Unity version Built-in URP HDRP
6000.3.2f1 Not listed Compatible Not listed
6000.0.62f1 Not listed Compatible Not listed
2022.3.62f3 Not listed Compatible Not listed

As listed on the Asset Store.