Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Learning LibGDX Game Development- Second Edition

You're reading from   Learning LibGDX Game Development- Second Edition Wield the power of the LibGDX framework to create a cross-platform game

Arrow left icon
Product type Paperback
Published in Jan 2015
Publisher Packt
ISBN-13 9781783554775
Length 478 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Authors (2):
Arrow left icon
Suryakumar B Nair Suryakumar B Nair
Author Profile Icon Suryakumar B Nair
Suryakumar B Nair
Andreas Oehlke Andreas Oehlke
Author Profile Icon Andreas Oehlke
Andreas Oehlke
Arrow right icon
View More author details
Toc

Table of Contents (16) Chapters Close

Preface 1. Introduction to LibGDX and Project Setup FREE CHAPTER 2. Cross-platform Development – Build Once, Deploy Anywhere 3. Configuring the Game 4. Gathering Resources 5. Making a Scene 6. Adding the Actors 7. Menus and Options 8. Special Effects 9. Screen Transitions 10. Managing the Music and Sound Effects 11. Advanced Programming Techniques 12. Animations 13. Basic 3D Programming 14. Bullet Physics 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:

3D frustum culling

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...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime