TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Bilinear interpolation on a quadrilateral using Barycentric coordinates

143 pointsby mariuzabout 1 month ago

9 comments

Kleptineabout 1 month ago
To answer some of the questions here, the reason this has not been used before is because this technique requires being able to access the quad definitions (ie. which 4 vertices makeup each quad) within the gpu.<p>Up until recently with Mesh Shaders, there&#x27;s really just been no good way to send this data <i>to</i> the GPU and read back the barycentric coordinates you need in the fragment shader for each pixel.<p>The article offers several options, to support older GPUs, like Geometry Shaders and Tesselation shaders. This is good, but these are really at best Terrible Hacks(tm). Proof of the ability to contort old extensions is not proof of reasonable performance!<p>Notably, geometry shaders are notorious for bad performance, so the fact that they list them as a viable strategy for older devices makes it pretty clear they aren&#x27;t thinking much about performance, just possible compatibility.<p>Still, I think this is very cool, and now that GPUs are becoming much more of a generic computing device with the ability to execute arbitrary code on random buffers, I think we are nearly at the point of being able to break from the triangle and fix this! We hit this triangulation issue several times on the last project, and it&#x27;s a real pain.
hnuser123456about 1 month ago
This is one of those things that feels like a broken&#x2F;half-assed&#x2F;oversimplified implementation got completely proliferated into the world a long time ago and it took several years for the right person to do a full-depth mathematical analysis to reveal what we should&#x27;ve been doing all along. Similar to antialiasing and sharpening, texture filtering, color spaces and gamma correction, etc.<p>It reminded me of this article specifically: <a href="https:&#x2F;&#x2F;bgolus.medium.com&#x2F;the-best-darn-grid-shader-yet-727f9278b9d8" rel="nofollow">https:&#x2F;&#x2F;bgolus.medium.com&#x2F;the-best-darn-grid-shader-yet-727f...</a>
评论 #43656383 未加载
评论 #43659350 未加载
评论 #43657517 未加载
评论 #43656323 未加载
评论 #43656964 未加载
评论 #43656629 未加载
bla328 days ago
How does this compare to <a href="https:&#x2F;&#x2F;jcgt.org&#x2F;published&#x2F;0011&#x2F;03&#x2F;04&#x2F;paper.pdf" rel="nofollow">https:&#x2F;&#x2F;jcgt.org&#x2F;published&#x2F;0011&#x2F;03&#x2F;04&#x2F;paper.pdf</a>? It seems superficially pretty similar.
westurnerabout 1 month ago
&#x2F;? Barycentric<p>From &quot;Bridging coherence optics and classical mechanics: A generic light polarization-entanglement complementary relation&quot; (2023) <a href="https:&#x2F;&#x2F;journals.aps.org&#x2F;prresearch&#x2F;abstract&#x2F;10.1103&#x2F;PhysRevResearch.5.033110" rel="nofollow">https:&#x2F;&#x2F;journals.aps.org&#x2F;prresearch&#x2F;abstract&#x2F;10.1103&#x2F;PhysRev...</a> :<p>&gt; <i>More surprisingly, through the barycentric coordinate system, optical polarization, entanglement, and their identity relation are shown to be quantitatively associated with the mechanical concepts of center of mass and moment of inertia via the Huygens-Steiner theorem for rigid body rotation. The obtained result bridges coherence wave optics and classical mechanics through the two theories of Huygens.</i><p>Phase from second order amplitude FWIU
sabslikesobsabout 1 month ago
Very interesting! This reminds me of how stumped I was learning about UV unwrapping for texturing. Even simple models are difficult to unwrap into easily editable textures. &quot;Why can&#x27;t I just draw on the model?&quot;<p>Blender has a few plugins these days that make it a lot easier --- one that impressed me was Mio3 UV: <a href="https:&#x2F;&#x2F;extensions.blender.org&#x2F;add-ons&#x2F;mio3-uv&#x2F;" rel="nofollow">https:&#x2F;&#x2F;extensions.blender.org&#x2F;add-ons&#x2F;mio3-uv&#x2F;</a>
评论 #43662629 未加载
GolDDranksabout 1 month ago
I am definitely not an expert in 3D graphics... but this looks such an astonishingly simple and effective method, it makes me to question why this wasn&#x27;t already thought of and picked up?<p>I get that with fixed-pipeline GPUs you do what the hardware and driver make you do, but with the advent of programmable pipelines, you&#x27;d though improving stuff like this would be the first things people do?<p>Anyway, gotta run and implement this in my toy Metal renderer.
评论 #43657087 未加载
评论 #43657112 未加载
评论 #43656483 未加载
评论 #43664255 未加载
julian9499about 1 month ago
This actually seems quite easy to implement. Any thoughts on the performance hit a program takes when going this route instead of using one of the workarounds?
评论 #43657447 未加载
MeteorMarcabout 1 month ago
Is this really new? Will it become an option in Unity, Unreal and the like? The results seem convincing!
textlapseabout 1 month ago
(deleted)
评论 #43657667 未加载