# Assistant conversation JGB2BX

- Canonical URL: <https://m.sheaf.less.rest/JGB2BX>
- Resource IRI: <https://m.sheaf.less.rest/JGB2BX>
- Type: assistant conversation
- Mode: quick

## Transcript

### 1. User

re T839GX I wonder just this is just a hunch just a question. Do you think there might be some way that this coordinate transform could be useful in rendering like you want to render rivers if you want to animate them even so you want to make them look nice in 3-D with shaders and stuff and this coordinate transform to some extent linearizes the important rivers and maybe that's somehow helpful

### 2. Assistant tool calls

#### Tool call: `read`

```json
{
  "blocks": [
    "T839GX"
  ],
  "expand": true
}
```

### 3. Tool result: read

{"error":"resource T839GX not found"}

### 4. Assistant tool calls

#### Tool call: `search_text`

```json
{
  "limit": 10,
  "query": "coordinate transform rivers linearizes"
}
```

#### Tool call: `list_documents`

```json
{}
```

### 5. Tool result: search_text

Exact matches

1. Source: Real-time Breaking Waves for Shallow Water Simulations (#8SERGP), Markus Gross, Matthias Müller-Fischer, Nils Thürey, Simon Schirm, p. 4
  Context:
    #FA7BE4 Real-time Breaking Waves for Shallow Water Simulations
      #8ES8PA 6 Rendering the Waves
  Matching excerpt #HDE8NW:
      In contrast to full 3D simulations, it is furthermore easy to generate texture coordinates for the fluid surface of the wave patch. For a point on the wave line \mathcal{L} , its texture coordinate is given by its lifetime, and its position in the line. We, e.g., use these texture coordinates to blend in a foam texture at the tip of the wave patch.

2. Source: On implication and negation in partition logic (#C8FHDZ),  , David Ellerman, p. 7
  Context:
    #L8JZAG On implication and negation in partition logic
      #LEZCCF 6. Valid formulas
  Matching excerpt #L4CR23:
      Then the single \pi -negation transform of any classical tautology will still be a tautology but now expressed in \mathcal{B}_\pi and thus it is also a partition tautology. Thus all partition tautologies are ordinary Boolean logic tautologies, and any ordinary subset tautology transforms into a partition tautology via the single \pi -negation transform.

3. Source: A Fundamental Duality in the Mathematical and Natural Sciences: From Logic to Biology (#GANFP9), David Ellerman, p. 16
  Context:
    #DGJK69 3 Results
      #6UWNUS 3.3 Probability and Information: The Quantitative Versions of the Dual Logics
        #F9M3T6 3.3.3 The Relationship to Shannon Entropy
  Matching excerpt #6S8LNY:
      Since the dit-to-bit transform preserves the Venn diagram relationships, h(\pi \vee \sigma) = h(\pi) + h(\sigma) - m(\pi, \sigma) is transformed into the corresponding relation for the Shannon entropies.

4. Source: Water surface wavelets (#PBM2TC), Chris Wojtan, Matthias Müller-Fischer, Miles Macklin, Nuttapong Chentanez, Stefan Jeschke, Tomáš Skřivan, p. 3
  Context:
    #RNVWWR Water Surface Wavelets
      #5EX6YK 3 THEORY
        #ARD5T6 3.2 Derivation
  Matching excerpt #U9FBT3:
      We can also invert the Gabor transform:

5. Source: Water surface wavelets (#PBM2TC), Chris Wojtan, Matthias Müller-Fischer, Miles Macklin, Nuttapong Chentanez, Stefan Jeschke, Tomáš Skřivan, p. 3
  Context:
    #RNVWWR Water Surface Wavelets
      #5EX6YK 3 THEORY
        #ARD5T6 3.2 Derivation
  Matching excerpt #CG7WVZ:
      The Gabor transform [Gabor 1946] of the water height \eta_c is

6. Source: Water surface wavelets (#PBM2TC), Chris Wojtan, Matthias Müller-Fischer, Miles Macklin, Nuttapong Chentanez, Stefan Jeschke, Tomáš Skřivan, p. 11
  Context:
    #RNVWWR Water Surface Wavelets
      #FFTTEG B \mathcal{A} IS LOWER FREQUENCY THAN \eta
  Matching excerpt #57GC82:
      One important point of our method is that \mathcal{A} varies on much bigger length scales than \eta . This length scale is determined by the Gaussian width s in the Gabor transform of \eta , Equation 5. Rewriting the Gabor transform as a convolution of a function with Gaussian shows that \mathcal{A} indeed varies on the length scales s , instead of a smaller length scale determined by \eta .

7. Source: A Layered Particle-Based Fluid Model for Real-Time Rendering of Water (#RBS5K6), Daniel Scherzer, Florian Bagar, Michael Wimmer, p. 3
  Context:
    #5NFAXU A Layered Particle-Based Fluid Model for Real-Time Rendering of Water
      #34V9L7 4. Adaptive Curvature Flow
  Matching excerpt #6HBEL2:
      However, close inspection of the screen-space curvature formulation reveals that the reference coordinate system for calculating the curvature is the window coordinate system. This means that, given equal iteration sizes, a particle that appears larger on screen (because it is closer due to perspective) will have a significantly larger radius in this coordinate system and therefore significantly lower curvature than a particle that is farther away. The resulting artifact is that smoothing will have a lower effect on closer particles, which therefore retain the unwanted spherical appearance, whereas particles far from the viewer will be overly smoothed, so that the fluid surface loses its defining characteristics such as highlights. This can be observed in Figure 4, left.

8. Source: Runtime Evaluation of Procedural Content Generation in an Endless Runner Game Using Autonomous Agents (#WZ8DHP), Rishabh Kar, p. 13
  Context:
    #MDEACB Runtime Evaluation of Procedural Content Generation in an Endless Runner Game Using Autonomous Agents
      #GL8ZA2 4 Design, Methodology, and Implementation
        #SS95BH 4.5 Wave Function Collapse-Inspired Object Spawning
          #9QFS2V 4.5.2 Placement
  Matching excerpt #9NP2NZ:
      The X-coordinate of the object is fixed from the selected grid cell. The Z-axis position is given a small jitter so that objects are not spawned in a perfectly straight line:

9. Source: Runtime Evaluation of Procedural Content Generation in an Endless Runner Game Using Autonomous Agents (#WZ8DHP), Rishabh Kar, p. 12
  Context:
    #MDEACB Runtime Evaluation of Procedural Content Generation in an Endless Runner Game Using Autonomous Agents
      #GL8ZA2 4 Design, Methodology, and Implementation
        #5W8C4J 4.4 Procedural Terrain Generation
          #VN6M88 4.4.5 Clean-up of Procedural Terrain
  Matching excerpt #C53G5D:
      Let z_{\text{tile}} be the Z-axis position of the tile and z_p be the coordinate of the player on the Z-axis. For every single tile, a threshold is set as:

10. Source: Structure-Preserving Transformations (#ZU8GZV), Christopher Alexander, p. 0
  Context:
    #V539MV 2 / STRUCTURE-PRESERVING TRANSFORMATIONS FURTHER DISCUSSION
  Matching excerpt #JMEVE7:
      Let's start again. On the right, there is a sketch of a square drawn on a sheet of paper. Below that, I show various ways you might modify the square, add something to it, transform it.

Approximate matches

1. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 3
  Context:
    #JJE8HN Procedural Riverscapes
      #Z6DVCN 4. River Network Graph
  Score: 0.027
  Related excerpt #HS22AT:
      Next, graph nodes are labeled with the terrain slope s and river flow \phi values at their cell position. The latter is a measure of the volumetric rate at which water is carried down the river and an accurate estimation is problematic, since it depends on parameters such as rainfall and soil composition. Instead, we apply a simplified model based on an empirical power law observed in geomorphology [Dun78]: from drainage area A_{ij} [ m^2 ], the flow \phi_{ij} of the river [ m^3 s^{-1} ] is approximated by \phi_{ij} = 0.42A_{ij}^{0.69} . This equation takes into account evaporation and infiltration, which is why the volume of flow is not preserved.

2. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 3
  Context:
    #JJE8HN Procedural Riverscapes
      #Z6DVCN 4. River Network Graph
  Score: 0.027
  Related excerpt #WNSBS7:
      P_{ij} = A_{ij}^{1/2} \cdot S_{ij} , and averaged. The final derivation is of the Horton-Strahler number [Hor45], a numerical measure of branching complexity, with higher numbered river segments having more feeder tributaries. With this the river network graph is fully labeled and can be passed directly to the River Network Amplification process described in Section 5.

3. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 3
  Context:
    #JJE8HN Procedural Riverscapes
      #Z6DVCN 4. River Network Graph
  Score: 0.027
  Related excerpt #F84VCT:
      The discrete river network is then converted into a continuous graph \mathcal{G} by defining a node at cells with more than one contributor and smoothing the trajectory of the river between nodes with piecewise cubic splines.

4. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 3
  Context:
    #JJE8HN Procedural Riverscapes
      #TFD8TX 5. River Network Amplification
  Score: 0.026
  Related excerpt #EWA69A:
      The river graph \mathcal{G} has nodes \mathcal{N}_i that correspond to river junctions and edges \mathcal{E}_{ij} that represent the intervening trajectory of the river. The graph nodes store geomorphological data; in particular, the average slope s_i in the local neighborhood of the node and the flow of the river \phi_i . Graph edges, meanwhile, store their Rosgen type t_{ij} (see Figure 3) and encode the river trajectory as a piecewise-cubic curve.

5. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 5
  Context:
    #JJE8HN Procedural Riverscapes
      #TFD8TX 5. River Network Amplification
        #S7JXXD 5.2. Riverbed Carving
  Score: 0.026
  Related excerpt #8S67T2:
      Once instantiated the 2\frac{1}{2} D Rosgen templates are placed along the river trajectory and interpolated. The final riverbed geometry \mathcal{R} is defined as an elevation function that combines the instantiated Rosgen templates and basin features, with the riverbed domain \Omega_{\mathcal{R}} as the compact support of this function. An amplified terrain \tilde{T} is obtained by carving \mathcal{R} into the original \mathcal{T} . To ensure continuity in blending river sections and carving the riverbed we rely on adapted carving and blending operators [GGP + 15].

6. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 3
  Context:
    #JJE8HN Procedural Riverscapes
      #TFD8TX 5. River Network Amplification
  Score: 0.025
  Related excerpt #8RD8MD:
      Amplification proceeds by first refining the trajectories of edges \mathcal{E} in the river graph \mathcal{G} , based on their Rosgen type (see Section 5.1). The result is a revised geometric graph \hat{\mathcal{G}} = \{\mathcal{N}, \hat{\mathcal{E}}\} . Importantly, this process not only adjusts the planar (x, y) course of the river, but also its longitudinal profile ( z elevation values along the river spine) so as to create appropriate basins, pools and cascades. Then, the geometry of the riverbed is realised, by selecting, scaling and assigning Rosgen cross-sectional templates along the river, and carved into the terrain \mathcal{T} , which results in a modified terrain \hat{\mathcal{T}} (Section 5.2). Finally, we distribute riverflow primitives (Section 5.3), in readiness for their assembly into a blend-flow tree that defines the animated water surface.

7. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 2
  Context:
    #JJE8HN Procedural Riverscapes
      #Z6DVCN 4. River Network Graph
  Score: 0.024
  Related excerpt #V4N668:
      The analysis proceeds as follows: given a terrain \mathcal{T} composed of regular grid cells C_{ij} , we first generate a discretized river network \mathcal{D} , and then convert it into a river network graph \mathcal{G} with nodes and edges labelled with flow data, as a precursor to river network amplification (as described in Section 5).

8. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 4
  Context:
    #JJE8HN Procedural Riverscapes
      #TFD8TX 5. River Network Amplification
        #S7JXXD 5.2. Riverbed Carving
  Score: 0.024
  Related excerpt #B77LY9:
      C(r) in Figure 3, but also depend on the local curvature of the river trajectory. They are normalized in the sense that their scale assumes unit area for water in the cross section, and when instantiated, they are scaled according to a factor derived from the flow \phi and elevation of the trajectory.

9. Source: Terrain Generation Using Procedural Models Based on Hydrology (#DMTA8Y), Adrien Peytavie, Bedřich Beneš, Jean-David Génevaux, Éric Galin, Éric Guérin, p. 5
  Context:
    #RULAFW Terrain Generation Using Procedural Models Based on Hydrology
      #T6FSBF 5 River Classification
        #VE6H2H 5.2 Water-courses Labeling
  Score: 0.022
  Related excerpt #9QKM5Y:
      We assign to each river node its classification based on the slope of the river and its proximity to the coast. River nodes that are close to coasts (based on a geodesic distance threshold) are labeled as braided rivers (those consisting of multiple channels separated by bars and defined as D or DA). Similarly, river mouths with a flow greater than a fixed value are marked as deltas.

10. Source: Scalable real‐time animation of rivers (#XDESU9), Eric Bruneton, Fabrice Neyret, Nicolas Holzschuch, Qizhi Yu, p. 3
  Context:
    #B9LYTR Scalable real-time animation of rivers
      #S3P9T2 4. Computing flow velocities
        #89NKTG 4.1. Finding the volumetric flow rate from the hydro geometry
  Score: 0.022
  Related excerpt #QXKFZQ:
      The hydrographic network is a directed graph, expressing the connections between channels, and flowing from the source to the ocean. In the case of streams joining into rivers, themselves joining into larger rivers, the graph is a tree. At the delta of a river, the graph is an inverted tree. If there are no islands, we have an acyclic graph; each obstacle or island results in a cycle in the graph. Islands and obstacles can either be treated at this level, or be treated as a special case in the interpolation method.

### 6. Tool result: list_documents

FOLDERS
- Living Structure, Wholeness & Beauty
- Procedural Generation & Co-Creation
- Roads, Trails & Movement
- Terrain, Hydrology & Erosion
- Water Simulation & Rendering

Living Structure, Wholeness & Beauty (8)
- #MH5J8D Beautimeter: Harnessing GPT for Assessing Architectural and Urban Beauty Based on the 15 Properties of Living Structure - 2025 | Bin Jiang | AI | 12 pp. | doi:10.3390/ai6040074
  Micro abstract: Presents Beautimeter, a GPT-based tool that scores buildings and urban scenes against Christopher Alexander’s 15 properties of living structure to assess their coherence and beauty.
- #XW22YY Generative Codes: The Path to Building Welcoming, Beautiful, Sustainable Neighborhoods - 2005 | Brian Hanson, Christopher Alexander, Maggie Moore Alexander, Michael Mehaffy, Randall Schmidt | Center for Environmental Structure | 21 pp.
  Micro abstract: Argues that living neighborhoods arise from generative codes: ordered, participatory steps that let buildings and public spaces unfold from local people, land, and context.
- #SKRF4C Geography as a Science of the Earth’s Surface Founded on the Third View of Space - 2022 | Bin Jiang | Annals of GIS | 14 pp. | doi:10.1080/19475683.2021.1966502
  Micro abstract: Recasts geography around an organismic view of space, using scaling and spatial dependence to understand—and deliberately create—places with greater living structure.
- #PXG56P Harmony-Seeking Computations: A Science of Non-Classical Dynamics Based on the Progressive Evolution of the Larger Whole - 2009 | Christopher Alexander | Unpublished manuscript | 66 pp.
  Micro abstract: Proposes harmony-seeking computation as a creative process that repeatedly strengthens latent centers in a configuration while preserving and deepening the larger whole.
- #MJKTBB Living Images: A Recursive Approach to Computing the Structural Beauty of Images or the Livingness of Space - 2023 | Bin Jiang, Chris de Rijke | Annals of the American Association of Geographers | 19 pp. | doi:10.1080/24694452.2023.2178376
  Micro abstract: Measures an image’s structural beauty by recursively extracting its nested substructures, revealing a compact hierarchy that also captures visual saliency.
- #3XSLTA Structural Beauty: A Structure-Based Computational Approach to Quantifying the Beauty of an Image - 2021 | Bin Jiang, Chris de Rijke | Journal of Imaging | 15 pp. | doi:10.3390/jimaging7050078
  Micro abstract: Proposes a quantitative measure of structural beauty based on how many substructures an image contains and how strongly they form a hierarchy across scales.
- #ZU8GZV Structure-Preserving Transformations - 2002 | Christopher Alexander | The Nature of Order, Book Two: The Process of Creating Life | 4 pp. | doi:10.2307/j.ctv27ftw6c.5
  Micro abstract: Explains structure-preserving transformations: incremental changes that extend the centers and relationships already present in a place rather than weakening its wholeness.
- #BYG3BQ Wholeness as a Hierarchical Graph to Capture the Nature of Space - 2015 | Bin Jiang | International Journal of Geographical Information Science | 14 pp. | doi:10.1080/13658816.2015.1038542
  Micro abstract: Models spatial wholeness as a hierarchical graph of mutually reinforcing centers, using PageRank and scaling depth to quantify the life of parts and wholes.

Procedural Generation & Co-Creation (6)
- #4TH488 Explainable AI for Designers: A Human-Centered Perspective on Mixed-Initiative Co-Creation - 2018 | Antonios Liapis, G. Michael Youngblood, Jichen Zhu, Rafael Bidarra, Sebastian Risi | 2018 IEEE Conference on Computational Intelligence and Games (CIG) | 8 pp. | doi:10.1109/CIG.2018.8490433
  Micro abstract: Defines explainable AI for game designers, mapping co-creative systems by their explainability, initiative, and domain overlap so explanations serve concrete design tasks.
- #9NQ94D Extracting Physics from Blended Platformer Game Levels - 2020 | Adam Summerville, Anurag Sarkar, Joseph C. Osborn, Sam Snodgrass | Joint Proceedings of the AIIDE 2020 Workshops (CEUR Workshop Proceedings, Vol. 2862) | 7 pp.
  Micro abstract: Infers playable jump physics from generated platformer levels, including hybrid physics models for levels that blend the geometry and style of multiple games.
- #7GR3AQ Procedural Content Generation through Quality Diversity - 2019 | Ahmed Khalifa, Antonios Liapis, Daniele Gravina, Georgios N. Yannakakis, Julian Togelius | 2019 IEEE Conference on Games (CoG) | 8 pp. | doi:10.1109/CIG.2019.8848053
  Micro abstract: Argues for quality-diversity algorithms in procedural generation, producing broad collections of varied, playable content while exposing the design space for exploration and co-creation.
- #CQBDX4 Procedural Content Generation via Machine Learning (PCGML) - 2018 | Aaron Isaksen, Adam Summerville, Amy K. Hoover, Andy Nealen, Christoffer Holmgård, Julian Togelius, Matthew Guzdial, Sam Snodgrass | IEEE Transactions on Games | 15 pp. | doi:10.1109/TG.2018.2846639
  Micro abstract: Defines and surveys PCGML: generating functional game content directly from models trained on existing examples, with uses spanning creation, completion, repair, critique, and compression.
- #WZ8DHP Runtime Evaluation of Procedural Content Generation in an Endless Runner Game Using Autonomous Agents - 2026 | Rishabh Kar | arXiv | 25 pp. | doi:10.48550/arXiv.2605.01783
  Micro abstract: Integrates procedural generation and validation in an endless runner, using aerial and ground agents to detect blocked or unnavigable content before the player reaches it.
- #NRBMD5 Towards Friendly Mixed Initiative Procedural Content Generation: Three Pillars of Industry - 2020 | Frederic Fol Leymarie, Gorm Lai, William Latham | Proceedings of the International Conference on the Foundations of Digital Games (FDG '20) | 4 pp. | doi:10.1145/3402942.3402946
  Micro abstract: Distills three requirements for industry-friendly co-creative PCG tools: preserve designer control, keep feedback loops short, and fit into existing production pipelines.

Roads, Trails & Movement (7)
- #G3TBNG A Sequential Two-Step Algorithm for Fast Generation of Vehicle Racing Trajectories - 2016 | J. Christian Gerdes, John Subosits, Nitin R. Kapania | Journal of Dynamic Systems, Measurement, and Control | 12 pp. | doi:10.1115/1.4033311
  Micro abstract: Generates near-optimal racing trajectories quickly by alternating between a minimum-time speed profile and a convex path update that reduces curvature.
- #B6P8L4 Active walker model for the formation of human and animal trail systems - 1997 | Dirk Helbing, Frank Schweitzer, Joachim Keltsch, Péter Molnár | Physical Review E | 34 pp. | doi:10.1103/physreve.56.2527
  Micro abstract: Models trail systems as self-organization: walkers reinforce attractive routes while unused traces fade, producing dendritic ant trails and low-detour pedestrian networks.
- #V4TQYB Interactive procedural street modeling - 2008 | Eugene Zhang, Gregory Esch, Guoning Chen, Pascal Müller, Peter Wonka | ACM Transactions on Graphics | 10 pp. | doi:10.1145/1360612.1360702
  Micro abstract: Lets designers generate and edit large street networks through tensor fields, combining procedural speed with brush-like global and local control over street patterns.
- #UYLTYJ Modelling the Evolution of Human Trail Systems - 1997 | Dirk Helbing, Joachim Keltsch, Péter Molnár | Nature | 11 pp. | doi:10.1038/40353
  Micro abstract: Shows how pedestrian trails emerge through feedback between destination-seeking walkers, existing paths, and vegetation recovery, yielding a compromise between directness and shared infrastructure.
- #GY93FG Mountain Trail Formation and the Active Walker Model - 2009 | J. P. Hague, S. J. Gilks | International Journal of Modern Physics C | 22 pp. | doi:10.1142/S0129183109014059
  Micro abstract: Extends the active-walker model to steep terrain, explaining zigzag mountain trails through slope avoidance, directional persistence, and mutual reinforcement by ascending and descending walkers.
- #LXV9AT Principles of Trail Layout and Design - 2019 | California State Parks | California State Parks Trails Handbook | 64 pp.
  Micro abstract: A field-oriented guide to durable trail design, emphasizing curvilinear alignment, natural drainage, sustainable grades, control points, and close reading of landform and soils.
- #XDEFZS Procedural Generation of Roads - 2010 | A. Peytavie, E. Galin, E. Guérin, N. Maréchal | Computer Graphics Forum | 10 pp. | doi:10.1111/j.1467-8659.2009.01612.x
  Micro abstract: Automatically routes and constructs roads with an anisotropic shortest-path method that weighs slope and obstacles while treating surface segments, bridges, and tunnels consistently.

Terrain, Hydrology & Erosion (6)
- #NV2YRW FastFlow: GPU Acceleration of Flow and Depression Routing for Landscape Simulation - 2024 | Aryamaan Jain, Bernhard Kerbl, Brandon Finley, Guillaume Cordonnier, James Gain | Computer Graphics Forum | 13 pp. | doi:10.1111/cgf.15243
  Micro abstract: A GPU framework for routing surface flow through terrain and its depressions fast enough to make erosion, river, lake, and ecosystem simulations interactive.
- #96ZMGK Large Scale Terrain Generation from Tectonic Uplift and Fluvial Erosion - 2016 | Adrien Peytavie, Bedrich Benes, Guillaume Cordonnier, Jean Braun, Marie-Paule Cani, Éric Galin, Éric Guérin | Computer Graphics Forum | 11 pp. | doi:10.1111/cgf.12820
  Micro abstract: Generates large, controllable mountain terrains by coupling user-painted tectonic uplift with fluvial erosion, then turning the resulting stream graph into detailed landforms.
- #DWXKYQ Physically-based analytical erosion for fast terrain generation - 2024 | Boris Gailleton, Guillaume Cordonnier, Petros Tzathas, Philippe Steer | Computer Graphics Forum | 14 pp. | doi:10.1111/cgf.15033
  Micro abstract: Turns the stream power law into an interactive terrain tool, replacing thousands of erosion time steps with analytical solutions and a direct control for landscape age.
- #MTDKDE Priority-Flood: An Optimal Depression-Filling and Watershed-Labeling Algorithm for Digital Elevation Models - 2014 | Clarence Lehman, David Mulla, Richard Barnes | Computers & Geosciences | 17 pp. | doi:10.1016/j.cageo.2013.04.024
  Micro abstract: Introduces Priority-Flood, a simple, optimal algorithm that removes drainage-blocking depressions from elevation models and can also derive watersheds and flow directions.
- #AK7NGE Procedural Riverscapes - 2019 | A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial | Computer Graphics Forum | 12 pp. | doi:10.1111/cgf.13814
  Micro abstract: Builds editable, animated riverscapes from bare terrain by carving hydrologically plausible channels and blending real-time procedural water primitives instead of simulating fluids.
- #DMTA8Y Terrain Generation Using Procedural Models Based on Hydrology - 2013 | Adrien Peytavie, Bedřich Beneš, Jean-David Génevaux, Éric Galin, Éric Guérin | ACM Transactions on Graphics | 10 pp. | doi:10.1145/2461912.2461996
  Micro abstract: Generates controllable, multiscale terrain from a sketched drainage network, representing rivers and landforms as an editable hierarchy of continuous procedural primitives.

Water Simulation & Rendering (12)
- #RBS5K6 A Layered Particle-Based Fluid Model for Real-Time Rendering of Water - 2010 | Daniel Scherzer, Florian Bagar, Michael Wimmer | Computer Graphics Forum | 7 pp. | doi:10.1111/j.1467-8659.2010.01734.x
  Micro abstract: Renders particle-based water and volumetric foam in real time using perspective-aware surface smoothing, physically guided foam formation, and layered depth compositing.
- #C4AY2M A Survey of Ocean Simulation and Rendering Techniques in Computer Graphics - 2011 | B. Crespin, D. Ghazanfarpour, E. Darles, J.-C. Gonzato | Computer Graphics Forum | 17 pp. | doi:10.1111/j.1467-8659.2010.01828.x
  Micro abstract: Surveys ocean graphics from spectral deep-water models to near-shore fluid simulation, then covers the foam, spray, and light transport needed for convincing rendering.
- #WZMZGY Advected river textures - 2009 | Dirk Arnold, Stephen Brooks, Tim Burrell | Computer Animation and Virtual Worlds | 11 pp. | doi:10.1002/cav.288
  Micro abstract: Combines a 2D Navier–Stokes solver, hydrostatic pressure columns, and advected procedural textures to render detailed, terrain-responsive rivers at real-time frame rates.
- #92XRH7 Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field - 2011 |  Qizhi Yu, E. Bruneton, F. Neyret, N. Holzschuch | IEEE Transactions on Visualization and Computer Graphics | 13 pp. | doi:10.1109/tvcg.2010.263
  Micro abstract: Advects fluid textures with deformable particle grids, preserving both the input texture’s visual spectrum and exact motion along the velocity field without cumulative stretching.
- #8SERGP Real-time Breaking Waves for Shallow Water Simulations - 2007 | Markus Gross, Matthias Müller-Fischer, Nils Thürey, Simon Schirm | 15th Pacific Conference on Computer Graphics and Applications (Pacific Graphics 2007) | 8 pp. | doi:10.1109/PG.2007.33
  Micro abstract: Adds real-time overturning waves to shallow-water heightfields by detecting steep fronts and spawning connected particle sheets that collapse into splashes and foam.
- #CWC7H9 Real-time Rendering of Enhanced Shallow Water Fluid Simulations - 2013 | Antonio Susín, Jesús Ojeda | Computers & Graphics | 9 pp.
  Micro abstract: Builds a real-time rendering pipeline for shallow-water simulations, adding fine surface detail, advected foam, photon-based caustics, and screen-space reflection and refraction.
- #MVUJ8Z Real-time Rendering of River Networks - 2010 | Quintijn Hendrickx, Rafael Bidarra, Ruben M. Smelik | Proceedings of the ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games | 1 pp.
  Micro abstract: Renders branching river networks efficiently with quadratic Bézier curves, GPU distance fields, and streaming normal maps instead of dense geometry or particle simulation.
- #5MGCZ5 Real-time River Representation by Dynamic Control of Data on Waves - 2008 | Makoto Kosugi, Nobuhiko Mukai, Yasuhiro Kato | 4 pp. | doi:10.3169/itej.62.2063
  Micro abstract: Dynamically switches river-wave models by viewing distance, preserving nearby reflection and wave detail while retaining wind-driven motion across the full landscape.
- #XDESU9 Scalable real‐time animation of rivers - 2009 | Eric Bruneton, Fabrice Neyret, Nicolas Holzschuch, Qizhi Yu | Computer Graphics Forum | 11 pp. | doi:10.1111/j.1467-8659.2009.01363.x
  Micro abstract: Animates rivers across vast terrains by computing steady flow locally and advecting fine surface detail only where visible, at a screen-space sampling density.
- #869NHK Very Fast Real-Time Ocean Wave Foam Rendering Using Halftoning - 2011 | Ian Parberry, Jennifer R. Alford, Mary Yingst | Proceedings of the 6th International North American Conference on Intelligent Games and Simulation (GAMEON-NA) | 7 pp.
  Micro abstract: Uses a spectrally controlled halftone mask to make texture-based ocean foam dissipate as clumped bubbles that pop, rather than merely fading transparently.
- #A2QB8L Water Flow in Portal 2 - 2010 | Alex Vlachos | ACM SIGGRAPH 2010 Course: Advances in Real-Time Rendering in 3D Graphics and Games | 54 pp.
  Micro abstract: Explains Portal 2’s production-friendly water shader: artist-painted flow maps advect layered normal maps, while offsets and noise suppress repetition and pulsing on limited hardware.
- #PBM2TC Water surface wavelets - 2018 | Chris Wojtan, Matthias Müller-Fischer, Miles Macklin, Nuttapong Chentanez, Stefan Jeschke, Tomáš Skřivan | ACM Transactions on Graphics | 13 pp. | doi:10.1145/3197517.3201336
  Micro abstract: Represents water waves as spatially varying directional amplitudes, enabling vast interactive simulations with fine detail, moving obstacles, solid coupling, and direct artistic control.

Unfiled (6)
- #GANFP9 A Fundamental Duality in the Mathematical and Natural Sciences: From Logic to Biology - 2024 | David Ellerman | 53 pp.
  Micro abstract: Traces an overlooked subset–partition duality—from logic and category theory through entropy and quantum indefiniteness to selectionist and generative mechanisms in biology.
- #2284QZ From features to fingerprints: A general diagnostic framework for anthropogenic geomorphology - 2019 | Damian Evans, Erle C Ellis, Giulia Sofia, Paolo Tarolli, Wenfang Cao | Progress in Physical Geography: Earth and Environment | 34 pp. | doi:10.1177/0309133318825284
  Micro abstract: Integrates geomorphology, archaeology, and high-resolution remote sensing into a framework for reading anthropogenic landforms as landscape-scale sociocultural fingerprints.
- #K82AS7 Legacy sediment: Definitions and processes of episodically produced anthropogenic sediment - 2013 | L. Allan James | Anthropocene | 11 pp. | doi:10.1016/j.ancene.2013.04.001
  Micro abstract: Broadens legacy sediment to episodically produced anthropogenic alluvium and colluvium, and explains its deposition, storage, and remobilization through sediment delivery–transport capacity dynamics.
- #C8FHDZ On implication and negation in partition logic - 2025 |  , David Ellerman | Open Journal of Mathematical Sciences | 9 pp. | doi:10.30538/oms2025.0250
  Micro abstract: Develops implication as a refinement-sensitive operation on set partitions, showing how relative negation yields local Boolean cores within the non-distributive algebra of partitions.
- #EARFEK Procedural Generation of Villages on Arbitrary Terrains - 2012 | Adrien Bernhardt, Adrien Peytavie, Arnaud Emilien, Eric Galin, Marie-Paule Cani | The Visual Computer | 10 pp. | doi:10.1007/s00371-012-0699-7
  Micro abstract: Presents a three-stage procedural model that grows terrain-responsive village roads and settlements, partitions land into plausible parcels, and generates slope-adapted buildings with open shape grammars.
- #ARP5U7 The Topography of Minoan Peak Sanctuaries - 1983 | A. A. D. Peatfield | The Annual of the British School at Athens | 8 pp. | doi:10.1017/s0068245400019729
  Micro abstract: Argues that Minoan peak sanctuaries were chosen for visibility and proximity to local settlements, forming a beacon-like sacred network whose contraction tracked settlement abandonment rather than cultic collapse.

### 7. Assistant tool calls

#### Tool call: `search_text`

```json
{
  "limit": 20,
  "query": "linearize river coordinate system transform channel coordinates"
}
```

#### Tool call: `search_text`

```json
{
  "limit": 20,
  "query": "curvilinear coordinates river rendering texture"
}
```

#### Tool call: `search_text`

```json
{
  "limit": 20,
  "query": "river parameterization texture coordinates centerline"
}
```

### 8. Tool result: search_text

Exact matches

1. Source: Very Fast Real-Time Ocean Wave Foam Rendering Using Halftoning (#869NHK), Ian Parberry, Jennifer R. Alford, Mary Yingst, p. 4
  Context:
    #5R6DEX Very Fast Real-Time Ocean Wave Foam Rendering Using Halftoning
      #UQWEYD Overview of Our Approach
        #J3EGSN Applying the Mask
  Matching excerpt #KJ6JRV:
      To create the halftoned saturation function h(u, v) where u, v are texture coordinates and h(u, v) is a float4 RGBA color value at that position, we first create a texture to contain the mask information so that the data can be imported into the pixel shader. Given a 512 \times 512 halftone mask, a 512 \times 512 pixel texture is generated. This texture, when tiled across the surface of the water, has a corresponding u, v texture coordinate for each \vec{v} = (x, z) position on the water. The mask value m(u, v) can then be used to threshold the saturation function f(x, z) as follows:

2. Source: Real-time Breaking Waves for Shallow Water Simulations (#8SERGP), Markus Gross, Matthias Müller-Fischer, Nils Thürey, Simon Schirm, p. 4
  Context:
    #FA7BE4 Real-time Breaking Waves for Shallow Water Simulations
      #8ES8PA 6 Rendering the Waves
  Matching excerpt #HDE8NW:
      In contrast to full 3D simulations, it is furthermore easy to generate texture coordinates for the fluid surface of the wave patch. For a point on the wave line \mathcal{L} , its texture coordinate is given by its lifetime, and its position in the line. We, e.g., use these texture coordinates to blend in a foam texture at the tip of the wave patch.

3. Source: Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field (#92XRH7),  Qizhi Yu, E. Bruneton, F. Neyret, N. Holzschuch, p. 5
  Context:
    #5948CH Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field
      #BWJ55J 3 OUR ALGORITHM
        #W6ZWF7 3.5 Reconstruction and Rendering
  Matching excerpt #72AE32:
      The advected texture T'(\mathbf{x}) = F(R'(\mathbf{x})) is used like a standard texture: mapped on a surface of the scene. \mathbf{x} denote the texture coordinates of this mapping. T' has to be computed at each frame. Rendering is done in two passes: in the first pass, we prepare data to compute each channel a'_j of R' . During the final rendering of the scene, for each pixel of the textured surface, we compute the full texture function T'(\mathbf{x}) . We present two different methods for reconstruction: a simple one ( Direct reconstruction , section 3.5.1), and a more sophisticated one ( Indirect reconstruction , section 3.5.2), that performs better on complicated scenes.

4. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 3
  Context:
    #JJE8HN Procedural Riverscapes
      #Z6DVCN 4. River Network Graph
  Matching excerpt #TRPJZX:
      Figure 5). One complication is that the drainage calculation assumes that there are no depressions (local minima) in the digital elevation model, since these have no outlet to neighboring cells. To prevent disconnected river graphs we apply an optimal depression filling algorithm [BLM14], which leaves the surface slightly proud with an available flow channel.

5. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 4
  Context:
    #JJE8HN Procedural Riverscapes
      #TFD8TX 5. River Network Amplification
        #S7JXXD 5.2. Riverbed Carving
  Matching excerpt #WG5LJA:
      Rosgen type D (see Figure 13) typifies wide rivers with little slope. This often leads to riverbeds with several channels of varying width and depth. We first establish the number of channels based on the flow volume and width of the river. Each channel has a symmetrical profile but follows a different trajectory, with their depth and width parameters determined by partitioning the aggregate flow between channels. Since the number of channels can vary between edges of the river graph, it is important to connect channels correctly. Also, in order to preserve flow, the final height of the riverbed is set as the minimum height over all channels.

6. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 2
  Context:
    #JJE8HN Procedural Riverscapes
      #FF5JSX 3. Workflow
  Matching excerpt #XP2QXU:
      Our procedural amplification framework, supplied with a terrain as input, provides a landscape with an animated river system, consisting of riverbed geometry coupled with an animated water surface, as output.

7. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 10
  Context:
    #JJE8HN Procedural Riverscapes
      #BR5ZZK 8. Conclusion
  Matching excerpt #2BABHT:
      The core of our system is a workflow that analyses an input terrain to derive its flow properties and uses this information to generate and carve out a river network, before instantiating the water surface with procedural animated riverflow primitives arranged in a blend-flow tree. While user intervention is not required it is supported at multiple stages of the pipeline, from providing a constraining river footprint with the terrain input to fine-tuning the parameters of individual riverflow primitives in the river model output.

8. Source: A Survey of Ocean Simulation and Rendering Techniques in Computer Graphics (#C4AY2M), B. Crespin, D. Ghazanfarpour, E. Darles, J.-C. Gonzato, p. 2
  Context:
    #QZPELE A survey of ocean simulation and rendering techniques in computer graphics
      #JPY4VD 2. Ocean dynamics simulation in deep water
        #B9SCHY 2.1. Spatial domain approaches
          #3VTQEF 2.1.1. Early works
  Matching excerpt #M2AKVW:
      with x (respectively y ) the horizontal (resp. vertical) coordinate of a water particle at time t , x_0 and y_0 its coordinates at rest, A the wave amplitude, k the wave number and \omega the wave pulsation. Fournier and Reeves enhance this model by taking into account the transformation of the path of water particles following the topological changes of the sea bed, and by transforming their circular path into a more realistic elliptic motion. This method permits to control the waves' shape, more or less crested, through the use of different parameters, and therefore yields a more realistic result (see Figure 1).

9. Source: A Sequential Two-Step Algorithm for Fast Generation of Vehicle Racing Trajectories (#G3TBNG), J. Christian Gerdes, John Subosits, Nitin R. Kapania, p. 1
  Context:
    #AP8Y4X A Sequential Two-Step Algorithm for Fast Generation of Vehicle Racing Trajectories
      #9ESKYT 2 Path Description and Vehicle Model
  Matching excerpt #9U5UE4:
      Figure 1 describes the parameterization of the reference path that the vehicle will follow. The reference path is most intuitively described in Fig. 1(a) as a smooth curve of Cartesian East-North coordinates, with road boundaries represented by similar Cartesian curves. However, for the purposes of quickly generating a racing trajectory, it is more convenient to parameterize the reference path as a curvature profile K that is a function of distance along the path s (Fig. 1(c)). Additionally, it is convenient to store the road boundary information as two functions w_{in}(s) and w_{out}(s) , which correspond to the lateral distance from the path at s to the inside and outside road boundaries, respectively (Fig. 1(b)). This maximum lateral distance representation will be useful when constraining the generated racing path to lie within the road boundaries. The transformation from the local s, K coordinate frame to the global Cartesian coordinates E, N are given by the Fresnel integrals:

10. Source: Mountain Trail Formation and the Active Walker Model (#GY93FG), J. P. Hague, S. J. Gilks, p. 8
  Context:
    #G4BEE9 Mountain trail formation and the active walker model
      #MKLE5Y 4. A model of mountain walkers
        #KAWSKG 4.2. Discretization scheme
  Matching excerpt #2ZZJ99:
      We use the following simple first-order discretization procedure to solve the active walker model and extensions. The time coordinate is discretized into small intervals \Delta t , and the spatial coordinates into intervals \Delta x and \Delta y . Therefore, the vector \mathbf{r} can be written in the discrete form \mathbf{r} = (\eta\Delta x, \nu\Delta y) where \eta and \nu are integers.

11. Source: Legacy sediment: Definitions and processes of episodically produced anthropogenic sediment (#K82AS7), L. Allan James, p. 8
  Context:
    #8A96NY Legacy sediment: Definitions and processes of episodically produced anthropogenic sediment
      #Z4WK9K 6. Conclusions
  Matching excerpt #CZKRYZ:
      Legacy sediment is deposited when intensified land-use results in sediment deliveries greater than sediment transport capacity. This may lead to valley-bottom aggradation, which is ultimately followed by channel incision when the sediment wave passes and sediment loads decrease. This aggradation–degradation episode (ADE) tends to leave large volumes of LS in storage because vertical channel incision occurs much more quickly than channel widening. Many river systems in North America are still in the widening phase of adjustment to an ADE. Channel beds have returned to pre-settlement elevations but LS remains stored in extensive terrace deposits. The lagged responses and prolonged sediment recruitment represent a temporal connectivity. Recognition of these processes and the inherent imbalance in fluvial systems caused by tremendous volumes of LS storage is essential to wise policy development in river science, stream restoration, aquatic ecology, and flood risk management.

12. Source: Legacy sediment: Definitions and processes of episodically produced anthropogenic sediment (#K82AS7), L. Allan James, p. 3
  Context:
    #8A96NY Legacy sediment: Definitions and processes of episodically produced anthropogenic sediment
      #3JQMUD 2. Use and definitions of 'legacy sediment'
        #K795QH 2.3. A broader definition
  Matching excerpt #V3AGEQ:
      “Legacy sediment: Earth materials—primarily alluvium [or colluvium]—deposited following human disturbances such as deforestation, agricultural land use, or mining. The phrase is often used to describe post-European floodplain sediment, also known as post settlement alluvium. Awareness of legacy sediment has grown in response to the importance it plays in sediment budgets, water quality, river restoration, toxicity, lateral channel connectivity, and geomorphic theory...” (James, 2013, Glossary)

13. Source: Real-time Rendering of River Networks (#MVUJ8Z), Quintijn Hendrickx, Rafael Bidarra, Ruben M. Smelik, p. 0
  Context:
    #BTQCB6 Real-time Rendering of River Networks
  Matching excerpt #QGESFA:
      This poster presents an efficient technique for real-time rendering of complex river networks without using any kind of particle system. Instead, Bézier curves and streaming normal maps are used to simulate the flow of water through rivers. The curves represent the geometric features (path and width) of a river. Multiple quadratic Bézier curve segments are linked together to create more complex river curves and junctions.

14. Source: Water surface wavelets (#PBM2TC), Chris Wojtan, Matthias Müller-Fischer, Miles Macklin, Nuttapong Chentanez, Stefan Jeschke, Tomáš Skřivan, p. 4
  Context:
    #RNVWWR Water Surface Wavelets
      #2KAQMF 4 DISCRETIZATION
        #6AJDFD 4.1 Discretizing \mathcal{A}
  Matching excerpt #HPVT4Q:
      The amplitude \mathcal{A}(\mathbf{x}, \mathbf{k}, t) is a function in 4 + 1 dimensions: two in space, two in wavevector, and one in time. We find it intuitive and computationally convenient to represent the wavevector in polar coordinates \mathbf{k} = (k \cos \theta, k \sin \theta) , where k is the magnitude of \mathbf{k} , and \theta is the angle made by \mathbf{k} and the x -axis. We represent \mathcal{A} on a four-dimensional grid [x_{\min}, x_{\max}] \times [y_{\min}, y_{\max}] \times [0, 2\pi] \times [k_{\min}, k_{\max}] , which spans two spatial coordinates x and y , the angular coordinate \theta , and the wavevector coordinate k . We store samples of \mathcal{A} on each of the nodes in this 4D grid, indexed by the coordinates a, b, c . We use the notation \mathcal{A}_{abc} to represent the discrete amplitude sample of the wave at grid node position \mathbf{x}_a = (x_a, y_a) , traveling at angle \theta_b , with wavenumber k_c . Figure 2 illustrates the grid used for our discretization.

15. Source: A Layered Particle-Based Fluid Model for Real-Time Rendering of Water (#RBS5K6), Daniel Scherzer, Florian Bagar, Michael Wimmer, p. 3
  Context:
    #5NFAXU A Layered Particle-Based Fluid Model for Real-Time Rendering of Water
      #34V9L7 4. Adaptive Curvature Flow
  Matching excerpt #6HBEL2:
      However, close inspection of the screen-space curvature formulation reveals that the reference coordinate system for calculating the curvature is the window coordinate system. This means that, given equal iteration sizes, a particle that appears larger on screen (because it is closer due to perspective) will have a significantly larger radius in this coordinate system and therefore significantly lower curvature than a particle that is farther away. The resulting artifact is that smoothing will have a lower effect on closer particles, which therefore retain the unwanted spherical appearance, whereas particles far from the viewer will be overly smoothed, so that the fluid surface loses its defining characteristics such as highlights. This can be observed in Figure 4, left.

16. Source: A Layered Particle-Based Fluid Model for Real-Time Rendering of Water (#RBS5K6), Daniel Scherzer, Florian Bagar, Michael Wimmer, p. 3
  Context:
    #5NFAXU A Layered Particle-Based Fluid Model for Real-Time Rendering of Water
      #34V9L7 4. Adaptive Curvature Flow
  Matching excerpt #QUJBJA:
      One possible solution would be to remap the curvatures into a common reference coordinate system, for example by dividing H_s by z for each evaluation of H_s . However, our experiments have shown that this makes the integration very unstable, because the screen-space evaluation for larger particles is very noisy due to depth quantization. On the other hand, depth correction would make the resulting curvatures large in magnitude, leading to oscillation.

17. Source: Runtime Evaluation of Procedural Content Generation in an Endless Runner Game Using Autonomous Agents (#WZ8DHP), Rishabh Kar, p. 6
  Context:
    #MDEACB Runtime Evaluation of Procedural Content Generation in an Endless Runner Game Using Autonomous Agents
      #GL8ZA2 4 Design, Methodology, and Implementation
        #A85PVT 4.1 System Architecture
  Matching excerpt #UQWE2K:
      The player controller manages forward motion, lateral movement, jumping, and interaction with the engine’s physics system. The terrain generation component spawns ground tiles ahead of the player, and the object spawning component places environmental objects on the generated ground. The skybox manager coordinates with the generation pipeline by varying the environment theme as the player progresses, and the object spawner consults the active theme when selecting prefabs.

18. Source: Advected river textures (#WZMZGY), Dirk Arnold, Stephen Brooks, Tim Burrell, p. 8
  Context:
    #JCB5RE Advected river textures
      #XSMAUV Future Work
  Matching excerpt #78AJMB:
      Further work could explore improvements to Level of Detail rendering for rivers. Our system currently uses only basic geometry LOD on the terrain and no geometric LOD on the river surface itself. Although the river sections are split into LOD patches, this is only for the purpose of changing detail levels within the fluid simulation algorithm. We believe that adding a sophisticated geometry LOD algorithm would allow the simulation and rendering to operate at an even higher frame rate.

19. Source: Scalable real‐time animation of rivers (#XDESU9), Eric Bruneton, Fabrice Neyret, Nicolas Holzschuch, Qizhi Yu, p. 3
  Context:
    #B9LYTR Scalable real-time animation of rivers
      #S3P9T2 4. Computing flow velocities
  Matching excerpt #979ZVS:
      Once we have \psi values for the boundaries of the hydrographic system, we interpolate them to get the stream function inside each channel. This interpolation will be discussed in Section 4.2. Finally, we deduce the velocity from the interpolated values of \psi through finite differentiation.

20. Source: Scalable real‐time animation of rivers (#XDESU9), Eric Bruneton, Fabrice Neyret, Nicolas Holzschuch, Qizhi Yu, p. 3
  Context:
    #B9LYTR Scalable real-time animation of rivers
      #S3P9T2 4. Computing flow velocities
  Matching excerpt #WR3N89:
      The stream function is related to the volumetric flow rate inside each branch of the hydrographic network: \psi must be constant along every connected boundary of the system, and the volumetric flow rate Q inside a given channel is equal to the difference between the values of \psi on each bank (see Figure 3):

Approximate matches

1. Source: Large Scale Terrain Generation from Tectonic Uplift and Fluvial Erosion (#96ZMGK), Adrien Peytavie, Bedrich Benes, Guillaume Cordonnier, Jean Braun, Marie-Paule Cani, Éric Galin, Éric Guérin, p. 7
  Context:
    #A48PSA Large Scale Terrain Generation from Tectonic Uplift and Fluvial Erosion
      #A8NK92 6. Results
        #AWRWEN 6.4. Stream power erosion
  Score: 0.017
  Related excerpt #P52B3D:
      We use the result of these equations to choose the proper ratio m/n to shape the desired river profile.

2. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 4
  Context:
    #JJE8HN Procedural Riverscapes
      #TFD8TX 5. River Network Amplification
        #S7JXXD 5.2. Riverbed Carving
  Score: 0.027
  Related excerpt #B77LY9:
      C(r) in Figure 3, but also depend on the local curvature of the river trajectory. They are normalized in the sense that their scale assumes unit area for water in the cross section, and when instantiated, they are scaled according to a factor derived from the flow \phi and elevation of the trajectory.

3. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 5
  Context:
    #JJE8HN Procedural Riverscapes
      #TFD8TX 5. River Network Amplification
        #S7JXXD 5.2. Riverbed Carving
  Score: 0.026
  Related excerpt #8S67T2:
      Once instantiated the 2\frac{1}{2} D Rosgen templates are placed along the river trajectory and interpolated. The final riverbed geometry \mathcal{R} is defined as an elevation function that combines the instantiated Rosgen templates and basin features, with the riverbed domain \Omega_{\mathcal{R}} as the compact support of this function. An amplified terrain \tilde{T} is obtained by carving \mathcal{R} into the original \mathcal{T} . To ensure continuity in blending river sections and carving the riverbed we rely on adapted carving and blending operators [GGP + 15].

4. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 3
  Context:
    #JJE8HN Procedural Riverscapes
      #TFD8TX 5. River Network Amplification
  Score: 0.024
  Related excerpt #8RD8MD:
      Amplification proceeds by first refining the trajectories of edges \mathcal{E} in the river graph \mathcal{G} , based on their Rosgen type (see Section 5.1). The result is a revised geometric graph \hat{\mathcal{G}} = \{\mathcal{N}, \hat{\mathcal{E}}\} . Importantly, this process not only adjusts the planar (x, y) course of the river, but also its longitudinal profile ( z elevation values along the river spine) so as to create appropriate basins, pools and cascades. Then, the geometry of the riverbed is realised, by selecting, scaling and assigning Rosgen cross-sectional templates along the river, and carved into the terrain \mathcal{T} , which results in a modified terrain \hat{\mathcal{T}} (Section 5.2). Finally, we distribute riverflow primitives (Section 5.3), in readiness for their assembly into a blend-flow tree that defines the animated water surface.

5. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 3
  Context:
    #JJE8HN Procedural Riverscapes
      #Z6DVCN 4. River Network Graph
  Score: 0.024
  Related excerpt #F84VCT:
      The discrete river network is then converted into a continuous graph \mathcal{G} by defining a node at cells with more than one contributor and smoothing the trajectory of the river between nodes with piecewise cubic splines.

6. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 4
  Context:
    #JJE8HN Procedural Riverscapes
      #TFD8TX 5. River Network Amplification
        #S7JXXD 5.2. Riverbed Carving
  Score: 0.022
  Related excerpt #S5ZJTM:
      From the refined river trajectory and its Rosgen type, riverbed geometry \mathcal{R} can be constructed and embedded in the terrain (Figure 10). For this we employ normalized cross-sectional and longitudinal Rosgen templates. These are inspired by the cross sections

7. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 2
  Context:
    #JJE8HN Procedural Riverscapes
      #Z6DVCN 4. River Network Graph
  Score: 0.021
  Related excerpt #V4N668:
      The analysis proceeds as follows: given a terrain \mathcal{T} composed of regular grid cells C_{ij} , we first generate a discretized river network \mathcal{D} , and then convert it into a river network graph \mathcal{G} with nodes and edges labelled with flow data, as a precursor to river network amplification (as described in Section 5).

8. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 3
  Context:
    #JJE8HN Procedural Riverscapes
      #TFD8TX 5. River Network Amplification
        #3S2ME8 5.1. Analysis and Trajectory Refinement
  Score: 0.02
  Related excerpt #KN76Q3:
      For every river segment \mathcal{E}_i in \mathcal{G} , we generate a refined three-dimensional trajectory \tilde{\mathcal{E}}_i , depending on its computed Rosgen type t_i . The horizontal trajectory can be meandering if the local slope s_i is low and the flow \phi_i moderate (type C, E or G), or straight if the slope is steep (type A or A+ ). Afterwards, the longitudinal elevation profile of the trajectory is also refined with a view to creating drops and basins keyed to the Rosgen type (see Figure 7 and 9). This is important since the riverbed slope is one determinant of cascade, wave and turbulence placement.

9. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 3
  Context:
    #JJE8HN Procedural Riverscapes
      #TFD8TX 5. River Network Amplification
  Score: 0.018
  Related excerpt #EWA69A:
      The river graph \mathcal{G} has nodes \mathcal{N}_i that correspond to river junctions and edges \mathcal{E}_{ij} that represent the intervening trajectory of the river. The graph nodes store geomorphological data; in particular, the average slope s_i in the local neighborhood of the node and the flow of the river \phi_i . Graph edges, meanwhile, store their Rosgen type t_{ij} (see Figure 3) and encode the river trajectory as a piecewise-cubic curve.

10. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 3
  Context:
    #JJE8HN Procedural Riverscapes
      #Z6DVCN 4. River Network Graph
  Score: 0.016
  Related excerpt #TRPJZX:
      Figure 5). One complication is that the drainage calculation assumes that there are no depressions (local minima) in the digital elevation model, since these have no outlet to neighboring cells. To prevent disconnected river graphs we apply an optimal depression filling algorithm [BLM14], which leaves the surface slightly proud with an available flow channel.

11. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 3
  Context:
    #JJE8HN Procedural Riverscapes
      #Z6DVCN 4. River Network Graph
  Score: 0.016
  Related excerpt #HS22AT:
      Next, graph nodes are labeled with the terrain slope s and river flow \phi values at their cell position. The latter is a measure of the volumetric rate at which water is carried down the river and an accurate estimation is problematic, since it depends on parameters such as rainfall and soil composition. Instead, we apply a simplified model based on an empirical power law observed in geomorphology [Dun78]: from drainage area A_{ij} [ m^2 ], the flow \phi_{ij} of the river [ m^3 s^{-1} ] is approximated by \phi_{ij} = 0.42A_{ij}^{0.69} . This equation takes into account evaporation and infiltration, which is why the volume of flow is not preserved.

12. Source: Terrain Generation Using Procedural Models Based on Hydrology (#DMTA8Y), Adrien Peytavie, Bedřich Beneš, Jean-David Génevaux, Éric Galin, Éric Guérin, p. 5
  Context:
    #RULAFW Terrain Generation Using Procedural Models Based on Hydrology
      #T6FSBF 5 River Classification
        #VE6H2H 5.2 Water-courses Labeling
  Score: 0.02
  Related excerpt #9QKM5Y:
      We assign to each river node its classification based on the slope of the river and its proximity to the coast. River nodes that are close to coasts (based on a geodesic distance threshold) are labeled as braided rivers (those consisting of multiple channels separated by bars and defined as D or DA). Similarly, river mouths with a flow greater than a fixed value are marked as deltas.

13. Source: Terrain Generation Using Procedural Models Based on Hydrology (#DMTA8Y), Adrien Peytavie, Bedřich Beneš, Jean-David Génevaux, Éric Galin, Éric Guérin, p. 5
  Context:
    #RULAFW Terrain Generation Using Procedural Models Based on Hydrology
      #T6FSBF 5 River Classification
        #VE6H2H 5.2 Water-courses Labeling
  Score: 0.02
  Related excerpt #REN65F:
      The type of every river edge is calculated from its two nodes, and junction types are determined by a look-up table. Rivers and meanders are generated by functionally defined river primitives. The parameters that define the river geometry depend on the input and output flows so that river primitives connect seamlessly.

14. Source: Terrain Generation Using Procedural Models Based on Hydrology (#DMTA8Y), Adrien Peytavie, Bedřich Beneš, Jean-David Génevaux, Éric Galin, Éric Guérin, p. 5
  Context:
    #RULAFW Terrain Generation Using Procedural Models Based on Hydrology
      #UAYDMD 6 Terrain Model Generation
        #ASA4YQ 6.1 River Primitives Generation
  Score: 0.019
  Related excerpt #W9URWJ:
      tally forming n - 1 confluences inside the cell V (denoted k in Fig. 12). The process starts with two neighboring water entries on the contour of V . We denote the first confluence k_0 . Each water entry is then connected incrementally to the last created confluence. The connection angle is computed for each junction, depending on the position and water flow of the input rivers. When the junction involves two rivers having significantly different water flows (and thus two different Horton-Strahler numbers), the connection angle is set to be nearly perpendicular. Similarly, junction of two rivers of the same size will cause a small angle. Once the junctions are built,

15. Source: Terrain Generation Using Procedural Models Based on Hydrology (#DMTA8Y), Adrien Peytavie, Bedřich Beneš, Jean-David Génevaux, Éric Galin, Éric Guérin, p. 6
  Context:
    #RULAFW Terrain Generation Using Procedural Models Based on Hydrology
      #UAYDMD 6 Terrain Model Generation
        #ASA4YQ 6.1 River Primitives Generation
  Score: 0.017
  Related excerpt #82B72V:
      we refine river paths with respect to their type. They are subdivided into subpaths of lengths lower than a user-defined parameter. Positions and tangents of the new curves are randomly perturbed to create a variety of windings according to their type (Fig. 13).

16. Source: Physically-based analytical erosion for fast terrain generation (#DWXKYQ), Boris Gailleton, Guillaume Cordonnier, Petros Tzathas, Philippe Steer, p. 5
  Context:
    #JDHNVB Physically-based analytical erosion for fast terrain generation
      #UE2TM4 4. Analytical solutions of the stream power law
        #5CR379 4.3. Extension to the 2D terrain domain
  Score: 0.016
  Related excerpt #AUJPP4:
      We now show that our algorithm for the 1D solution of the analytical equation readily extends to the 2D solution by changing our computation domain from a line to a tree covering the terrain surface. We explained on Section 4.1 that the analytical solutions are computed along a 1D river path , that follows the steepest path on the terrain. In practice, rivers merges into an algorithmic tree structure, that we call a river tree , and we call the set of all river trees the river network or hydrology network . On a river tree, each node has a single downstream neighbor, on which we can apply directly the recursive formulations from Section 4.1. In practice, this requires ordering the computation so that it follows the nodes of the tree, which is suggested by the literature on implicit solutions to the stream power law [BW13, CBC*16] or previous attempts toward analytical solutions in the geology literature [Ste21].

17. Source: Physically-based analytical erosion for fast terrain generation (#DWXKYQ), Boris Gailleton, Guillaume Cordonnier, Petros Tzathas, Philippe Steer, p. 4
  Context:
    #JDHNVB Physically-based analytical erosion for fast terrain generation
      #UE2TM4 4. Analytical solutions of the stream power law
        #QR788H 4.1. The method of characteristics for the stream power law
  Score: 0.016
  Related excerpt #MLVFNW:
      Our first observation is that the spatial component of the characteristic curve follows the direction of the topographic gradient \frac{\nabla z}{\|\nabla z\|} . Intuitively, this means that the elevation at any point x in the terrain will only depend on elevations downstream of x , by following the path of steepest gradients. We call this path a river path as this is the trajectory naturally followed by the water, and parameterize it by s , the distance between the bound ( s = 0 ) and any point on the path (Figure 3, left).

18. Source: Real-time Rendering of River Networks (#MVUJ8Z), Quintijn Hendrickx, Rafael Bidarra, Ruben M. Smelik, p. 0
  Context:
    #BTQCB6 Real-time Rendering of River Networks
  Score: 0.019
  Related excerpt #M78ELM:
      and smooth curve rendered with only a very small number of vertices. Calculating the arc length along the Bézier curve allows us to map a texture onto the river surface. Adding a time-dependent offset t to this mapping will smoothly stream the texture along the curve.

19. Source: Scalable real‐time animation of rivers (#XDESU9), Eric Bruneton, Fabrice Neyret, Nicolas Holzschuch, Qizhi Yu, p. 3
  Context:
    #B9LYTR Scalable real-time animation of rivers
      #S3P9T2 4. Computing flow velocities
        #89NKTG 4.1. Finding the volumetric flow rate from the hydro geometry
  Score: 0.025
  Related excerpt #QXKFZQ:
      The hydrographic network is a directed graph, expressing the connections between channels, and flowing from the source to the ocean. In the case of streams joining into rivers, themselves joining into larger rivers, the graph is a tree. At the delta of a river, the graph is an inverted tree. If there are no islands, we have an acyclic graph; each obstacle or island results in a cycle in the graph. Islands and obstacles can either be treated at this level, or be treated as a special case in the interpolation method.

20. Source: Scalable real‐time animation of rivers (#XDESU9), Eric Bruneton, Fabrice Neyret, Nicolas Holzschuch, Qizhi Yu, p. 3
  Context:
    #B9LYTR Scalable real-time animation of rivers
      #S3P9T2 4. Computing flow velocities
        #89NKTG 4.1. Finding the volumetric flow rate from the hydro geometry
  Score: 0.021
  Related excerpt #UE46TV:
      If our dataset does not include the volumetric flow rate for each channel, we reconstruct plausible values based on the hydrographic network and its geometry.

### 9. Tool result: search_text

Exact matches

1. Source: Water-rendering literature overview (#4CB2WQ)
  Matching note #4CB2WQ:
      The water-rendering corpus organizes around a recurring hybrid strategy: simulate only the low-frequency/structural behavior needed for motion, then add high-frequency visual detail and optical cues cheaply. The survey separates deep-water parametric/spectral methods from shallow-water fluid methods and identifies foam, spray, and light interaction as separate realism layers (#4S5XNT, #CZNWCP). River methods use coarse or procedural velocity fields plus advected wave textures: Arnold et al. combine 2D Navier–Stokes, hydrostatic pressure columns, and texture advection (#8KBMFE, #T9Y2PR); Yu et al. compute local steady flow and use screen-space sampled wave sprites for huge terrains (#3UZ7TP, #AL6YQ9); their later Lagrangian texture-advection method uses deformable particle grids to preserve both flow and texture spectrum (#DZCPD6, #KSH8JS). Vlachos's Portal 2 production method is the cheapest end of this continuum: artist-authored flow maps distort two normal-map layers, with offsets and noise hiding repetition/pulsing (#6ELMAT, #XVFV3N). Shallow-water work adds effects a height field cannot express: Thürey et al. detect steep fronts and spawn connected-particle sheets for overturning waves, drops, and foam (#KHRCTA, #XFKY8Q); Ojeda and Susín layer FFT/noise normals, advected foam, photon caustics, and screen-space reflection/refraction over a shallow-water simulation (#BVUXWL, #PBZNNB). Scherzer et al. target fully dynamic particle fluids, using screen-space depth/thickness layers, adaptive curvature-flow smoothing, and Weber-number-based volumetric foam (#G3TYUA, #YJNSYU). Surface Wavelets is the strongest large-scale wave paper: it simulates slowly varying amplitudes over space/frequency/direction on a coarse grid, reconstructs detailed waves separately, supports obstacles and artistic control, and runs a 4 km × 4 km scene at 60 fps (#RFLQDX, #764D8D, #WKY9MT); it cannot handle breaking waves or splashes because it is linear (#YWWZAM). Specialized cheap methods include halftone-mask foam dissipation with under 3% overhead (#KFWVK3, #V5XDSY), Bézier-curve river networks with streaming normal maps (#QGESFA, #MSQQ8G), and distance-dependent switching among Stokes, cosine, and bump-mapped wave models (#H2E2UR, #EYM9N6).

2. Source: Very Fast Real-Time Ocean Wave Foam Rendering Using Halftoning (#869NHK), Ian Parberry, Jennifer R. Alford, Mary Yingst, p. 4
  Context:
    #5R6DEX Very Fast Real-Time Ocean Wave Foam Rendering Using Halftoning
      #UQWEYD Overview of Our Approach
        #J3EGSN Applying the Mask
  Matching excerpt #KJ6JRV:
      To create the halftoned saturation function h(u, v) where u, v are texture coordinates and h(u, v) is a float4 RGBA color value at that position, we first create a texture to contain the mask information so that the data can be imported into the pixel shader. Given a 512 \times 512 halftone mask, a 512 \times 512 pixel texture is generated. This texture, when tiled across the surface of the water, has a corresponding u, v texture coordinate for each \vec{v} = (x, z) position on the water. The mask value m(u, v) can then be used to threshold the saturation function f(x, z) as follows:

3. Source: Very Fast Real-Time Ocean Wave Foam Rendering Using Halftoning (#869NHK), Ian Parberry, Jennifer R. Alford, Mary Yingst, p. 1
  Context:
    #5R6DEX Very Fast Real-Time Ocean Wave Foam Rendering Using Halftoning
      #L9YLTY Introduction
  Matching excerpt #XM3XNV:
      Real-time animation and rendering of ocean waves is often seen in video games, and adding foam to the waves lends an added level of realism. We describe a fast and effective method for rendering ocean wave foam by augmenting traditional texture based foam saturation methods with techniques from halftoning.

4. Source: Very Fast Real-Time Ocean Wave Foam Rendering Using Halftoning (#869NHK), Ian Parberry, Jennifer R. Alford, Mary Yingst, p. 1
  Context:
    #5R6DEX Very Fast Real-Time Ocean Wave Foam Rendering Using Halftoning
      #L9YLTY Introduction
  Matching excerpt #48AQ6V:
      Takahashi et al. [6] and Thürey et al. [7] represent foam as a particle system. Although this is visually pleasing, it is computationally intensive. In large scale environments such as the ocean it is more practical to use faster texture based methods. Many methods of rendering foam rely on applying a texture of foam to the water surface. These methods apply a texture using a foam saturation , or density value to represent transparency of the texture which is applied to a mesh representing the water's surface (see, for example, Jensen and Goliás [2], Jeschke, Birkholz and Schmann [3], and Kryachko [4]). Li, Jin, Yin, and Shen [5] similarly apply a foam color according to its density.

5. Source: Real-time Breaking Waves for Shallow Water Simulations (#8SERGP), Markus Gross, Matthias Müller-Fischer, Nils Thürey, Simon Schirm, p. 4
  Context:
    #FA7BE4 Real-time Breaking Waves for Shallow Water Simulations
      #8ES8PA 6 Rendering the Waves
  Matching excerpt #HDE8NW:
      In contrast to full 3D simulations, it is furthermore easy to generate texture coordinates for the fluid surface of the wave patch. For a point on the wave line \mathcal{L} , its texture coordinate is given by its lifetime, and its position in the line. We, e.g., use these texture coordinates to blend in a foam texture at the tip of the wave patch.

6. Source: Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field (#92XRH7),  Qizhi Yu, E. Bruneton, F. Neyret, N. Holzschuch, p. 6
  Context:
    #5948CH Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field
      #BWJ55J 3 OUR ALGORITHM
        #W6ZWF7 3.5 Reconstruction and Rendering
          #ZRKC9H 3.5.2 Indirect reconstruction
  Matching excerpt #AUR2FV:
      During rendering in the fragment shader, for a given pixel (having texture coordinates \mathbf{x} ):

7. Source: Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field (#92XRH7),  Qizhi Yu, E. Bruneton, F. Neyret, N. Holzschuch, p. 6
  Context:
    #5948CH Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field
      #BWJ55J 3 OUR ALGORITHM
        #W6ZWF7 3.5 Reconstruction and Rendering
          #N8GY69 3.5.1 Direct reconstruction
  Matching excerpt #RTZ4GZ:
      During rendering in the fragment shader, for a given pixel (having texture coordinates \mathbf{x} ):

8. Source: Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field (#92XRH7),  Qizhi Yu, E. Bruneton, F. Neyret, N. Holzschuch, p. 5
  Context:
    #5948CH Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field
      #BWJ55J 3 OUR ALGORITHM
        #W6ZWF7 3.5 Reconstruction and Rendering
  Matching excerpt #72AE32:
      The advected texture T'(\mathbf{x}) = F(R'(\mathbf{x})) is used like a standard texture: mapped on a surface of the scene. \mathbf{x} denote the texture coordinates of this mapping. T' has to be computed at each frame. Rendering is done in two passes: in the first pass, we prepare data to compute each channel a'_j of R' . During the final rendering of the scene, for each pixel of the textured surface, we compute the full texture function T'(\mathbf{x}) . We present two different methods for reconstruction: a simple one ( Direct reconstruction , section 3.5.1), and a more sophisticated one ( Indirect reconstruction , section 3.5.2), that performs better on complicated scenes.

9. Source: Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field (#92XRH7),  Qizhi Yu, E. Bruneton, F. Neyret, N. Holzschuch, p. 3
  Context:
    #5948CH Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field
      #BWJ55J 3 OUR ALGORITHM
        #WWK8AX 3.2 Formal definition of our input data
  Matching excerpt #MD8H8R:
      where the \mathbf{x} is the texture coordinates, the a_j are channels defined on these coordinates, and F encodes the final aspect of the texture. The a_j can be either defined as functions or sampled into 2-dimensional arrays ( i.e. , image textures).

10. Source: Real-time Rendering of Enhanced Shallow Water Fluid Simulations (#CWC7H9), Antonio Susín, Jesús Ojeda, p. 5
  Context:
    #3XLN3C Real-time Rendering of Enhanced Shallow Water Fluid Simulations
      #GKHL8Q 6. Results and Discussion
  Matching excerpt #5YQTJG:
      An improvement to the normal mapping for lower scale detail technique could be provided by also applying the technique from [9], in which multiple sets of texture coordinates are used and advected, already exploited in [2].

11. Source: Terrain Generation Using Procedural Models Based on Hydrology (#DMTA8Y), Adrien Peytavie, Bedřich Beneš, Jean-David Génevaux, Éric Galin, Éric Guérin, p. 1
  Context:
    #RULAFW Terrain Generation Using Procedural Models Based on Hydrology
      #3G9YBV 3 Algorithm Overview
  Matching excerpt #TJ6DHX:
      The output of the river network generator is a set of 3D polylines with increasing elevation from the outlet to the spring. The rivers and their parts are then classified into distinct procedural primitives. We use building blocks such as junctions, springs, deltas, and river trajectories, for the final river rendering. This categorization is inspired by the Rosgen classification [Rosgen 1994], which is used in hydrology and geomorphology.

12. Source: Real-time Rendering of River Networks (#MVUJ8Z), Quintijn Hendrickx, Rafael Bidarra, Ruben M. Smelik, p. 0
  Context:
    #BTQCB6 Real-time Rendering of River Networks
  Matching excerpt #QGESFA:
      This poster presents an efficient technique for real-time rendering of complex river networks without using any kind of particle system. Instead, Bézier curves and streaming normal maps are used to simulate the flow of water through rivers. The curves represent the geometric features (path and width) of a river. Multiple quadratic Bézier curve segments are linked together to create more complex river curves and junctions.

13. Source: Advected river textures (#WZMZGY), Dirk Arnold, Stephen Brooks, Tim Burrell, p. 0
  Context:
    #JCB5RE Advected river textures
  Matching excerpt #VPL9P5:
      We present a new method for the realistic real-time simulation of rivers. Our solution includes a 2D fluid solver that simulates the flow of a river's surface, an efficient method for adaptively computing 3D flow information and an animated 3D procedural wave texture that is advected through the fluid via advection particles in order to mimic the highly detailed fluid surfaces that are characteristic of rivers. Our technique that couples animated texture advection with a pseudo-3D fluid simulation produces stable results that are representative of large-scale real-world rivers and suitable for use in real-time applications. Our system surpasses prior work on real-time river rendering both with regards to efficiency and visual quality, which we establish through the rendering of rivers tens of kilometers long. Copyright © 2009 John Wiley & Sons, Ltd.

14. Source: Advected river textures (#WZMZGY), Dirk Arnold, Stephen Brooks, Tim Burrell, p. 8
  Context:
    #JCB5RE Advected river textures
      #AZAUNZ Conclusion
  Matching excerpt #T9Y2PR:
      We have developed an efficient approach to rendering large-scale fluid flows over arbitrary terrains with a relatively high level of realism. By combining an impulse driven 2D Navier–Stokes simulation with multi-tier hydrostatic pressure columns we have created a low computational-cost fluid solver that provides sufficient 3D information to simulate a river in real-time. We then employ procedural wave generation to produce an animated texture which is advected through the fluid simulation. This produces a highly detailed fluid surface representation that exhibits many of the visual elements that are characteristic of rivers. Our technique is applicable to real-time and interactive simulation scenarios and has been designed with rigid-body physics objects in mind. We feel that this work is therefore a major step forward in the area of real-time river rendering for interactive applications.

15. Source: Advected river textures (#WZMZGY), Dirk Arnold, Stephen Brooks, Tim Burrell, p. 6
  Context:
    #JCB5RE Advected river textures
      #G2SPEY Previous Work
        #B2JVNM River Surface Advection
  Matching excerpt #RNVXG6:
      In addition, each river particle has the following properties: location in the input textures, birth location, age, current location in the river, and age at death. An advection particle pertains to a specific location in the input textures which does not change. For our application we use an animated texture comprised of a number of frames of individual textures. The location in the input textures refers to the same location in each texture, where one texture is a single frame of the texture animation.

16. Source: Advected river textures (#WZMZGY), Dirk Arnold, Stephen Brooks, Tim Burrell, p. 8
  Context:
    #JCB5RE Advected river textures
      #XSMAUV Future Work
  Matching excerpt #78AJMB:
      Further work could explore improvements to Level of Detail rendering for rivers. Our system currently uses only basic geometry LOD on the terrain and no geometric LOD on the river surface itself. Although the river sections are split into LOD patches, this is only for the purpose of changing detail levels within the fluid simulation algorithm. We believe that adding a sophisticated geometry LOD algorithm would allow the simulation and rendering to operate at an even higher frame rate.

17. Source: Advected river textures (#WZMZGY), Dirk Arnold, Stephen Brooks, Tim Burrell, p. 5
  Context:
    #JCB5RE Advected river textures
      #G2SPEY Previous Work
        #B2JVNM River Surface Advection
  Matching excerpt #W32P5Z:
      However, procedural techniques are not intended to simulate a fluid volume and so the static wave fronts must be transported such that they have the appearance of moving with the river. One can think of moving a carpet around a curved track. But our situation is more complex because we must simultaneously move every section of the carpet in a different direction and at a different speed. The principle behind texture advection is to transport or morph one or more textures over time based on a series of input parameters (see Figure 4). In our case, we use velocity and pressure information from the pseudo-3D fluid simulator to advect the wave texture using what we will call river particles. These particles are propagated through the fluid using the results of the velocity and pressure information from the NS simulation. A river particle is an encapsulation of a mathematical deviation function that describes how a particular section (texel) of a texture is to be propagated through space and time.

18. Source: Scalable real‐time animation of rivers (#XDESU9), Eric Bruneton, Fabrice Neyret, Nicolas Holzschuch, Qizhi Yu, p. 8
  Context:
    #B9LYTR Scalable real-time animation of rivers
      #TJAYJS 7. Discussion and limitations
  Matching excerpt #YTDJGS:
      Extension to 3D river surfaces In our implementation we render rivers as flat surfaces with bump mapping using fake reflection and refraction, like in most game engines. This very common technique has known limitations, especially at grazing view angles (wave elevation is not visible, especially along banks and obstacles, the back side of waves is not masked, etc.). Still, our model can be used with rendering methods taking parallax into account. For instance we could render the water surface with a coarse 3D mesh as in [HNC02], the height of the vertices being generated using our 2D texture. We could also use recent works such as parallax map, displacement map, inverse displacement map and relief textures.

19. Source: Scalable real‐time animation of rivers (#XDESU9), Eric Bruneton, Fabrice Neyret, Nicolas Holzschuch, Qizhi Yu, p. 7
  Context:
    #B9LYTR Scalable real-time animation of rivers
      #LQXUW2 6. Implementation and results
  Matching excerpt #EUX776:
      In order to demonstrate the benefits of our method in real applications we tested it in a 25 \times 25 \text{ km}^2 scene with a river network, branchings and obstacles. We used a 800 \times 600 window with r = d = 20 pixels. We used two kinds of waves: noise perturbations and wind ripples. For the former, we used a precomputed Perlin noise reference texture. For the latter, we used Fourier generation using analytical time evolution [Tes04] for wind waves. Both reference textures contain height fields, that are used by the water shader for bump mapping and environment mapping. The test was done on an AMD Athlon 3200 processor at 1.8 GHz with a GeForce 8800 GTS graphics board. The particles and the final rendering results are shown in Figure 11.

20. Source: Scalable real‐time animation of rivers (#XDESU9), Eric Bruneton, Fabrice Neyret, Nicolas Holzschuch, Qizhi Yu, p. 2
  Context:
    #B9LYTR Scalable real-time animation of rivers
      #JW4T3Z 2. Previous work
        #HEUBG3 2.2. Fluid surface
  Matching excerpt #A3D4F8:
      Texture advection. Texturing is an effective way to add small scale details on a surface. For fluids we need a way to generate details that look like waves and ripples, and a method to advect them with the fluid. These requirements can be in conflict, unless the surface details are continuously regenerated. [MB95] advects texture coordinates and

Approximate matches

1. Source: Real-time Breaking Waves for Shallow Water Simulations (#8SERGP), Markus Gross, Matthias Müller-Fischer, Nils Thürey, Simon Schirm, p. 4
  Context:
    #FA7BE4 Real-time Breaking Waves for Shallow Water Simulations
      #8ES8PA 6 Rendering the Waves
  Score: 0.011
  Related excerpt #HDE8NW:
      In contrast to full 3D simulations, it is furthermore easy to generate texture coordinates for the fluid surface of the wave patch. For a point on the wave line \mathcal{L} , its texture coordinate is given by its lifetime, and its position in the line. We, e.g., use these texture coordinates to blend in a foam texture at the tip of the wave patch.

2. Source: Large Scale Terrain Generation from Tectonic Uplift and Fluvial Erosion (#96ZMGK), Adrien Peytavie, Bedrich Benes, Guillaume Cordonnier, Jean Braun, Marie-Paule Cani, Éric Galin, Éric Guérin, p. 6
  Context:
    #A48PSA Large Scale Terrain Generation from Tectonic Uplift and Fluvial Erosion
      #A8NK92 6. Results
        #CBX4QV 6.2. Rendering
  Score: 0.013
  Related excerpt #NCDULV:
      The first interactive rendering method is achieved by generating a mesh from the stream graph by using Phong tessellation [BA08]. We flatten the shading of the edges traversed by a stream to emphasize the path of water, and we color the nodes depending on the drainage area to show the river network. We also visualize lakes by comparing the pass height with the height of all the points flowing into the bottom of the lake. An example is shown in Figure 11.

3. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 4
  Context:
    #JJE8HN Procedural Riverscapes
      #TFD8TX 5. River Network Amplification
        #S7JXXD 5.2. Riverbed Carving
  Score: 0.025
  Related excerpt #B77LY9:
      C(r) in Figure 3, but also depend on the local curvature of the river trajectory. They are normalized in the sense that their scale assumes unit area for water in the cross section, and when instantiated, they are scaled according to a factor derived from the flow \phi and elevation of the trajectory.

4. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 2
  Context:
    #JJE8HN Procedural Riverscapes
      #FF5JSX 3. Workflow
  Score: 0.014
  Related excerpt #QH5ARN:
      Next, the river network is refined, based on this flow data and the geometry of the riverbed, by appropriately placing localized animated primitives that represent cycling water patterns, such as waves, whirlpools, and cascades. Overlapping primitives are combined using blend operators into a hierarchical blend-flow tree that defines the animated surface of the water as a function f(\mathbf{p}, t) . This procedural function can be directly evaluated at any point and time without the need for simulation. Finally, the combined procedural river representation can be rendered directly at real-time rates or passed on to an off-line process to generate photo-realistic images.

5. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 7
  Context:
    #JJE8HN Procedural Riverscapes
      #NHDQDL 7. Implementation and results
  Score: 0.013
  Related excerpt #ACDG5B:
      Figures 1 show different views of an extensive river network, spanning a 3 \times 3 km terrain. The scene has the following statistics: an input digital elevation map with a per-pixel resolution of 100m, a river that extends for approximately 4km, more than 40,000 primitives forming the river surface, and a final terrain and water surface resolution of 10cm.

6. Source: Terrain Generation Using Procedural Models Based on Hydrology (#DMTA8Y), Adrien Peytavie, Bedřich Beneš, Jean-David Génevaux, Éric Galin, Éric Guérin, p. 7
  Context:
    #RULAFW Terrain Generation Using Procedural Models Based on Hydrology
      #SZAWPC 8 Results
  Score: 0.012
  Related excerpt #VFM8JD:
      be achieved by sketching both river and terrain slope maps : this way, the user can sketch mountain and valley areas. Independently on the quality of the user input, our approach will lead to a hydrographically correct river network as shown in Fig. 1 and 17.

7. Source: Physically-based analytical erosion for fast terrain generation (#DWXKYQ), Boris Gailleton, Guillaume Cordonnier, Petros Tzathas, Philippe Steer, p. 4
  Context:
    #JDHNVB Physically-based analytical erosion for fast terrain generation
      #UE2TM4 4. Analytical solutions of the stream power law
        #QR788H 4.1. The method of characteristics for the stream power law
  Score: 0.015
  Related excerpt #MLVFNW:
      Our first observation is that the spatial component of the characteristic curve follows the direction of the topographic gradient \frac{\nabla z}{\|\nabla z\|} . Intuitively, this means that the elevation at any point x in the terrain will only depend on elevations downstream of x , by following the path of steepest gradients. We call this path a river path as this is the trajectory naturally followed by the water, and parameterize it by s , the distance between the bound ( s = 0 ) and any point on the path (Figure 3, left).

8. Source: Physically-based analytical erosion for fast terrain generation (#DWXKYQ), Boris Gailleton, Guillaume Cordonnier, Petros Tzathas, Philippe Steer, p. 6
  Context:
    #JDHNVB Physically-based analytical erosion for fast terrain generation
      #4VW4H2 5. Combining river network and elevations
  Score: 0.011
  Related excerpt #PSCYE3:
      The 2D analytical solutions presented in the previous section depend on an ordering of the river network, which itself depends on the elevation predicted by the analytical solutions. This problem leads to significant artifacts in the result if we follow a simple strategy such as using the ordering of the terrain z_0 : large discontinuities can occur in the analytical solutions, mainly at the boundaries between drainage basins which correspond to leaves of the river trees, leaving unrealistic large cliffs in the landscape (Figure 4, left).

9. Source: Real-time Rendering of River Networks (#MVUJ8Z), Quintijn Hendrickx, Rafael Bidarra, Ruben M. Smelik, p. 0
  Context:
    #BTQCB6 Real-time Rendering of River Networks
  Score: 0.03
  Related excerpt #M78ELM:
      and smooth curve rendered with only a very small number of vertices. Calculating the arc length along the Bézier curve allows us to map a texture onto the river surface. Adding a time-dependent offset t to this mapping will smoothly stream the texture along the curve.

10. Source: Real-time Rendering of River Networks (#MVUJ8Z), Quintijn Hendrickx, Rafael Bidarra, Ruben M. Smelik, p. 0
  Context:
    #BTQCB6 Real-time Rendering of River Networks
  Score: 0.029
  Related excerpt #KNWKGF:
      Traditional tessellation methods for Bézier curves are typically unsuitable for junctions of curves. The produced geometry for each curve segment would overlap and not allow for complex blending between curves. Our method is able to visualize complex junctions by grouping overlapping segments into a single larger bounding quad. Each pixel in this quad will be projected onto all of the river segments. If a pixel maps onto multiple curves the final result will be interpolated based on the distance to these curves. Figure 1b shows the result of mapping a texture on a series of linked Bézier curves with a simple junction.

11. Source: Real-time Rendering of River Networks (#MVUJ8Z), Quintijn Hendrickx, Rafael Bidarra, Ruben M. Smelik, p. 0
  Context:
    #BTQCB6 Real-time Rendering of River Networks
  Score: 0.027
  Related excerpt #MSQQ8G:
      A commonly used method to visualize Bézier curves is to sample along the curve at a fixed rate, and then tessellate these samples into a geometric structure. However, to achieve smooth results, many samples are needed, resulting in a high vertex count. Because this is often not desirable in real-time rendering, we render the Bézier curves with bounding quads using only four vertices per curve. An implicitly defined distance field is used to project each pixel in the quad onto the nearest point on the curve. Using only quadratic order Bézier curves allows us to define the distance field as a function of the Bézier control points, which does not require any iterative algorithms. As a result this function is, due to its parallel nature, particularly suited for being evaluated on the GPU. Because of the low vertex count, no LOD techniques are necessary for large scale river networks, and rendering performance depends mostly on the total surface of visible water in screen-space.

12. Source: Real-time Rendering of River Networks (#MVUJ8Z), Quintijn Hendrickx, Rafael Bidarra, Ruben M. Smelik, p. 0
  Context:
    #BTQCB6 Real-time Rendering of River Networks
  Score: 0.026
  Related excerpt #QGESFA:
      This poster presents an efficient technique for real-time rendering of complex river networks without using any kind of particle system. Instead, Bézier curves and streaming normal maps are used to simulate the flow of water through rivers. The curves represent the geometric features (path and width) of a river. Multiple quadratic Bézier curve segments are linked together to create more complex river curves and junctions.

13. Source: Real-time Rendering of River Networks (#MVUJ8Z), Quintijn Hendrickx, Rafael Bidarra, Ruben M. Smelik, p. 0
  Context:
    #BTQCB6 Real-time Rendering of River Networks
  Score: 0.019
  Related excerpt #AV243P:
      In conclusion, the use of Bézier curves to model and render river networks has proven to be an efficient method to produce convincing results of flowing water in complex environments.

14. Source: Real-time Rendering of River Networks (#MVUJ8Z), Quintijn Hendrickx, Rafael Bidarra, Ruben M. Smelik, p. 0
  Context:
    #BTQCB6 Real-time Rendering of River Networks
  Score: 0.011
  Related excerpt #QGGCCR:
      The distance d to the corresponding projected pixel and the arc length L along the curve are calculated as shown in Figure 1a. The distance from the pixel to the curve is used to discard pixels that are not within the boundaries of the river. This results in an accurate

15. Source: Advected river textures (#WZMZGY), Dirk Arnold, Stephen Brooks, Tim Burrell, p. 5
  Context:
    #JCB5RE Advected river textures
      #G2SPEY Previous Work
        #B2JVNM River Surface Advection
  Score: 0.019
  Related excerpt #W32P5Z:
      However, procedural techniques are not intended to simulate a fluid volume and so the static wave fronts must be transported such that they have the appearance of moving with the river. One can think of moving a carpet around a curved track. But our situation is more complex because we must simultaneously move every section of the carpet in a different direction and at a different speed. The principle behind texture advection is to transport or morph one or more textures over time based on a series of input parameters (see Figure 4). In our case, we use velocity and pressure information from the pseudo-3D fluid simulator to advect the wave texture using what we will call river particles. These particles are propagated through the fluid using the results of the velocity and pressure information from the NS simulation. A river particle is an encapsulation of a mathematical deviation function that describes how a particular section (texel) of a texture is to be propagated through space and time.

16. Source: Advected river textures (#WZMZGY), Dirk Arnold, Stephen Brooks, Tim Burrell, p. 7
  Context:
    #JCB5RE Advected river textures
      #G2SPEY Previous Work
        #B2JVNM River Surface Advection
  Score: 0.012
  Related excerpt #Z63RNC:
      computation on 10 km river, but can be pre-computed and stored. When no particle remains in a cell, a new one is faded into existence with its birth location set to an average of its neighbors. This removes the situation where a section of a river becomes empty and also eliminates any visual popping that might occur at the introduction of new particles. As can be seen in Figure 5, particles travel together in loose groupings where particles instantiated in similar locations remain near to one another. Yet features such as vortices and directionally opposing fluid flows can still be seen.

17. Source: Advected river textures (#WZMZGY), Dirk Arnold, Stephen Brooks, Tim Burrell, p. 10
  Context:
    #JCB5RE Advected river textures
      #L93ZXH Authors' biographies:
  Score: 0.012
  Related excerpt #SMB6RN:
      Tim Burrell received a B.Sc. in Computer Science from the University of Calgary in 2006, and M.C.Sc. from Dalhousie University in 2009. His primary research interests include Computer Graphics, Parallel Programming, and Compiler Design/Language Theory.

18. Source: Scalable real‐time animation of rivers (#XDESU9), Eric Bruneton, Fabrice Neyret, Nicolas Holzschuch, Qizhi Yu, p. 8
  Context:
    #B9LYTR Scalable real-time animation of rivers
      #TJAYJS 7. Discussion and limitations
  Score: 0.025
  Related excerpt #YTDJGS:
      Extension to 3D river surfaces In our implementation we render rivers as flat surfaces with bump mapping using fake reflection and refraction, like in most game engines. This very common technique has known limitations, especially at grazing view angles (wave elevation is not visible, especially along banks and obstacles, the back side of waves is not masked, etc.). Still, our model can be used with rendering methods taking parallax into account. For instance we could render the water surface with a coarse 3D mesh as in [HNC02], the height of the vertices being generated using our 2D texture. We could also use recent works such as parallax map, displacement map, inverse displacement map and relief textures.

19. Source: Scalable real‐time animation of rivers (#XDESU9), Eric Bruneton, Fabrice Neyret, Nicolas Holzschuch, Qizhi Yu, p. 2
  Context:
    #B9LYTR Scalable real-time animation of rivers
      #XF2N2Y 3. Overview
  Score: 0.022
  Related excerpt #QXYWAJ:
      Input data. The input data of our algorithm is made of raster data for the terrain elevation and texture, of vector data for the fluid boundaries, and of wave textures (see Figure 2, left). The vector data describes a network of channels connected by junctions , as well as obstacles such as islands. Each channel has two boundary curves, a flow rate and a flow direction. This data could come from a GIS database, be simulated from an erosion model, or be generated interactively or procedurally. The wave textures can come from any source (Perlin noise, FFT waves, etc.).

20. Source: Scalable real‐time animation of rivers (#XDESU9), Eric Bruneton, Fabrice Neyret, Nicolas Holzschuch, Qizhi Yu, p. 8
  Context:
    #B9LYTR Scalable real-time animation of rivers
      #LQXUW2 6. Implementation and results
  Score: 0.014
  Related excerpt #34BVNC:
      channels without interrupting the animation, which is due to our procedural velocity generation. In addition, the river appearance can be easily modified using the reference wave textures.

### 10. Tool result: search_text

Exact matches

1. Source: Very Fast Real-Time Ocean Wave Foam Rendering Using Halftoning (#869NHK), Ian Parberry, Jennifer R. Alford, Mary Yingst, p. 4
  Context:
    #5R6DEX Very Fast Real-Time Ocean Wave Foam Rendering Using Halftoning
      #UQWEYD Overview of Our Approach
        #J3EGSN Applying the Mask
  Matching excerpt #KJ6JRV:
      To create the halftoned saturation function h(u, v) where u, v are texture coordinates and h(u, v) is a float4 RGBA color value at that position, we first create a texture to contain the mask information so that the data can be imported into the pixel shader. Given a 512 \times 512 halftone mask, a 512 \times 512 pixel texture is generated. This texture, when tiled across the surface of the water, has a corresponding u, v texture coordinate for each \vec{v} = (x, z) position on the water. The mask value m(u, v) can then be used to threshold the saturation function f(x, z) as follows:

2. Source: Real-time Breaking Waves for Shallow Water Simulations (#8SERGP), Markus Gross, Matthias Müller-Fischer, Nils Thürey, Simon Schirm, p. 4
  Context:
    #FA7BE4 Real-time Breaking Waves for Shallow Water Simulations
      #8ES8PA 6 Rendering the Waves
  Matching excerpt #HDE8NW:
      In contrast to full 3D simulations, it is furthermore easy to generate texture coordinates for the fluid surface of the wave patch. For a point on the wave line \mathcal{L} , its texture coordinate is given by its lifetime, and its position in the line. We, e.g., use these texture coordinates to blend in a foam texture at the tip of the wave patch.

3. Source: Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field (#92XRH7),  Qizhi Yu, E. Bruneton, F. Neyret, N. Holzschuch, p. 3
  Context:
    #5948CH Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field
      #BWJ55J 3 OUR ALGORITHM
        #WWK8AX 3.2 Formal definition of our input data
  Matching excerpt #MD8H8R:
      where the \mathbf{x} is the texture coordinates, the a_j are channels defined on these coordinates, and F encodes the final aspect of the texture. The a_j can be either defined as functions or sampled into 2-dimensional arrays ( i.e. , image textures).

4. Source: Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field (#92XRH7),  Qizhi Yu, E. Bruneton, F. Neyret, N. Holzschuch, p. 6
  Context:
    #5948CH Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field
      #BWJ55J 3 OUR ALGORITHM
        #W6ZWF7 3.5 Reconstruction and Rendering
          #ZRKC9H 3.5.2 Indirect reconstruction
  Matching excerpt #AUR2FV:
      During rendering in the fragment shader, for a given pixel (having texture coordinates \mathbf{x} ):

5. Source: Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field (#92XRH7),  Qizhi Yu, E. Bruneton, F. Neyret, N. Holzschuch, p. 6
  Context:
    #5948CH Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field
      #BWJ55J 3 OUR ALGORITHM
        #W6ZWF7 3.5 Reconstruction and Rendering
          #N8GY69 3.5.1 Direct reconstruction
  Matching excerpt #RTZ4GZ:
      During rendering in the fragment shader, for a given pixel (having texture coordinates \mathbf{x} ):

6. Source: Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field (#92XRH7),  Qizhi Yu, E. Bruneton, F. Neyret, N. Holzschuch, p. 11
  Context:
    #5948CH Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field
      #EAFVW8 5 CONCLUSION AND FUTURE WORK
  Matching excerpt #FVGYD2:
      In the scope of texture synthesis techniques, we could try to replace the random selection of domains in the reference texture for new grids with a smarter method, in order to conserve larger features, or structures. Also, it would be interesting to study how to decompose some example pattern images into F and a_j , as a better conditioning for computations. Finally, we think that our approach could be adapted to parameterization-free texturing in the spirit of [20], [26].

7. Source: Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field (#92XRH7),  Qizhi Yu, E. Bruneton, F. Neyret, N. Holzschuch, p. 5
  Context:
    #5948CH Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field
      #BWJ55J 3 OUR ALGORITHM
        #W6ZWF7 3.5 Reconstruction and Rendering
  Matching excerpt #72AE32:
      The advected texture T'(\mathbf{x}) = F(R'(\mathbf{x})) is used like a standard texture: mapped on a surface of the scene. \mathbf{x} denote the texture coordinates of this mapping. T' has to be computed at each frame. Rendering is done in two passes: in the first pass, we prepare data to compute each channel a'_j of R' . During the final rendering of the scene, for each pixel of the textured surface, we compute the full texture function T'(\mathbf{x}) . We present two different methods for reconstruction: a simple one ( Direct reconstruction , section 3.5.1), and a more sophisticated one ( Indirect reconstruction , section 3.5.2), that performs better on complicated scenes.

8. Source: Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field (#92XRH7),  Qizhi Yu, E. Bruneton, F. Neyret, N. Holzschuch, p. 1
  Context:
    #5948CH Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field
      #W73RWJ 1 INTRODUCTION
  Matching excerpt #APD3VL:
      ANIMATED fluids are frequently used in Computer Graphics applications, whether in virtual worlds, special effects or video games. As it is difficult to model the complete behavior of a fluid, animators and designers resort to texture mapping for finer surface details, whether small displacements, variations of the normals, or foam and debris being transported. But applying a texture on a flowing fluid, such as a river, creates conflicting requirements: on one hand, we want the texture to follow the flow exactly, so that the fluid movements stay realistic; yet on the other hand, we want the texture to keep its original properties 1 . As the fluid movements introduce large and cumulative distortions, shearing and stretching the original texture, solving both requirements is a difficult task.

9. Source: Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field (#92XRH7),  Qizhi Yu, E. Bruneton, F. Neyret, N. Holzschuch, p. 4
  Context:
    #5948CH Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field
      #BWJ55J 3 OUR ALGORITHM
        #4UR6QN 3.4 Blending and Continuity
  Matching excerpt #V6GRXX:
      To each advected grid i , we associate a domain R_i in the reference texture R , by associating (u, v) coordinates to each vertex of the grid at particle creation (in our implementation we choose the domains randomly). Each grid has its own texture mapping u_i(\mathbf{x}) , and its value at a given location \mathbf{x} is R(\mathbf{u}_i(\mathbf{x})) , where \mathbf{u}_i(\mathbf{x}) is obtained by interpolation of the values at grid nodes. At each frame, we reconstruct R' by blending the textured grids taking into account the distortion created by the advection, then display the final advected texture T' = F(R') . To ensure a continuous blending both in space and time, we associate a weight w_V to each vertex of the grid. The weight value of the grid i at a given location \mathbf{x} is w_i(\mathbf{x}) , obtained by interpolation of the values at grid nodes.

10. Source: Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field (#92XRH7),  Qizhi Yu, E. Bruneton, F. Neyret, N. Holzschuch, p. 6
  Context:
    #5948CH Lagrangian Texture Advection: Preserving both Spectrum and Velocity Field
      #BWJ55J 3 OUR ALGORITHM
        #W6ZWF7 3.5 Reconstruction and Rendering
          #9GCRR9 3.5.3 Discussion
  Matching excerpt #D7G8R5:
      The direct method is simpler and easier to implement, but needs to compute and store the whole texture, at the required resolution, for all channels. Depending on the geometry of the scene, the required resolution might be quite large (if there are textured objects close to the viewpoint, or if the surface being mapped is wide — e.g., a whole river), and required memory grows with the number of textured objects since visibility cannot be

11. Source: Real-time Rendering of Enhanced Shallow Water Fluid Simulations (#CWC7H9), Antonio Susín, Jesús Ojeda, p. 5
  Context:
    #3XLN3C Real-time Rendering of Enhanced Shallow Water Fluid Simulations
      #GKHL8Q 6. Results and Discussion
  Matching excerpt #5YQTJG:
      An improvement to the normal mapping for lower scale detail technique could be provided by also applying the technique from [9], in which multiple sets of texture coordinates are used and advected, already exploited in [2].

12. Source: A Sequential Two-Step Algorithm for Fast Generation of Vehicle Racing Trajectories (#G3TBNG), J. Christian Gerdes, John Subosits, Nitin R. Kapania, p. 1
  Context:
    #AP8Y4X A Sequential Two-Step Algorithm for Fast Generation of Vehicle Racing Trajectories
      #9ESKYT 2 Path Description and Vehicle Model
  Matching excerpt #9U5UE4:
      Figure 1 describes the parameterization of the reference path that the vehicle will follow. The reference path is most intuitively described in Fig. 1(a) as a smooth curve of Cartesian East-North coordinates, with road boundaries represented by similar Cartesian curves. However, for the purposes of quickly generating a racing trajectory, it is more convenient to parameterize the reference path as a curvature profile K that is a function of distance along the path s (Fig. 1(c)). Additionally, it is convenient to store the road boundary information as two functions w_{in}(s) and w_{out}(s) , which correspond to the lateral distance from the path at s to the inside and outside road boundaries, respectively (Fig. 1(b)). This maximum lateral distance representation will be useful when constraining the generated racing path to lie within the road boundaries. The transformation from the local s, K coordinate frame to the global Cartesian coordinates E, N are given by the Fresnel integrals:

13. Source: Real-time Rendering of River Networks (#MVUJ8Z), Quintijn Hendrickx, Rafael Bidarra, Ruben M. Smelik, p. 0
  Context:
    #BTQCB6 Real-time Rendering of River Networks
  Matching excerpt #M78ELM:
      and smooth curve rendered with only a very small number of vertices. Calculating the arc length along the Bézier curve allows us to map a texture onto the river surface. Adding a time-dependent offset t to this mapping will smoothly stream the texture along the curve.

14. Source: Advected river textures (#WZMZGY), Dirk Arnold, Stephen Brooks, Tim Burrell, p. 6
  Context:
    #JCB5RE Advected river textures
      #G2SPEY Previous Work
        #B2JVNM River Surface Advection
  Matching excerpt #RNVXG6:
      In addition, each river particle has the following properties: location in the input textures, birth location, age, current location in the river, and age at death. An advection particle pertains to a specific location in the input textures which does not change. For our application we use an animated texture comprised of a number of frames of individual textures. The location in the input textures refers to the same location in each texture, where one texture is a single frame of the texture animation.

15. Source: Advected river textures (#WZMZGY), Dirk Arnold, Stephen Brooks, Tim Burrell, p. 5
  Context:
    #JCB5RE Advected river textures
      #G2SPEY Previous Work
        #B2JVNM River Surface Advection
  Matching excerpt #W32P5Z:
      However, procedural techniques are not intended to simulate a fluid volume and so the static wave fronts must be transported such that they have the appearance of moving with the river. One can think of moving a carpet around a curved track. But our situation is more complex because we must simultaneously move every section of the carpet in a different direction and at a different speed. The principle behind texture advection is to transport or morph one or more textures over time based on a series of input parameters (see Figure 4). In our case, we use velocity and pressure information from the pseudo-3D fluid simulator to advect the wave texture using what we will call river particles. These particles are propagated through the fluid using the results of the velocity and pressure information from the NS simulation. A river particle is an encapsulation of a mathematical deviation function that describes how a particular section (texel) of a texture is to be propagated through space and time.

16. Source: Advected river textures (#WZMZGY), Dirk Arnold, Stephen Brooks, Tim Burrell, p. 2
  Context:
    #JCB5RE Advected river textures
      #G2SPEY Previous Work
        #7K7XWN Real-Time River Simulation
  Matching excerpt #LVP7HZ:
      Our hybrid approach to river simulation incorporates 2D Navier–Stokes, HSPs and texture advection in order to achieve the final result. We drive the simulation with

17. Source: Advected river textures (#WZMZGY), Dirk Arnold, Stephen Brooks, Tim Burrell, p. 2
  Context:
    #JCB5RE Advected river textures
      #G2SPEY Previous Work
  Matching excerpt #MNRCLS:
      Texture advection 12,37 transports colour based on a simulation or function. For our purposes we recast texture advection moving surface waves along a river as dictated by our fluid simulation. Kwatra et al. 38 recently tied texture synthesis to a full 3D NS solver. However, as they were not concerned with real-time performance, their technique is not immediately applicable to our problem domain. Their system required up to 200 seconds per frame in order to render a small volume of fluid and it can be argued that they remain somewhat artificial and procedural in appearance.

18. Source: Advected river textures (#WZMZGY), Dirk Arnold, Stephen Brooks, Tim Burrell, p. 6
  Context:
    #JCB5RE Advected river textures
      #G2SPEY Previous Work
        #B2JVNM River Surface Advection
  Matching excerpt #VLRKJC:
      This particle is then introduced into the fluid simulation and affected by the fluid simulation's velocity and pressure fields so that it moves through the river. As it moves it affects the resultant wave texture

19. Source: Advected river textures (#WZMZGY), Dirk Arnold, Stephen Brooks, Tim Burrell, p. 0
  Context:
    #JCB5RE Advected river textures
  Matching excerpt #VPL9P5:
      We present a new method for the realistic real-time simulation of rivers. Our solution includes a 2D fluid solver that simulates the flow of a river's surface, an efficient method for adaptively computing 3D flow information and an animated 3D procedural wave texture that is advected through the fluid via advection particles in order to mimic the highly detailed fluid surfaces that are characteristic of rivers. Our technique that couples animated texture advection with a pseudo-3D fluid simulation produces stable results that are representative of large-scale real-world rivers and suitable for use in real-time applications. Our system surpasses prior work on real-time river rendering both with regards to efficiency and visual quality, which we establish through the rendering of rivers tens of kilometers long. Copyright © 2009 John Wiley & Sons, Ltd.

20. Source: Scalable real‐time animation of rivers (#XDESU9), Eric Bruneton, Fabrice Neyret, Nicolas Holzschuch, Qizhi Yu, p. 2
  Context:
    #B9LYTR Scalable real-time animation of rivers
      #JW4T3Z 2. Previous work
        #HEUBG3 2.2. Fluid surface
  Matching excerpt #A3D4F8:
      Texture advection. Texturing is an effective way to add small scale details on a surface. For fluids we need a way to generate details that look like waves and ripples, and a method to advect them with the fluid. These requirements can be in conflict, unless the surface details are continuously regenerated. [MB95] advects texture coordinates and

Approximate matches

1. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 4
  Context:
    #JJE8HN Procedural Riverscapes
      #TFD8TX 5. River Network Amplification
        #S7JXXD 5.2. Riverbed Carving
  Score: 0.02
  Related excerpt #B77LY9:
      C(r) in Figure 3, but also depend on the local curvature of the river trajectory. They are normalized in the sense that their scale assumes unit area for water in the cross section, and when instantiated, they are scaled according to a factor derived from the flow \phi and elevation of the trajectory.

2. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 3
  Context:
    #JJE8HN Procedural Riverscapes
      #Z6DVCN 4. River Network Graph
  Score: 0.019
  Related excerpt #HS22AT:
      Next, graph nodes are labeled with the terrain slope s and river flow \phi values at their cell position. The latter is a measure of the volumetric rate at which water is carried down the river and an accurate estimation is problematic, since it depends on parameters such as rainfall and soil composition. Instead, we apply a simplified model based on an empirical power law observed in geomorphology [Dun78]: from drainage area A_{ij} [ m^2 ], the flow \phi_{ij} of the river [ m^3 s^{-1} ] is approximated by \phi_{ij} = 0.42A_{ij}^{0.69} . This equation takes into account evaporation and infiltration, which is why the volume of flow is not preserved.

3. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 7
  Context:
    #JJE8HN Procedural Riverscapes
      #NHDQDL 7. Implementation and results
  Score: 0.014
  Related excerpt #ACDG5B:
      Figures 1 show different views of an extensive river network, spanning a 3 \times 3 km terrain. The scene has the following statistics: an input digital elevation map with a per-pixel resolution of 100m, a river that extends for approximately 4km, more than 40,000 primitives forming the river surface, and a final terrain and water surface resolution of 10cm.

4. Source: Procedural Riverscapes (#AK7NGE), A. Peytavie, B. Benes, E. Galin, E. Guérin, J. Gain, T. Dupont, Y. Cortial, p. 5
  Context:
    #JJE8HN Procedural Riverscapes
      #TFD8TX 5. River Network Amplification
        #U4VCJG 5.3. Seeding Riverflow Primitives
  Score: 0.013
  Related excerpt #SYWNWN:
      To place riverflow primitives, an adaptive sampling process is performed over the riverbed domain \Omega_{\mathcal{R}} . Note that the density is adapted to the flow rate so that fewer, but larger primitives are placed in slow flowing areas. A riverflow primitive is placed at each sample position with its radius set according to the local density. This ensures overlap sufficient for a continuous blend between primitives in the blend-flow tree. The Rosgen type, river trajectory, longitudinal profile, surface flow and elevation, and riverbed topog-

5. Source: Terrain Generation Using Procedural Models Based on Hydrology (#DMTA8Y), Adrien Peytavie, Bedřich Beneš, Jean-David Génevaux, Éric Galin, Éric Guérin, p. 6
  Context:
    #RULAFW Terrain Generation Using Procedural Models Based on Hydrology
      #UAYDMD 6 Terrain Model Generation
        #ASA4YQ 6.1 River Primitives Generation
  Score: 0.017
  Related excerpt #82B72V:
      we refine river paths with respect to their type. They are subdivided into subpaths of lengths lower than a user-defined parameter. Positions and tangents of the new curves are randomly perturbed to create a variety of windings according to their type (Fig. 13).

6. Source: Terrain Generation Using Procedural Models Based on Hydrology (#DMTA8Y), Adrien Peytavie, Bedřich Beneš, Jean-David Génevaux, Éric Galin, Éric Guérin, p. 6
  Context:
    #RULAFW Terrain Generation Using Procedural Models Based on Hydrology
      #NDTMMW 7 Terrain Tree Definition
  Score: 0.013
  Related excerpt #EWKLCC:
      Each river primitive R_i is built from a curve skeleton that defines the river path \gamma and from a river profile function \delta that describes the river profile perpendicular to the curve (Fig. 16 right). We use a set of profiles \{\delta\} . Each profile is stored as a one-dimensional piecewise function that corresponds to the river type. The profile can be made of multiple layers that correspond to bedrock, water, and sand. The signed distance between \mathbf{p} and the curve \gamma is denoted d(\mathbf{p}) , and the projection of \mathbf{p} on \gamma is denoted u(\mathbf{p}) . We define

7. Source: Physically-based analytical erosion for fast terrain generation (#DWXKYQ), Boris Gailleton, Guillaume Cordonnier, Petros Tzathas, Philippe Steer, p. 4
  Context:
    #JDHNVB Physically-based analytical erosion for fast terrain generation
      #UE2TM4 4. Analytical solutions of the stream power law
        #QR788H 4.1. The method of characteristics for the stream power law
  Score: 0.015
  Related excerpt #MLVFNW:
      Our first observation is that the spatial component of the characteristic curve follows the direction of the topographic gradient \frac{\nabla z}{\|\nabla z\|} . Intuitively, this means that the elevation at any point x in the terrain will only depend on elevations downstream of x , by following the path of steepest gradients. We call this path a river path as this is the trajectory naturally followed by the water, and parameterize it by s , the distance between the bound ( s = 0 ) and any point on the path (Figure 3, left).

8. Source: Physically-based analytical erosion for fast terrain generation (#DWXKYQ), Boris Gailleton, Guillaume Cordonnier, Petros Tzathas, Philippe Steer, p. 4
  Context:
    #JDHNVB Physically-based analytical erosion for fast terrain generation
      #UE2TM4 4. Analytical solutions of the stream power law
        #S7W7HC 4.2. Recursive algorithm for the 1D analytical solutions
  Score: 0.014
  Related excerpt #YBEMQ4:
      Solutions based on dimensionless variables in 1D [RTP13] evaluates the solution at dimensionless positions, with a non-trivial mapping to real positions. Instead, we first propose a numerical evaluation of the analytical solutions (Eqn. 8) on the 1D case, at the real positions along the river path. We will explain in Section 4.3 how we use this solution to model 2D heightmaps. For now, we assume that all the values ( z_0 , u , a ) are known and stored in a 1D array. We denote by \delta x the spacing between cells of the array.

9. Source: Real-time Rendering of River Networks (#MVUJ8Z), Quintijn Hendrickx, Rafael Bidarra, Ruben M. Smelik, p. 0
  Context:
    #BTQCB6 Real-time Rendering of River Networks
  Score: 0.03
  Related excerpt #M78ELM:
      and smooth curve rendered with only a very small number of vertices. Calculating the arc length along the Bézier curve allows us to map a texture onto the river surface. Adding a time-dependent offset t to this mapping will smoothly stream the texture along the curve.

10. Source: Real-time Rendering of River Networks (#MVUJ8Z), Quintijn Hendrickx, Rafael Bidarra, Ruben M. Smelik, p. 0
  Context:
    #BTQCB6 Real-time Rendering of River Networks
  Score: 0.022
  Related excerpt #QGGCCR:
      The distance d to the corresponding projected pixel and the arc length L along the curve are calculated as shown in Figure 1a. The distance from the pixel to the curve is used to discard pixels that are not within the boundaries of the river. This results in an accurate

11. Source: Real-time Rendering of River Networks (#MVUJ8Z), Quintijn Hendrickx, Rafael Bidarra, Ruben M. Smelik, p. 0
  Context:
    #BTQCB6 Real-time Rendering of River Networks
  Score: 0.019
  Related excerpt #KNWKGF:
      Traditional tessellation methods for Bézier curves are typically unsuitable for junctions of curves. The produced geometry for each curve segment would overlap and not allow for complex blending between curves. Our method is able to visualize complex junctions by grouping overlapping segments into a single larger bounding quad. Each pixel in this quad will be projected onto all of the river segments. If a pixel maps onto multiple curves the final result will be interpolated based on the distance to these curves. Figure 1b shows the result of mapping a texture on a series of linked Bézier curves with a simple junction.

12. Source: Advected river textures (#WZMZGY), Dirk Arnold, Stephen Brooks, Tim Burrell, p. 5
  Context:
    #JCB5RE Advected river textures
      #G2SPEY Previous Work
        #B2JVNM River Surface Advection
  Score: 0.023
  Related excerpt #W32P5Z:
      However, procedural techniques are not intended to simulate a fluid volume and so the static wave fronts must be transported such that they have the appearance of moving with the river. One can think of moving a carpet around a curved track. But our situation is more complex because we must simultaneously move every section of the carpet in a different direction and at a different speed. The principle behind texture advection is to transport or morph one or more textures over time based on a series of input parameters (see Figure 4). In our case, we use velocity and pressure information from the pseudo-3D fluid simulator to advect the wave texture using what we will call river particles. These particles are propagated through the fluid using the results of the velocity and pressure information from the NS simulation. A river particle is an encapsulation of a mathematical deviation function that describes how a particular section (texel) of a texture is to be propagated through space and time.

13. Source: Advected river textures (#WZMZGY), Dirk Arnold, Stephen Brooks, Tim Burrell, p. 6
  Context:
    #JCB5RE Advected river textures
      #G2SPEY Previous Work
        #B2JVNM River Surface Advection
  Score: 0.021
  Related excerpt #RNVXG6:
      In addition, each river particle has the following properties: location in the input textures, birth location, age, current location in the river, and age at death. An advection particle pertains to a specific location in the input textures which does not change. For our application we use an animated texture comprised of a number of frames of individual textures. The location in the input textures refers to the same location in each texture, where one texture is a single frame of the texture animation.

14. Source: Advected river textures (#WZMZGY), Dirk Arnold, Stephen Brooks, Tim Burrell, p. 7
  Context:
    #JCB5RE Advected river textures
      #G2SPEY Previous Work
        #B2JVNM River Surface Advection
  Score: 0.013
  Related excerpt #Z63RNC:
      computation on 10 km river, but can be pre-computed and stored. When no particle remains in a cell, a new one is faded into existence with its birth location set to an average of its neighbors. This removes the situation where a section of a river becomes empty and also eliminates any visual popping that might occur at the introduction of new particles. As can be seen in Figure 5, particles travel together in loose groupings where particles instantiated in similar locations remain near to one another. Yet features such as vortices and directionally opposing fluid flows can still be seen.

15. Source: Advected river textures (#WZMZGY), Dirk Arnold, Stephen Brooks, Tim Burrell, p. 3
  Context:
    #JCB5RE Advected river textures
      #G2SPEY Previous Work
        #KV3Q48 Hydrostatic Pressure Columns
  Score: 0.013
  Related excerpt #C8PJ9C:
      where d is the length of the pipe (equal to the grid spacing) and the tops and bottoms of the pipes are the min and max of the tops and bottoms of the cells into which the pipe flows:

16. Source: Advected river textures (#WZMZGY), Dirk Arnold, Stephen Brooks, Tim Burrell, p. 4
  Context:
    #JCB5RE Advected river textures
      #G2SPEY Previous Work
        #KV3Q48 Hydrostatic Pressure Columns
  Score: 0.013
  Related excerpt #3FKGXS:
      where p_{ij} is the pressure at column (i, j) , and \text{rand}() returns a random value from r_{\min} = -0.05 to r_{\max} = 0.05 , such that the final value will be \pm 5\% of p_{ij} . It should be stressed that this step is optional since running simulations with and without the random variance produces results that look only slightly different. The main effect is due to the 3D pressure information.

17. Source: Advected river textures (#WZMZGY), Dirk Arnold, Stephen Brooks, Tim Burrell, p. 5
  Context:
    #JCB5RE Advected river textures
      #G2SPEY Previous Work
        #CSD47K Impulse Driven NS
  Score: 0.013
  Related excerpt #JS4LBU:
      It should also be noted that the flow speed of the river itself should be set in accordance to the grid cell size of the river in order to maintain grid size independent flow rates. For example, if the desired flow rate is 1.3 meters per second and the cell width is 1.0 unit, the flow rate should be set to one half the value of the same flow rate on a grid with a cell width of 2.0 units.

18. Source: Advected river textures (#WZMZGY), Dirk Arnold, Stephen Brooks, Tim Burrell, p. 5
  Context:
    #JCB5RE Advected river textures
      #G2SPEY Previous Work
        #CSD47K Impulse Driven NS
  Score: 0.013
  Related excerpt #CKRSAS:
      simulation. Such variances will result in a more, or less turbulent river. It is also possible to apply a maximum and/or minimum flow rate check in order to match the river flow to a desired look. In our examples, the random variance factor is set to be plus or minus 1%, and maximum and minimum flow speeds to be no more (or less) than 200 times greater than or less than the mean flow speed.

19. Source: Advected river textures (#WZMZGY), Dirk Arnold, Stephen Brooks, Tim Burrell, p. 6
  Context:
    #JCB5RE Advected river textures
      #G2SPEY Previous Work
        #B2JVNM River Surface Advection
  Score: 0.012
  Related excerpt #5FN7U3:
      where, \mathbf{u}(\mathbf{x}, t) is the particle's current position, and -\mathbf{u}(\mathbf{x}, t)\Delta t is the vector that we use to translate the particle back through time by the amount specified in \Delta t . Note that, as with the NS advection, this step will likely place the particle somewhere in between four grid cells, so we perform bilinear interpolation from the four neighboring grid cells to compute the end result.

20. Source: Advected river textures (#WZMZGY), Dirk Arnold, Stephen Brooks, Tim Burrell, p. 6
  Context:
    #JCB5RE Advected river textures
      #G2SPEY Previous Work
        #B2JVNM River Surface Advection
  Score: 0.012
  Related excerpt #K7SCA8:
      where a_c is the particle's current age, a_b its birth time, while l_c and l_b denote the particle's current and birth locations. A is a constant defining the average age of a particle and L determines the maximum distance a particle can be from its birth location without being transparent. For all our simulations we set A to be 1.5 seconds and L to be 5% of the total length of the river.

### 11. Assistant tool calls

#### Tool call: `write_note`

```json
{
  "block_ids": [
    "M78ELM",
    "QGGCCR",
    "KNWKGF",
    "W32P5Z",
    "YTDJGS"
  ],
  "text": "A coordinate transform that approximately straightens major rivers could double as a flow-aligned shader/UV parameterization. Treat one coordinate as downstream arc length and the other as signed cross-channel distance. This would simplify streaming normal/foam textures, procedural displacement, bank masks, width profiles, anisotropic highlights, and river-specific LOD. Existing river rendering supports the idea: arc length along a Bézier river is used for streaming texture coordinates (#M78ELM), distance to the curve defines river boundaries (#QGGCCR), and junctions blend coordinates from overlapping branches (#KNWKGF). Texture advection is otherwise difficult because a texture must move like a carpet around a curved track with spatially varying direction and speed (#W32P5Z). The transform would be a rendering parameterization, not a replacement for velocity simulation; junction singularities, distortion, and inverse-map/Jacobian handling remain important. Coarse 3D displacement is compatible with a 2D river animation model (#YTDJGS).",
  "title": "Drainage-aligned coordinates as a river-rendering parameterization"
}
```

### 12. Tool result: write_note

NOTE SAVED #CSFA49
IRI: https://m.sheaf.less.rest/CSFA49

### 13. Assistant

Yes—this is a good hunch. The transform could act as a **flow-aligned coordinate system** for rendering. If it approximately straightens the major rivers, then locally you could interpret

- $u$ as distance downstream,
- $v$ as signed distance across the channel.

In $(u,v)$ space, a winding river becomes approximately a straight strip. That makes several shader operations easier:

- scroll normal maps, ripples, foam, debris, and caustics downstream by replacing $u$ with $u-c t$;
- vary speed, width, roughness, and wave scale as functions of $u$;
- derive bank masks and cross-sectional profiles from $v$;
- orient anisotropic waves and highlights automatically along the flow;
- generate or tessellate a 3-D water ribbon, then transform it back into world space;
- allocate more geometric or texture detail to the important channels.

This is closely related to an existing river-rendering technique that uses **arc length along a Bézier river as one texture coordinate**, then adds a time-dependent offset to stream the texture (#M78ELM). Its second coordinate is effectively distance from the river curve, used to determine the channel boundary (#QGGCCR). Your transform might supply something like these coordinates globally—or at least over the major river network—rather than constructing them separately for every curve.

The biggest difficulty would be **confluences**: one rectangular strip cannot smoothly represent a branching network without seams, singularities, or overlapping charts. Existing work handles junctions by projecting onto several river segments and blending the results (#KNWKGF). So the practical version would probably be an atlas: one transformed chart per river branch, with special blending around junctions.

It would not replace fluid simulation—the transform straightens geometry, not necessarily the actual velocity field—but it could make a cheap procedural animation look much more coherent. Texture advection is difficult precisely because the texture must behave like “a carpet around a curved track” while different regions move at different speeds (#W32P5Z). Straightening the dominant tracks removes a substantial part of that difficulty.

So I would formulate the idea as: **the drainage-based transform may also provide a river-aligned rendering parameterization for procedural 3-D geometry and flow shaders.** I saved this connection as #CSFA49.
