Graphics Programming weekly - Issue 110 — December 8, 2019


Bezier Triangles

  • the article shows the possibility of using Bezier Triangles to store arbitrary and use this as a lookup structure for GPUs
  • shows how to calculate Barycentric Coordinates
  • provide the foundation for Bezier curve creation
  • extends this to a triangle formation


PIX 1911.27 – New Buffer Formatter and Capture from Launch

  • new PIX version allows the creation of custom buffer formats and saves/restore those
  • can now start applications in a suspended state, this will enable workloads leading up to the first frame to be captured


collection of tweets showcasing a large number of effects, games and technical art resources

  • collection of tweets showcasing a large number of effects, games and technical art resources
  • contains gifs that explain the length of a vector, dot and cross product


IMG A-Series: the GPU for generation 2020

  • new GPU architecture by Imagination Technologies (PowerVR)
  • promises a 2.5x performance increased while using 60% less power and providing no thermal throttling problem
  • now uses MAD 128-thread wide ALU
  • improved multi-tasking systems allow timing guarantees for parallel GPU work


A New Language for Sparse Data

  • the article presents an overview of the Taichi programming language
  • a data-oriented language that separates computations from data structures
  • programmers can write algorithms as if the data structure was dense
  • compiler and runtime will deal with the extra complexity introduced by sparse data structures
  • can generate CPU and GPU instructions


Proof of the Sampling Method for Visible GGX

  • the article describes the Visible GGX distribution (vGGX) sampling method
  • mathematically proves that this results in the required probability density


How to Optimize your Oculus Quest App w/ RenderDoc: Getting Started + Frame Capture

  • begins with an overview of RenderDoc functionality
  • shows what window are provided by the UI, what features they expose
  • how to take a frame capture of a game
  • and a basic look at how to start investigating the capture


My take on shaders: Grass Shader (Part II)

  • part 2 of the grass shader, part 1 was discussed in issues 105
  • will extend the shader with tesselation, better lighting, and shadows
  • additionally shows how this can be extended to support trampling


Matrices for Tech Artists, a Cheat Sheet

  • the article provides an overview of matrices
  • introduces the idea of viewing matrices as spaces and the importance of frame of reference
  • with this knowledge presents the different types of linear transformation and how they influence the space
  • additionally covers translations, homogeneous coordinates, and projection matrices


Rust Game Series - Part 5 - D3D11 Device and Swap Chain creation

  • part of Rust game programming series
  • the article shows how to call D3D11 from Rust
  • shows how to create a d3d11 device, swap chain and present the back buffer to the window


Thanks to Spencer Sherk for support of this series.


Would you like to see your name here too? Become a Patreon of this series.