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

Having fun with shadows

It appears that something is missing since we have light and reflection but no shadows. Shadow in LibGDX is still evolving. The way of using shadows might change in the next version. However, we will simply put a shadow here just to make the scene look more complete:

DirectionalShadowLight shadowLight;
ModelBatch shadowBatch;
@Override
public void create() {
. . . 
environment = new Environment();
environment.set(new ColorAttribute(ColorAttribute.AmbientLight, .4f, .4f, .4f, 1f));
environment.add(new DirectionalLight().set(0.8f, 0.8f, 0.8f, -1f, -0.8f, -0.2f));

   shadowLight = new DirectionalShadowLight(1024, 1024, 60, 60, 1f, 300);
   shadowLight.set(0.8f, 0.8f, 0.8f, -1f, -.8f, -.2f);
   environment.add(shadowLight);
   environment.shadowMap = shadowLight;
   shadowBatch = new ModelBatch(new DepthShaderProvider());
  	. . .

}
@Override
public void render() {
   //update the world
   . . .

   shadowLight.begin(Vector3.Zero, cam.direction);
   shadowBatch.begin...
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 $19.99/month. Cancel anytime