O'Reilly logo

Mastering Android NDK by Viktor Latypov, Sergey Kosarevsky

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Lighting and shading

To render lights and shadows, we need to extend the approach shown in the previous paragraphs. The next code example we will discuss is 2_ShadowMaps. Shadow mapping will be done using projected shadow maps (https://en.wikipedia.org/wiki/Shadow_mapping). This way a scene is rendered into an off-screen depth buffer from the light's point of view. Next, the scene is rendered as usual and every fragment is projected onto the lights shadow map and the depth value relative to the light is compared to the value in the constructed shadow map. The fragment is in shadow if the depth value is larger than the corresponding depth value from the shadow map. To do an off-screen rendering, we need to revisit our OpenGL wrapper introduced ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required