Skip to main content
10 events
when toggle format what by license comment
Jun 16, 2015 at 16:02 history bounty awarded Alan Wolfe
Jun 16, 2015 at 16:02 vote accept Alan Wolfe
Jun 14, 2015 at 17:42 comment added bcrist Sorry, no I don't. In any case, even if NV/AMD/Intel did go on the record about this kind of thing, it doesn't preclude the possibility of things changing when new architectures are produced. The only way to "prove" it is to observe the behavior on a variety of hardware from different manufacturers.
Jun 14, 2015 at 17:34 comment added Alan Wolfe You don't happen to have any definitive proof of that being true do you? Something like a document from nvidia or anything similar? I do trust the source (IQ) but need something of the quality that i could cite in a research paper.
Jun 14, 2015 at 17:33 comment added bcrist @AlanWolfe "the hardware's texture interpolation units implement some simple interpolation based on 24.8 fixed point arithmetic. That's what all GPUs' hardware implments these days" In other words, unless you want to design your own GPU from the ground up, you're going to be stuck with this behavior. Your 2 texture reads method would result in a smooth d/dy, but the d/dx would still be plagued by discontinuities.
Jun 14, 2015 at 14:52 history edited DMGregory CC BY-SA 3.0
Clarifying that alternate methods do not increase the number of texture fetches.
Jun 14, 2015 at 14:42 comment added Alan Wolfe Oh also... I'd prefer not to canabalize the other color channels to get higher precision. Ideally i'd do one texture read and get 4 smoothly interpolated values. Figured that suggestion might be coming next so pre-emptively mentioning that (; Thanks again for the nice response man.
Jun 14, 2015 at 14:33 comment added Alan Wolfe Also i wanted to mention, there is an alternate method i mention in my question that also works well but takes 2 texture reads (instead of the 1 or the 4). You can modify your texture coordinates and do two reads such that it gives you back two linear filtered (not bilinear filtered) samples that have been lerped across the x axis, then you can do the y axis mix in the fragment shader. It's not as good as reading all 4 in, but it is better than just doing the 1 read!
Jun 14, 2015 at 14:31 comment added Alan Wolfe IQ is amazing isn't he? (: Very high quality answer but unfortunately, I've seen this already and it doesn't help my situation. I'm trying specifically to not have to do more texture reads, and also unfortunately I really do need these specific values between these 4 pixels (I'm using bilinear sampling to do bilinear interpolation of data stored in a texture). My hope is that there's some extension, or alternate texture format that will actually give me better results. I'm hoping for a different answer, but will accept yours if none come :P
Jun 14, 2015 at 14:06 history answered DMGregory CC BY-SA 3.0