Book Image

Learning LibGDX Game Development

Book Image

Learning LibGDX Game Development

Overview of this book

Table of Contents (21 chapters)
Learning LibGDX Game Development Second Edition
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

3D frustum culling


In a 3D world, we have a lot of objects everywhere. However, only a small number of objects will be visible in the scene. Rendering all objects, including those that are not visible, can be a waste of our processing time and resources and will affect the speed of the game. Hence, we should only render those objects that are actually visible to the camera and ignore all other objects that are outside the field of view of the camera. This is known as frustum culling and there are several ways to accomplish this.

First, let's add an array of cars. The updated scene will look like this:

The MyModelTest.java file is as follows:

public class MyModelTest extends ApplicationAdapter  {
...
   public Array<ModelInstance> instances = new Array<ModelInstance>();

   @Override
   public void create() {
          environment = new Environment();
          environment.set(new ColorAttribute(ColorAttribute.AmbientLight, 0.4f, 0.4f, 0.4f, 1f));
          environment.add(new DirectionalLight...