3 ms·
Damn... burning rendered tracking ID into the background. That's pretty crude. They must've been pressed on time.
by huhtenberg 8y ago
Damn... burning rendered tracking ID into the background. That's pretty crude.
They must've been pressed on time.
- wlesieutre 8y agoThey already have a text rendering system for the UI, and it only needs to render to a texture once, then just keep it around and overlay it on every frame. Stuffed into a square format because that's how GPUs like textures. At that point, the GPU doesn't care if it's overlaying text or something like a barcode. The main priorities would be resilience to image/video compression, and being large enough that you can't just crop it out of screenshots, while not impeding gameplay. Since it's only for the unstable testing builds, why spend more time than necessary implementing it? Is there something I'm missing about what's wrong with this approach?
- huhtenberg 8y ago> something I'm missing Instead of hiding an image of a text in a layer, they could've encoded the text itself (i.e. the ascii values) into the texture. That's trivial to do and doesn't produce visually-discernible artifacts as per above.
- tjoff 8y agoThat wouldn't be as robust against compression artifacts and rescaling.
- huhtenberg 8y agoWhy wouldn't it? They render ID into rasterized text (blocks of pixels) and blend in these blocks. But they could've just as easily rendered raw 0s and 1s of the ID into blocks the exact same way. It just would've not looked like text, but as a random pattern.
- tjoff 8y agoMaybe I'm not getting what you are saying. But a rasterized text has a lot more information about each character than the raw ASCII values. If you halve the resolution or add compression artifacts an OCR will still pick it up. If they rendered raw binary data they would have to add lots of redundant information as well as spreading it out over a large enough area. Maybe that's what you meant but didn't fit the 'trivially to do' part for me. Seems a lot easier to just render the text.
- wlesieutre 8y agoIt probably could be if you represented the data with fairly large blocks, but I don't see the point either way. Sure they could have more directly encoded ASCII into texture data, but why bother when they already have a system in place for rendering ASCII to a texture as text? It'd be overkill if they were building this feature from the ground up starting with nothing but a string, but they weren't.
- rripken 8y agoI agree - Steganography applied to the textures. I haven't seen steganography used that way before but if its done right you don't see it at all.
- deleted 8y ago[deleted]