• TinkersW 2 hours ago

    An actual 3D block based format would be useful, currently on PC at least the only formats are for 2D textures. They do work for 3D textures, but in 2D slices so the result is not as good as it could be. Also the only 1 channel format is BC4 which is .5 byte per entry, and has 2 encodings modes, but the 2nd one is mostly useless for an SDF, so that is a waste.

    I'd prefer a 1 per byte entry option for higher detail, no need for any fancy modes, needs to be simply and fast to encode so it can be done realtime.

    IDK about this post though, separating the block min/max into a separate memory location from the indices doesn't make much sense, you could just access a less detailed mip if that is what you want.

    • cpgxiii 2 hours ago

      > This makes SDF amenable to implementation in GPU hardware, though to date no hardware has been designed specifically to accelerate SDF.

      This isn't entirely correct. Nvidia GPUs can perform interpolation on 3D textures, which is specifically useful for performing finer distance queries on a 3D SDF.

      • atq2119 29 minutes ago

        Not sure why you feel the need to call out Nvidia. Interpolation of 3D textures has been a standard feature in graphics APIs for a very long time.

        But the author is correct in that this isn't specifically geared towards SDFs.