- the article presents what kind of artifacts happen when reconstructing normals from world space positions
- suggests how to reduce the artifacts by selecting triangles that are most likely to have originated from the same object
- additionally shows how to use compute shaders and group shared memory to optimize the reconstruction
![normal_discontinuity_2.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-99/normal_discontinuity_2.png&key=d1fb63bd5eb4e4978812f94fe69450414ad9f1d01496df64500f6c1626ad2930)
- the paper presents a method that allows SDFs to be combined with techniques such as linear skinning
- this is achieved by calculating a triangle mesh hull for the SDF, applying the transformation to the hull and using this to trace
- tracing linearly in transformed space follows a non-linear trace in untransformed space
![non_linear_sphere_tracing.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-99/non_linear_sphere_tracing.png&key=8bc537dae5d6890a7cda4e215da937a98d36b21f246fe98c8601fbb06e9495a9)
- overview of what has been improved in the latest apple GPU architecture and metal
- sparse textures, what it is, use cases and explanation of how to use it
- rasterization rate maps, mask that allows defining non-linear mapping between virtual and physical render targets
- vertex amplification specifies which vertex calculations can be shared between multiple viewports and which ones are unique per viewport
- better argument buffers, allow access to 500k textures and multiple levels of indirection
![metal_api.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-99/metal_api.png&key=141da0db08b9ba1e10d06fa4dc17b85d43676171a720d448845448efb52d56a9)
- the paper presents a new scheme that allows selectively combining different Monte Carlo rendering algorithms
- allow the use of less computational complex algorithms for more straightforward light transport cases and more sophisticated algorithms for more complicated cases
- enables to reduce the overall amount of noise in the same render time
![smlt.jpg](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-99/smlt.jpg&key=2fdbf79a6e87d5c03fdd62688906cf5ac9089ce1c892f309b6bd3f9ac9ea8fbc)
- the article explains how vertex shaders in “Our Machinery” engine is handled
- all vertex data is explicitly loaded in the vertex shader
- shows how a more flexible skinning variation can be implemented
![our_machinery_logo.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-99/our_machinery_logo.png&key=5f50facef8b046fddc7725c7b0c6c7d32110f8a9492bba8403f3a93bcba37898)
Ubisoft RedLynx is a multiplatform game development studio located in Helsinki. Along with the hugely popular Trials series, we have developed and published more than 100 games and we are a passionate team of over 140 people of 21 different nationalities. We are seeking an experienced Graphics Programmer to join our core technology team in creating impactful game experiences
![logo_redlynx.png](https://www.jendrikillner.com/img/jobs/logo_redlynx.png&key=e31b0203a1c93884ce628273468360a83746bbf79ed5d9fbe28e98f7d40c8caa)
Would you like to advertise your job openings here too? More information
- excerpt from the Siggraph talk talk
- overview of the mesh shading demo
- culling implement in task shader
- frustum calling also is done in the meshlet shader stage, since only parts of the model could be visible on screen
![mesh_shader_demo.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-99/mesh_shader_demo.png&key=bde6fc33b47c4be4ec1a6aaa9dd5661e0604459560bcccfbf0d84ed133d011eb)
- DRED can now include PIX markers
- additional string events can be attached to markers
- debugger extension has been updated to provide access to the information
![d3d12_logo.jpg](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-99/d3d12_logo.jpg&key=739dda93e461b23596e673320ffd7d99118a9fb3dab005e17024f82e15d569c2)
- the presentation explains how lightmap baking has been implemented in Wicked Engine
- how to ray trace with D3D11 compute and/or pixel shaders
- discusses artifacts, limitations, UV packing, texture formats, and filtering
- the resulting system is an object space shading system
![lightmap_packed.png](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-99/lightmap_packed.png&key=80ac6aafecc5123a8b99dcd6d94f93a630d12a024e9fd0d88e9f2e9526af9027)
- Metaballs2 demo has been updated
- the demo shows how to use mesh shaders and now provides a compute shader fallback version
- allows switching between both implementations
- compute shaders require extra memory to store intermediate results
![Metaballs2.jpg](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-99/Metaballs2.jpg&key=c3880754a489d599e200d5310be87567d5d7b2953af0740931deddbe4087dce3)
Thanks to Jon Greenberg for support of this series.
Would you like to see your name here too? Become a Patreon of this series.