3 posts published by Martin Fuller's Graphics Ramblings during January 2023| Martin Fuller's Graphics Ramblings
While working on Indiana Jones and the Great Circle and later DOOM: The Dark Ages, it became apparent that both titles are particularly sensitive to anisotropic sampling cost on the Xbox Series consoles. This is despite both having very different renderers, Indiana Jones uses what I would best describe as a semi-forward system, while Doom […]| Martin Fuller's Graphics Ramblings
DRS is one of those technique that is a lot easier to implement on console than PC, or perhaps more accurately, its easier to run closer to the wire, maximising GPU use without dropping frames. My previous post on dynamic resolution scaling briefly touched on this, however I’ve received a couple of PM’s asking for […]| Martin Fuller's Graphics Ramblings
I often find its useful to have four threads (or lanes, depending on your preferred parlance) collaborate on 2×2 pixels. Traditionally this would be done with group shared memory. However with Shader Model 6, we have the QuadReadAcrossX/Y/Diagonal intrinsics. The advantage of these intrinsics instead of that group shared memory is that group shared memory […]| Martin Fuller's Graphics Ramblings
I got my break as a graphics engineer working on the first Shadowman title at Acclaim, starting before graduating, though I did graduate. Shadowman2 was my first full game, and the studio’s first PS2 title. Development was troubled to say the least. I stuck it out, writing all of the core rendering code, mostly in […]| Martin Fuller's Graphics Ramblings
Here’s a trick for lossless storage of ‘normal’ floating point numbers I came up with years ago, but was only reminded of recently. Realising I haven’t seen it anywhere else since, time for a blog. The IEEE754 single precision ‘float’ is ubiquitous in computer graphics, and much better undertood than it used to be, thanks […]| Martin Fuller's Graphics Ramblings
This is a simple trick I came up with years ago. I’ve finally decided to create a blog and share a little with the community, wish me luck! In computer graphics you often end up storing min/m…| Martin Fuller's Graphics Ramblings
Modern GPU’s feature sophisticated instruction sets for executing shaders. However this blog details how difficult and unintuiative it can be to have the shader compiler leverage the optimum …| Martin Fuller's Graphics Ramblings
There was a point early in console Gen8, where I’d had some involvement in over half the published DRS implementations, anything from providing advice to hands on coding. Subsequently DRS has becom…| Martin Fuller's Graphics Ramblings