<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/a-texture-lookup-approach-to-b-zier-curve-evaluation-on-the-gpu-jcgt--xvuartlie" -->

---
title: A Texture Lookup Approach to Bézier Curve Evaluation on...
description: A peer-reviewed paper published in the Journal of Computer Graphics Techniques presents a technique for evaluating Bézier curves on the GPU using...
canonical: https://daily.dev/posts/a-texture-lookup-approach-to-b-zier-curve-evaluation-on-the-gpu-jcgt--xvuartlie
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: A Texture Lookup Approach to Bézier Curve Evaluation on the GPU (JCGT) | daily.dev
og:description: A peer-reviewed paper published in the Journal of Computer Graphics Techniques presents a technique for evaluating Bézier curves on the GPU using...
og:url: https://daily.dev/posts/a-texture-lookup-approach-to-b-zier-curve-evaluation-on-the-gpu-jcgt--xvuartlie
og:image: https://api.daily.dev/og/posts/XVuaRTlIE.png
og:image:alt: A Texture Lookup Approach to Bézier Curve Evaluation on the GPU (JCGT)
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# A Texture Lookup Approach to Bézier Curve Evaluation on the GPU (JCGT)

**[Hacker News](https://daily.dev/sources/hn)** · 1 min read · 1 upvotes · 0 comments

## Summary

A peer-reviewed paper published in the Journal of Computer Graphics Techniques presents a technique for evaluating Bézier curves on the GPU using fixed-function linear texture interpolation hardware. By offloading curve evaluation to the texture interpolator, the method can improve performance in compute-bound GPU workloads. It extends naturally to Bézier surfaces and volumes, and supports advanced curve types including B-splines, NURBS, and rational polynomials. The paper also incorporates Seiler interpolation for improved efficiency and benchmarks performance and accuracy against polynomial-based shader evaluation.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://jcgt.org/published/0015/02/01>

## Community take

How the wider developer community reacted, aggregated from 1 discussion and 9 comments across hackernews (as of 2026-07-29).

**TL;DR:** The community is largely positive and technically engaged, appreciating the clever use of fixed-function texture hardware for Bézier evaluation, while also noting the work builds on prior research by Yuksel and Lin et al.

**Sentiment:** 75% positive · 20% mixed · 5% skeptical

**The case for**

- Using fixed-function texture interpolation hardware offloads compute work and could be beneficial even if not faster on all hardware (e.g., mobile).
- The technique is a clever insight — a 2D bilinear texture sample can evaluate a cubic Bézier, and the trilinear diagonal of a cube naturally forms a cubic Bézier.
- The approach generalizes to any polynomial curve type (B-splines, Catmull-Rom, etc.) via matrix conversion of control points.

**The pushback**

- The core theoretical heavy-lifting appears to have been done in prior work (Lin et al., Yuksel 2024), raising questions about the novelty of this paper's contribution.

**By community**

- hackernews (positive): Commenters are technically enthusiastic and dive deep into the math, though several note the paper builds substantially on prior work by Yuksel and Lin et al.

**Hottest debate:** Whether this paper's contribution is sufficiently novel given prior work by Yuksel (2024) and Lin et al. that already covered much of the same ground.

**Open questions**

- Could a quadratic B-spline be evaluated using a 2D 2×(N+1) texture to amortize cost across segments?
- Does Seiler interpolation have applications outside of graphics, given that Bézier curves are used in many other domains?
- Was the Karatsuba algorithm an inspiration for Seiler interpolation's reduction of six interpolations to three?

**Highlights**

> This is very cool, a clever technique to get cubic Bezier evaluation using a single 2D 2x2 bilinear texture sample. (Hi Alan!) I’m not sure I realized that the trilinear diagonal of a cube is a cubic Bezier (but when you say it that way it seems more obvious :P plus it makes sense with control points a,b,c,d you have 1 a, 3 bs and cs, and 1 d - the coefficients of the cubic equation) The Seiler representation feels in a way similar to Hermite; it’s still a Bezier with the 2 endpoints, and the interior 2 control points use a convenient differential form. Kind of amazing the perf is as good as using shader code, FMA instructions or whatever. I would make the argument that this is useful even if slower (and it might be on, say, mobile hardware), since you are offloading work to the texture hardware. It’s like adding extra FMA units to the machine. This makes me wonder if there’s some way to evaluate a quadratic B-spline using a 2D 2x(N+1) texture, sharing a texture edge with the neighbor segment, so the amortized cost of a segment is ~2 texels instead of 4… Oh also the paper mentions Boehm’s algorithm for converting Bezier to B-spline. Note that if you lookup Boehm’s algorithm it will look crazy complicated, but you can convert the control points of a cubic Bezier to a cubic uniform B-spline with a single matrix-matrix multiply. This is true for converting to/from Catmull-Rom as well, plus I think any type that’s cubic polynomial. You lose the vertex sharing, but that’s already gone with texture sampling - so this paper will automatically work on any polynomial curves, not just Bezier.
> — [dahart on hackernews](https://news.ycombinator.com/item?id=49097608)

> This builds on that paper, apparently: > Yuksel [2024] explained how Seiler interpolation can be used to evaluate polynomial curves, including B´ezier curves, and noted that GPU linear interpolation could be used for the initial linear interpolation steps, with the remaining interpolations done in shader code. > In this paper, we present the details of evaluating Bézier curves using hardware-accelerated linear texture interpolation and show how to perform all interpolations on the hardware, using both the de Casteljau algorithm and Seiler interpolation. We also compare performance and accuracy against curves evaluated as polynomials in shader code.
> — [vanderZwan on hackernews · 1 comments](https://news.ycombinator.com/item?id=49100667)

> I never heard of the Seiler interpolation algorithm mentioned in the paper before, but the way it uses extra additions and subtractions up-front to turn six interpolations into only three reminds me a bit of the Karatsuba algorithm for multiplication[0]. I wonder if that was an inspiration for it? Also makes me wonder if this will have uses outside of graphics? Bézier curves are used in other contexts too, aren't they? [0] https://en.wikipedia.org/wiki/Karatsuba_algorithm
> — [vanderZwan on hackernews](https://news.ycombinator.com/item?id=49100789)

> Looks like the theoretical heavy-lifting was done by Lin et al. https://onlinelibrary.wiley.com/doi/10.1111/cgf.14377
> — [diabllicseagull on hackernews · 1 comments](https://news.ycombinator.com/item?id=49098611)

**Source threads**

- [hackernews](https://news.ycombinator.com/item?id=49096742) · 29 points · 9 comments

## Similar posts on daily.dev

- [GPU view-adaptive crack-free subdivision of Bézier surfaces](https://daily.dev/posts/gpu-view-adaptive-crack-free-subdivision-of-b-zier-surfaces-mexwzl84g) · AMD GPUOpen · 0 upvotes · 0 comments
- [Fast calculation of the distance to cubic Bezier curves on the GPU](https://daily.dev/posts/fast-calculation-of-the-distance-to-cubic-bezier-curves-on-the-gpu-h77osvxoc) · Hacker News · 3 upvotes · 0 comments
- [Graphics Programming weekly - Issue 449 - August 2nd, 2026](https://daily.dev/posts/graphics-programming-weekly---issue-449---august-2nd-2026-5w0heix75) · Jendrik Illner · 2 upvotes · 0 comments
- [Richard Geldreich's Blog: Neural block textures vs. GPU textures](https://daily.dev/posts/richard-geldreich-s-blog-neural-block-textures-vs-gpu-textures-vko2ynise) · Richard Geldreich's Blog · 0 upvotes · 0 comments
- [The mathematical beauty of hyperbezier curves](https://daily.dev/posts/the-mathematical-beauty-of-hyperbezier-curves-zyzursfmh) · Lobsters · 1 upvotes · 0 comments

---

Tags: [#game-development](https://daily.dev/tags/game-development), [#gpu](https://daily.dev/tags/gpu), [#graphics-programming](https://daily.dev/tags/graphics-programming)

[View this post on daily.dev](https://daily.dev/posts/a-texture-lookup-approach-to-b-zier-curve-evaluation-on-the-gpu-jcgt--xvuartlie)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"A Texture Lookup Approach to Bézier Curve Evaluation on the GPU (JCGT)","url":"https://daily.dev/posts/a-texture-lookup-approach-to-b-zier-curve-evaluation-on-the-gpu-jcgt--xvuartlie","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/a-texture-lookup-approach-to-b-zier-curve-evaluation-on-the-gpu-jcgt--xvuartlie"},"datePublished":"2026-07-29T16:13:13.306Z","dateModified":"2026-07-29T21:43:42.238Z","description":"A peer-reviewed paper published in the Journal of Computer Graphics Techniques presents a technique for evaluating Bézier curves on the GPU using...","image":"https://media.daily.dev/image/upload/s--VDukGCjf--/f_auto/v1722860399/public/Placeholder%2002","thumbnailUrl":"https://media.daily.dev/image/upload/s--VDukGCjf--/f_auto/v1722860399/public/Placeholder%2002","isAccessibleForFree":true,"articleSection":"Hacker News","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Hacker News","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn","url":"https://daily.dev/sources/hn"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/a-texture-lookup-approach-to-b-zier-curve-evaluation-on-the-gpu-jcgt--xvuartlie","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"game-development,gpu,graphics-programming","timeRequired":"PT1M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Hacker News","item":"https://daily.dev/sources/hn"},{"@type":"ListItem","position":3,"name":"A Texture Lookup Approach to Bézier Curve Evaluation on the GPU (JCGT)"}]}
```

