Rotating the triangle with user input

The previous example demonstrated rotating the triangle based on the system clock. This created a continuously rotating triangle, depending on the render mode we used. But what if you wanted to respond to the input from the user?

In this recipe, we'll show how to respond to user input by overriding the onTouchEvent() callback from GLSurfaceView. We'll still rotate the triangle using the Matrix.setRotateM() method, but instead of deriving an angle from the system time, we'll calculate an angle based on the touch location.

Here's a screenshot showing this recipe running on a physical device (to highlight the touch, the Show touches developer option is enabled):

Getting ready

Create a new project in Android Studio ...

Get Android Application Development Cookbook - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.