[HN Gopher] Practical Real-Time Hex Tiling ___________________________________________________________________ Practical Real-Time Hex Tiling Author : adamrezich Score : 130 points Date : 2022-07-18 15:53 UTC (7 hours ago) (HTM) web link (github.com) (TXT) w3m dump (github.com) | jayd16 wrote: | Anyone have an elevator pitch of the dithering technique? Is it | consistent across mip levels and camera angles? Does it take | samples or is it just math? | max_ wrote: | Also, a relevant project Wave Function Collapse[0] [0]: | https://github.com/mxgmn/WaveFunctionCollapse | l0b0 wrote: | Are there any popular game mods implementing hex tiling in | originally square-tiled games? A lot of classics, like Skyrim, | should look a lot better when viewing tiled surfaces at a | distance. | billconan wrote: | > Using hex-tiling allows us to hide the repetition but requires | a solution to hide the seams between adjacent hex tiles. | | I don't understand this part. If I use square tiles and hide the | seams between adjacent tiles, will it look OK? What's the benefit | of using hex tiles? | pugworthy wrote: | You don't get the typical visual repetition of features along | X/Y lines | jayd16 wrote: | You could use world position (or just some non-uniform | sampling) to offset the UVs and get a similar effect, no? Is | hex significant or is it just one of any number of ways to | break up the uniformity? | carbadtraingood wrote: | In practice, yes, it's very common to use a shader to | sample the texture with some rotation and noise. Most games | have a shader level implementation to address this, and | we've done that for a decade at least. | | See: https://iquilezles.org/articles/texture repetition/ | for a good breakdown on some techniques. | adamrezich wrote: | the URL should have been | https://iquilezles.org/articles/texturerepetition but | this is indeed a great resource | rootlocus wrote: | > If I use square tiles and hide the seams between adjacent | tiles, will it look OK? | | Square tiling is very obvious, as you can see from the first | example [0]. Hex tiling shifts tiles to a less obvious pattern. | Also, as I can see from the video, tiles can be rotated while | hiding the seams perfectly, which eliminates repetition | altogether. | | 0. | https://github.com/mmikk/mmikk.github.io/blob/master/picture... | BeeOnRope wrote: | Is that first example comparing squaring filing with the same | _fixed_ rotation for each tile versus hex-tiling with random | or otherwise varying rotation? | ajuc wrote: | Nice, but the example is unfair, you can make rect tiling look | just as good. | capableweb wrote: | With a single texture and without wasting a bunch of | performance modifying/filtering it on the fly? How exactly? | Would make a great addition to this discussion :) | agweber wrote: | I wonder if having a single texture and randomly rotation it | with blending the edges on a square grid would look just as | good or not. The texture would just have to be larger than | the tile it covers | hypertele-Xii wrote: | In another comment this was linked: | https://iquilezles.org/articles/texturerepetition/ | | It _does_ waste performance, that 's unavoidable. | kibwen wrote: | Hex grids are the dual of triangle grids, right? Does the | approach here also apply to triangle grids? | adamrezich wrote: | I think the "gradient around the edges" of the tiles might work | better with hexagons than triangles | teej wrote: | You may also enjoy this post originally from The Witness game dev | blog: The Nebraska Problem. It's about how to arrange a series of | sprites to avoid visible seam patterns in between them. | | https://news.ycombinator.com/item?id=7692332 | jstanley wrote: | Wow, this looks incredibly good considering that the solution for | hiding the seams is just to blend things together with a noisy | gradient. (EDIT: Or I've misunderstood how it works!) | | I assume it works a lot less well on more isotropic textures | (e.g. what does wood grain look like?) than on the examples | presented here. | | What do pathological cases look like? | lattalayta wrote: | Here are some of the original papers for the technique. | Although I believe there have been some updates and | improvements since. | | https://hal.inria.fr/hal-01824773/file/HPN2018.pdf | https://www.jcgt.org/published/0008/04/02/paper.pdf | Pxtl wrote: | I'm also curious how this would work with a regular grid | instead of hex-tiled. That is, if you blended the seams and | randomly rotated each square as they do with hex-tiling, would | it still look good? | | And are they splatting a random hexagonal sample from a | repeating tiled plane, or are they splatting the exact same | image, but arbitrarily rotated? That is, are they using the | fact that the image tiles cleanly or does this technique | completely obviate the need to use a tiled image? ___________________________________________________________________ (page generated 2022-07-18 23:00 UTC)