- I’m Kexuan Zhang, a 🎮game/🫖graphics programmer, and also a PhD student in Virtual Reality & High-Performance Graphics.
- This is my personal blog where I share my thoughts on game/graphics programming, VR techniques, and more.
- 👉 Learn more about me 👈
TrackPoint is Dead after Resuming?
If you are using ThinkPad 51nb’s X210 with Arch Linux and Hyprland, you might have the problem that the TrackPoint is not working after resuming from sleeping. Why the TrackPoint doesn’t work after resuming It’s the firmware problem. The TrackPoint won’t properly wake up from sleep mode. Workaround Temporally, you can use two lines of commands to restart the TrackPoint: 1 2 sudo modprobe -r psmouse sudo modprobe psmouse resetafter=0 If you don’t want to type those commands before closing the lid and after opening the lid, you can write a system daemon script: ...
Considering Transfering to Nvidia Render Interface (NRI)
I recently found NRI and it’s really great. Unlike NVRHI, NRI has a cleaner design and modern Vulkan/DX12-ish low-level APIs. It also supports many modern features with official support, such as DLSS. As a PhD student specialising in VR & HPG, NRI seems to be the best RHI for my needs. NRI GitHub link: https://github.com/NVIDIA-RTX/NRI NRI is a modular, extensible, low-level abstract rendering interface that was designed to support all low-level features of D3D12 and Vulkan GAPIs. At the same time, it aims to simplify usage and reduce the amount of code needed (especially compared with VK). ...

Depth Pre-Pass and Early-Z
We may have heard of these keywords: Depth Pre-Pass and Early-Z. But what situations do we actually need them for? Overdraw When rendering a complex 3D scene, multiple fragments may map to the same pixel on the screen — for example, when one object is in front of another. The GPU will still execute the fragment shader for each layer of geometry, even though only the nearest fragment is visible in the final image. This redundant work is called overdraw. ...

How to Check if Godot Is Paused at Breakpoints
How to check if Godot is paused at breakpoints in a tricky way?
Why Hugo
Why Hugo? Why not VuePress / Hexo?
Hugo PaperMod Customization
How to customize Hugo with theme PaperMod? Here are the instructions.

Essential Test
Essential test for blog post writting.