🎉 Celebrating 25 Years of GameDev.net! 🎉
Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!
![Graphics Programming weekly - Issue 171 — February 21, 2021](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-171/bilinear.png)
Bilinear down/upsampling, aligning pixel grids, and that infamous GPU half pixel offset
- the article shows a few ways of doing bilinear upsampling and downsampling
- explains why it’s essential to follow the same convention everywhere and verify that no unintended …
![Graphics Programming weekly - Issue 168 — January 31, 2021](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-168/MipForRaytracing.png)
Improved Shader and Texture Level of Detail Using Ray Cones
- the paper introduces a new method for Mip level selection, including anisotropic filtering in a raytracer
- presented technique is not based on screen space derivatives
- extends the technique to apply to texture…
![Graphics Programming weekly - Issue 167 — January 24, 2021](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-167/smaa.png)
A Failed Adventure in Avoiding Temporal Anti-Aliasing
- the author provides an overview of anti-aliasing solutions
- what problems temporal techniques have, look at alternative solutions
- and experience trying to avoid using temporal techniques in a game production
![Graphics Programming weekly - Issue 166 — January 17, 2021](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-166/RenderDocTerrainCorruption.jpg)
RenderDoc ‘Ref All Resources’ + Vulkan + Memory Aliasing = Beware
- the post shows how aliased resources can cause problems when doing render doc captures
- aliased textures that are captured might need barrier transitions, which can corrupt other textures in the…
![Graphics Programming weekly - Issue 165 — January 10, 2021](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-165/SphereOnQuad.png)
Rendering a Sphere on a Quad
- the article explains in detail how to render a raytraced sphere that interacts with other parts of the Unity rendering pipeline
- covers how to use a billboard to render there sphere, explaining how to calculate an optimal camera facing quad…
![Graphics Programming weekly - Issue 164 — January 3, 2021](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-164/TextureAproceduralObject.png)
[video] How to texture a procedural object
- the video tutorial explains the fundamentals of texture mapping in ShaderToy
- describes how to apply a texture map to a 3D cube, sphere using tri-planar mapping
- additionally describes how to animate a second texture set onto a…
![Graphics Programming weekly - Issue 163 — December 27, 2020](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-163/god_of_war.png)
Why are video games graphics (still) a challenge? Productionizing rendering algorithms
- the article provides an overview of considerations when developing a graphics technique for video games
- presents how game design, workflow, performance, artist controllability, &hel…
Hallucinations re: the rendering of Cyberpunk 2077
- the article presents a breakdown of a Cyberpunk 2077 frame
- looking at the different passes that create the final image, what techniques are employed
- how the gbuffer is structured, volumetrics, decals, culling ……
![Graphics Programming weekly - Issue 161 — December 13, 2020](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-161/CamerasAndLenses.png)
Cameras and Lenses
- the article gives an understanding of how different types of camera and lenses work
- provides many interactive examples that explain the various elements, aspects and how they interact
![Graphics Programming weekly - Issue 160 — December 6, 2020](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-160/BlackSkin.png)
Black skin in your stylized dimly-lit video game
- The article presents how important reflectivity of Black skin is for believable results
- it shows how to adjust textures and the Unity PBR shaders (specular workflow) to decouple specular color from the glossiness
![Graphics Programming weekly - Issue 159 — November 29, 2020](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-159/sdf_girl.png)
[video] Painting a Selfie Girl, with Maths
- the video presents an in-depth walkthrough that shows how to use signed distance fields (SDF) to create an animated girl
- explains all used primitives as SDW, how they are combined, and the lighting implementation
- implementati…
![Graphics Programming weekly - Issue 157 — November 15, 2020](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-157/cas_header.jpg)
CasCmdLine - Few Technical Details
- brief article that shows how to create a D3D11 device without a window
- presents that the FXC compiler can export compiled shader to a C compatible header
![Graphics Programming weekly - Issue 156 — November 8, 2020](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-156/GeneratedMesh.png)
Generating meshes procedurally in Unity
- the post explains how to generate a procedural mesh
- describes how to approach the development of an algorithm, provides a list of common mistakes
- lists advice on how to debug procedural mesh generation issues
![Graphics Programming weekly - Issue 155 — November 1, 2020](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-155/compute_raytracing.png)
Adding support for two-level acceleration for raytracing
- the second part of the blog post series covering raytracing implementation with compute shaders presents the results of splitting the acceleration structure into two levels
- presents an overview of the implementa…
![Graphics Programming weekly - Issue 154 — October 25, 2020](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-154/blightbound_ssr.png)
Screen Space Reflections in Blightbound
- the articles explains the pitfalls encountered when implementing Screen Space reflections
- discusses special cases for a 2D game and presents what fallback options have been used if the information is not available
![Graphics Programming weekly - Issue 153 — October 18, 2020](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-153/ours-shotCam.png)
GPU-Motunui
- the post explains the implementation of a path tracer that enables the rendering of the Disney Moana island dataset on an RTX 2070
- provides an overview of the memory management strategies and scene splitting
![Graphics Programming weekly - Issue 152 — October 4, 2020](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-152/light_transport.png)
[video] Beautiful Results From 30 Years Of Light Transport Simulation!
- the video shows the history of light transport techniques and presents how they perform in complex test cases
- leading up to “Specular Manifold Sampling for Rendering High-Frequency Caustics a…
![Graphics Programming weekly - Issue 152 — October 10, 2020](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-152/light_transport.png)
[video] Beautiful Results From 30 Years Of Light Transport Simulation!
- the video shows the history of light transport techniques and presents how they perform in complex test cases
- leading up to “Specular Manifold Sampling for Rendering High-Frequency Caustics a…
![Graphics Programming weekly - Issue 151 — September 27, 2020](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-151/detroit_img1.png)
Porting detroit: become human from playstation® 4 to pc – part 1
- the post explains the experiences on porting the game from PS4 to PC using Vulkan
- part 1 of 3 focuses on optimize shader pipeline compilation and descriptor allocation
- the descriptor allocation is based…
![Graphics Programming weekly - Issue 150 — September 20, 2020](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-150/sdf_blend.png)
The Last of Us Part II, material blending, the SDF of a plane.
- the video tutorial explains how to implement a rust effect on objects that intersect with a water plane
- describes how to calculate the distance between a point and a plane
- implemented using the Godot engin…
![Graphics Programming weekly - Issue 149 — September 13, 2020](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-149/cmis.png)
Continuous Multiple Importance Sampling (SIGGRAPH 2020 Presentation)
- the video provides a great explanation of Monte Carlo integration importance sampling
- presents how to generalize MIS to a from distinct techniques to a continuum of techniques
- shows how to use the me…
![Graphics Programming weekly - Issue 148 — September 6, 2020](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-148/vrs_classification.png)
Variable Rate Shading: first impressions
- the blog post provides an overview of VRS modes, presents some possible use cases and performance numbers from the first tests in Wicket Engine
![Graphics Programming weekly - Issue 147 — August 30, 2020](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-147/pbs_theory.jpg)
SIGGRAPH 2020 Course: Physically Based Shading in Theory and Practice
- slides and videos for all course talks are available
- covering Fresnel modeling, MaterialX, Material Composition, Atmospheres system, and Anisotropic shading
![Graphics Programming weekly - Issue 146 — August 23, 2020](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-146/siggraph_paper.png)
Or, "How I turned my side project into a paper at a top graphics conference"
- the article presents a walkthrough and experiences of getting a paper included in Siggraph 2020
![Graphics Programming weekly - Issue 145 — August 16, 2020](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-145/rtx_best_practices.png)
Best Practices: Using NVIDIA RTX Ray Tracing
- the article provides an extensive list of best practices for DXR usage
- covers acceleration structures, GPU utilization, memory allocations, handling of non-opaque geometries, binding, performance and pipeline state best pra…
![Graphics Programming weekly - Issue 144 — August 9, 2020](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-144/vkvalidator.png)
LunarG Releases Enhanced Vulkan Configurator in new SDKs
- Vulkan SDK release contains a graphics vkconfig tool to allow users to configure layer settings
- can be enabled to control which layers are active, filter error messages, etc
- the SDK now also contains Vulkan Sync…
![Graphics Programming weekly - Issue 143 — August 2, 2020](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-143/02_after.jpg)
Reverse engineering the rendering of The Witcher 3, part 20 - light shafts
- the in-depth article presents how the light shafts in The Witcher 3 have been implemented
- explains how a radial blur can be applied and provides a shadertoy to showcase the example implementati…
![Graphics Programming weekly - Issue 142 — July 26, 2020](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-142/Full-Tune-SingleQueue.png)
Vulkan synchronisation and graphics-compute-graphics hazards: Part I
- the article presents an overview of Vulkan barriers and shows how different barriers influence a PowerVR chip’s ability to overlap work
![Graphics Programming weekly - Issue 141 — July 19, 2020](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-141/improved_tiling.png)
Optimizing Compute Shaders for L2 Locality using Thread-Group ID Swizzling
- the article shows how to improve performance of fullscreen compute shader passes by tiling thread workloads to take advantage of memory locality
- test cases show an example improvement of 1.47x …
![Graphics Programming weekly - Issue 140 — July 12, 2020](https://www.jendrikillner.com/img/posts/graphics-programming-weekly-140/wwdc20_05.png)
WWDC20 - What's new in Metal and the Apple GPU
- the article summaries the changes announced at WWDC
- Apple will transition from Intel CPUs / GPUs to custom hardware
- the article shows an architecture overview, best performance practices, new hardware, and API features
- in…
Advertisement
Popular Blogs
Advertisement