My work itself is largely focused around performance and trying to get our games to work as well as possible across many different platforms. I also do some new feature development, though that has mainly been focused on implementing efficient replacements for nice but expensive effects. Near releases my focus also shifts when needed to help out with various crashes or other bugs.
Most of my work is spent capturing frames in graphic debuggers, analyzing them to identify issues, then implementing necessary performance improvements. For a fairly representative example you can read this article I wrote about one aspect of my work for Lost in Random: https://agentlien.github.io/fog . It doesn't go very deep into technical details since it was more aimed at people with some technical knowledge curious about game development rather than fellow graphics programmers. As such it doesn't mention the actual performance optimizations brought up during my internal presentation at the company.
As for necessary skills: A lot of it is simply low level programming and knowledge about the target hardware. There's also the specific knowledge of graphics APIs and the languages and tools to work with them. When it comes to math there's a very heavy focus on linear algebra, even more so than in game development overall. Everything is about vertices and transforms applied to them. For modern shaders there's also a fair bit of calculus since everything from BRDFs in physically based rendering to effects such as ambient occlusion are described using integrals.
Most of my work is spent capturing frames in graphic debuggers, analyzing them to identify issues, then implementing necessary performance improvements. For a fairly representative example you can read this article I wrote about one aspect of my work for Lost in Random: https://agentlien.github.io/fog . It doesn't go very deep into technical details since it was more aimed at people with some technical knowledge curious about game development rather than fellow graphics programmers. As such it doesn't mention the actual performance optimizations brought up during my internal presentation at the company.
As for necessary skills: A lot of it is simply low level programming and knowledge about the target hardware. There's also the specific knowledge of graphics APIs and the languages and tools to work with them. When it comes to math there's a very heavy focus on linear algebra, even more so than in game development overall. Everything is about vertices and transforms applied to them. For modern shaders there's also a fair bit of calculus since everything from BRDFs in physically based rendering to effects such as ambient occlusion are described using integrals.
I hope that answers your question.