- the paper presents a new technique that uses a neural network to reconstruct foveated rendering from sparse source data
![DeepFovea.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-107/DeepFovea.png&key=f756b2a911d7c4ea354dd210751424853e0ac73e165680f9053a3da96bd2e76c)
- the article provides an overview of the new API that allows users to request the underlying D3D12 resources from an application that is using the D3D9 on D3D12 layer
![d3d12_logo.jpg](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-107/d3d12_logo.jpg&key=34bc96870ad69e8e8d94b0896aa3536a81530735477260fbdbcb389d51668e2d)
- the article proposes a technique that uses a random texture to perturb the normals of dunes to simulate the variation caused by sand grains
![journey_icon.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-107/journey_icon.png&key=c6621a95a33f593fcce42010b3781ed1b3861d2045eacf24eb66a57a4c98e63b)
- the article provides an overview of how Vulkan descriptor set management influences CPU performance
- provides 3 possible solutions to the problem
- showing how they affect both performance and application implementation
- suggest a descriptor set caching scheme combined with using a single VkBuffer to store uniform data
![VulkanDescriptorManagement.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-107/VulkanDescriptorManagement.png&key=9fdacd4226bde619c60863b3548f2a24a26b3a6ae534fdc2925a8e3d5aae0326)
- D3D12 is adding two new flags for memory heap creation
- D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT, the heap is created non-resident state to enable EnqueueMakeResident to be used for heaps
- D3D12_HEAP_FLAG_CREATE_NOT_ZEROED enables an optimization that allows non-zeroed pages to be returned
![d3d12_memory.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-107/d3d12_memory.png&key=c02bb1059e567a66db952b3490a74f0b138ecc74d8972208147ba465b349b379)
- the article proposes a solution for voxel rendering
- voxel scene is pre-calculated into multiple vertical slices
- each slice is represented by an image and stores all voxel in the slice
- additionally contains a logic summary on how to procedurally generate a voxel-based island
![voxel_island.jpg](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-107/voxel_island.jpg&key=ffd75b1207de74b191661b42602120e15baa2e006b70023cd6bc2451e9fbe78c)
- brief article explains how to detect particle overdraw using the PowerVR profiler
- suggest to disable anisotropic filtering and use close fit meshes for particles
![powervr_particles.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-107/powervr_particles.png&key=9d128d87b9f63d8ea09eee943e43ec88b892c97a8c473f6b561497d2fe4e0e9e)
- the author mentions the new rendering features of Disneys’ Hyperion Renderer that have been used on Frozen 2
- contains a large selection of stills from the movie
![FROZ2_17.jpg](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-107/FROZ2_17.jpg&key=a378846a984e132c461ffa05ec6515cb0e23ad6b60b9ab016ad90c263f05783f)
- collection of tweets showcasing a large number of effects, games and technical art resources
![technically_art_43.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-107/technically_art_43.png&key=eeb780391b98d95411712044f2230d4758289b2d9591f37707dfc14e94e42517)
Thanks to Aras Pranckevičius for support of this series.
Would you like to see your name here too? Become a Patreon of this series.