It's useful to calculate sphere projection in clip space. One usage is to determine LOD of a model. As you might have known, sphere projection results in ellipse instead of sphere. In this post, a way to approximate radius of projected sphere is given.

Assume the sphere is in the center of the screen and we know the \(FOV\) of the camera, sphere radius \(r\) and distance from camera \(z\). Looking at the diagram below:

The approximate projection of sphere radius in clip space is given by:

$$ approx\_projected\_radius = \frac{y}{y_{max}} = \frac{r}{z \times \tan (\frac{FOV}{2})} $$

Here are my growing links to GDC 2016 slides/presentations:


Advanced VR Rendering Performance - Alex Vlachos
An Excursion in Temporal Supersampling - Marco Salvi
An Introduction to SPIR-V - Neil Henning
Building a Better Jump - J. Kyle Pittman
Developing the Northlight Engine: Lessons Learned - Ville Timonen
Enlighten feature sets for large world games - Geomerics
Fast, Flexible, Physically-Based Volumetric Light Scattering – Nathan Hoobler
Fixed Point Iteration - Huw Bowles
The runtime asset format forGL-based applications - Patrick Cozzi, Tony Parisi
Improving Geometry Culling for ‘Deus Ex: Mankind Divided – Nicolas Trudel
More Explosions, More Chaos, and Definitely More Blowing Stuff Up: Optimizations and New DirectX Features in Just Cause 3 - Antoine Cohade & Emil Persson
Object Space Lighting - Dan Baker
Real-Time BC6H Compression on GPU - Krzysztof Narkowicz
Stable Specular Hightlights – Anton S. Kaplanyan
Taming the Jaguar - Andreas Fredriksson
TLDR Statistics for Game Devs - Elan Ruskin

Attendees Coverage

DirectX 12 Advancements - Max McMullen
Motion Matching and The Road to Next-Gen Animation – Simon Clavet


40 VR/AR Predictions - Jesse Schell
Great Management of Technical Leads - Mike Acton

Video Links

Epic Games
Khronos Session
Marmoset Toolbag | GDC 2016 Showcase - Marmoset Co
Seastack Bay - Geomerics
PowerVR at GDC 2016: Vulkan and OpenGL ES ray tracing - Imagination Technologies
CryEngine GDC 2016 Announcement - Crytek
GDC 2016 Allegorithmic Substance Showreel - Allegorithmic

Other Links

GDC 2016 Presentations - Krzysztof Narkowicz
Windows 10 is here! I wanted to document all issues that I encounter when trying to develop with DirectX12.

Q: What do I need to try out DirectX 12?
A: Windows 10, Windows 10 SDK (DirectX 12 is part of SDK), Graphics Driver that supports WDDM 2.0.

Q: Where do I download DirectX 12 SDK?
A: DirectX 12 SDK is part of Windows 10 SDK, so you should download that instead (Link).

Q: I installed Windows 10, however DirectX Diagnostic Tool doesn't show I have DirectX version 12?
A: DxDiag shows the feature level supported instead of the DirectX version. You can still develop with DirectX 12 API, however, your feature level is limited to that.

Q: I installed Windows 10, DirectX 12 and latest graphics driver, however, when running the graphics samples, it crashed in D3D12CreateDevice
A: Note that DirectX 12 requires graphics driver that support WDDM 2.0. At this time of writing (Aug 9, 2015), not all graphics drivers support all graphics cards with WDDM 2.0. For example, Radeon HD 7500 only support WDDM 1.3. You can check your WDDM version through DxDiag in Display tab. You can still run using WARP driver (software emulation) though.

Here are [growing] links to GDC 2015 slides/presentations:

Update: GDC Vault for GDC 2015 is now up! 

Programming Track

Tutorials / Bootcamps

AI Summit (Link)

Microsoft Sessions

Intel Sessions (Link)

AMD (Link)

NVIDIA DirectX Day

Paradox Engine

Amazon Developer Day

GDC2015 Video Links

Other GDC 2015 Collections

Welcome to the first Development INF (stands for information)! Basically for each Development INF article, I will be listing the road blocks, gotchas, tips and tricks that I found during development; in this case DirectX11.

1. DirectX11 is part of WindowsSDK
For old time DirectX developers, we usually had to install DirectX SDK. However, starting Windows 8, Microsoft has included the SDK to Windows 8 SDK. Consequently, this creates compile issues as some projects are still referencing the old DirectX path.

In Visual Studio, we usually use $(DXSDK_DIR)\Include and $(DXSDK_DIR)\Lib to locate the headers and lib, however, this will be no longer the case. The headers should be in $(WindowsSDK_IncludePath) and lib in $(WindowsSdkDir)\lib\x64.

2. D3DX11 library is deprecated
D3DX11 Library is Deprecated, we should no longer include d3dx11.h header and no longer use D3DX11* functions. We need to find the replacement for each function.

3. DirectXMath replaces XNAMath
//#include <xnamath.h> - deprecated
#include <DirectXMath.h>
using namespace DirectX; // The math structs and funcs are in this namespace
4. Effects API is no longer part of DirectX
You can download and compile it yourself from It's a good idea to build and put the library in your library folder.