SlideShare ist ein Scribd-Unternehmen logo
1 von 96
Lighting you up in Battlefield 3
Kenny Magnusson (DICE)
GDC 2011




Hi, my name is Kenny Magnusson. I am a senior artist at dice, right now working on Battlefield 3. before I worked on the frostbite
team as technical lighting atist


I have worded at dice for almost 15 years now and been involved with most of the games created at dice.
Lighting both in film and computer games has always been a passion of mine.
Lighting in computer games are especially interesting because we let the player take control of the camera and basically look at
whatever he ore she wants.


I am going to talk to you to day about the new lighting system in the Frostbite 2 engine and how it enables us to stretch the
boundaries of lighting in Battlefield 3 with its highly dynamic, varied and destructible environments.
Agenda:




I will talk about our past, what we wanted for battlefield 3, how we got it and The conclusion n last I’ll
summarize.
Agenda:
›Past: and Mirror's edge
  ›
  Battlefield
                                                                        ›Small environments
                                                                        ›Large environments
                                                                        ›Lights
                                                                        ›Best practice
 ››Want: from both worlds
    The best
  ›Improvements                                                      ›Conclusion:
  ›Real-time radiosity lighting system
  ›Frostbite 2                                                       ›Summary:


 ››How: radiosity architecture
   Real time
I will talk about our past, what we wanted for battlefield 3, how we got it and The conclusion n last I’ll
summarize.
PAST:
      Battlefield Bad Company                                                      Mirror’s Edge
                         Frostbite 1                                                 Unreal Engine 3




So our past : our past is Battlefield bad company using Frostbite 1 engine and Mirrors edge with Unreal engine 3
PAST:
         Battlefield Bad Company                                                     Mirror’s Edge
                               Frostbite 1                                             Unreal Engine 3
  › Forward-rendering                                                      › Forward-rendering
  › No streaming                                                           › Streaming
  › Hemispherical sky/ground light + directional sun light                 › Static world / static lighting
     ›   3 point lighting                                                    ›   Illuminate Labs Beast Offline Generation
  › 100% Dynamic shadows, cascaded shadowmaps                                ›   Global Illumination (bounce, emissive, translucent)
                                                                             ›   Stored as directional lightmaps (Radiosity Normal Maps)
     ›   3 slices, 1024x1024
  › Single (!) point light per object                                      › Dynamic objects (i.e. Faith)
                                                                             ›   Pre-calculated light probes form basis for relighting dynamic objects
  › No Global Illumination                                                   ›   Combine most relevant probes to form SH basis for lighting
  › No Screen Space Ambient Occlusion                                        ›   Extract major light axis as “directional light source”
                                                                             ›   Use conventional shadow mapping from extracted directional
  › Static sky occlusion maps for buildings & bigger objects
  › Static sky occlusion volumes for indoor environments
    that dynamic objects sampled a single value from




These two engines are very different


Frostbite 1 was made to have vast outdoor landscapes and a fully destructible world.
It had 100 dynamic shadows and 3 point lighting system.
No global illumination.
We bake Static occlusion maps for bigger objects.


Mirrors edge Didn't need any destruction in the same scale as Battlefield and there main focus was a city landscape.
So static baked lightmaps worked fine.
We used Unreal Engine 3 with Illuminate Labs Beast Offline Lightmap baking for this project.
WANT:


  How could we get the best from both worlds?
                                         + some more..
WANT:
›GI In a highly dynamic and destructible environment




This is the big one right. How to get it looking like Mirrors edge while also being a destructible world.
WANT:
›Indoor




We wanted the indoor lighting to look as good as Mirrors Edge while having a fully destructible indoor environment. Battlefield BC
2 indoor lighting did not look that good.
WANT:
›Outdoor




We wanted both beautiful landscape and a stunning city vista in one
level.
WANT:
›Large environments with reflective surfaces




Reflective surfaces is very important to give life to all materials, ME did this very good but Frostbite 1 has always struggled with
this. One big problem is when your moving from a outdoor environment in to a indoor environment.
WANT:
›Lights




With lights and destruction comes one big problem.
We want to be able to destroy lights.
ME had static baked lightmaps, so did the last BC2 level
And therefore we can not destroy light because the light is baked in to the texture.
WANT:


                                          Improvements




To be able to have a very Dynamic and Destructibal world, we needed some more improvements. You cant have static baked light
maps in a destructible world, we needed a another solution.
WANT:
›Improvements
    ›
  Deferred rendering




If we want lights in the world, we need to be able to destroy them to. Right…
WANT:
›Improvements
  ›
  Deferred rendering
  ›More lighting models
WANT:
›Improvements
  ›
  Deferred rendering
  ›More lighting models
  ›Translucency
WANT:
›Improvements
    ›
  Deferred rendering
    ›More lighting models
    ›Translucency
    ›Faster workflows




recognize this?
Renderfarm baking lightmaps, slow!
WANT:
›Improvements
    ›
  Deferred rendering
    ›More lighting models
    ›Translucency
    ›Faster workflows
    ›Simultaneous




Here everybody is standing in line to work on the game. To be able to work simultaneous with art, design and sound on one level
would be great.
Usually we have a lot off different gates when we produce games, first design, then art and so on.
WANT:
›Improvements
    ›
  Deferred rendering
    ›More lighting models
    ›Translucency
    ›Faster workflows
    ›Simultaneous
    ›Particle lighting




We have always had problems making particles look like they fit in to the world. They are sometimes to dark or too bright or the
wrong color.
WANT:
›Improvements
  ›
  Deferred rendering
  ›More lighting models
  ›Translucency
  ›Faster workflows
  ›Simultaneous
  ›Particle lighting
  ›Bloom
WANT:
›Improvements
  ›
  Deferred rendering
  ›More lighting models
  ›Translucency
  ›Faster workflows
  ›Simultaneous
  ›Particle lighting
  ›Bloom
  ›Filmic Tonemapping
WANT:
›Real-time radiosity lighting system
    ›Enlighten
       › Geomerics
         › Cambridge, UK based. Spun out of Cambridge University
       › Collaborated over many years
       › Works for all platforms
         › PLAYSTATION®3,XBox 360™, PC for Windows.




Implementing enlighten in frostbite
WANT:
›Real-time radiosity lighting system
    ›Enlighten
       › Geomerics
         › Cambridge, UK based. Spun out of Cambridge University
       › Collaborated over many years
       › Works for all platforms
         › PLAYSTATION®3,XBox 360™, PC for Windows.




Implementing enlighten in frostbite
WANT:
›Frostbite 2




Last but not least editor workflows have always been a problem for us, especially when it comes to the consoles.
HOW:


          ”Realtime radiosity architecture for a game”
              How does the full lighting pipeline work in Battlefield 3




either reflected, or absorbed and partially re‐emitted.

Surfaces that mostly reflect light appear shiny and we say they are highly specular.

Surfaces that absorb and then re‐emit tend to do so in all directions, so they appear matte and look the same regardless of what angle you look at them from.
Mostly matte surfaces, such as dry concrete or paper, are said to be highly diffuse.
 
Both specular reflections and diffuse re‐emission bounce light back into the world.
The reflected light could then strike another surface, where another portion of it may be bounced, and this continues until all light has been fully absorbed
or reflected out of the environment.
This light bouncing effect is typically ignored in most game lighting models because it massively increases the complexity of the computations.
HOW:                                                      Specular




either reflected, or absorbed and partially re‐emitted.


Surfaces that mostly reflect light appear shiny and we say they are highly specular.
HOW:                                                       Diffuse




Surfaces that absorb and then re‐emit tend to do so in all directions, so they appear matte and look the same regardless of what
angle you look at them from. Mostly matte surfaces, such as dry concrete or paper, are said to be highly diffuse.
 
HOW:                                              Specular bounce




Both specular reflections and diffuse re‐emission bounce light back into the world.
HOW:                                                Diffuse bounce




The reflected light could then strike another surface, where another portion of it may be bounced, and this continues until all light
has been fully absorbed or reflected out of the environment.
This light bouncing effect is typically ignored in most game lighting models because it massively increases the complexity of the
computations.


There are two main approaches to simulating global illumination effects in games right now. Artists can either resort to pre‐baked
lightmaps or can manually place lights in the scene to model light reflection. Both approaches to lighting have a number of failings:
 
HOW:                                          Pre‐baked lightmaps




 · Pre‐baking lightmaps can produce high quality results, but severely limits the dynamic aspects of game lighting. time consuming,
limiting artists’ ability to iterate on a scene.
HOW:                                              Typical lightmap




 · Pre‐baking lightmaps can produce high quality results, but severely limits the dynamic aspects of game lighting. time consuming,
limiting artists’ ability to iterate on a scene.
 
HOW:                                              Placing direct lights




 · Simulating global illumination by placing direct lights does give an artist control, but can be very difficult to use in practice. affect
performance.
HOW:                                                        Radiosity




· Simulating global illumination by placing direct lights does give an artist control, but can be very difficult to use in practice. affect
performance.
HOW:
HOW:




Enlighten dynamically computes indirect lighting within your scene.
Real-time radiosity really provides full artistic control over the bounced light to allow a fully dynamic workflow.
This greatly reduces the time required to light a scene by artists, and opens up the possibility of completely changing the feel and
mood of your scenes dynamically.
The Real-time radiosity output textures store the color and intensity of the indirect lighting as well as the major directions of light.
This information can be used in your shaders to compute indirect specular reflections and normal‐mapped surfaces.


We need to split the lighting system in to two part and this is mainly because of memory consumption but also performance wile
lighting. Simplifying the geometry is necessary for Enlighten to be able to Handle all the radiosity data.
HOW:




Enlighten dynamically computes indirect lighting within your scene.
Real-time radiosity really provides full artistic control over the bounced light to allow a fully dynamic workflow.
This greatly reduces the time required to light a scene by artists, and opens up the possibility of completely changing the feel and
mood of your scenes dynamically.
The Real-time radiosity output textures store the color and intensity of the indirect lighting as well as the major directions of light.
This information can be used in your shaders to compute indirect specular reflections and normal‐mapped surfaces.


We need to split the lighting system in to two part and this is mainly because of memory consumption but also performance wile
lighting. Simplifying the geometry is necessary for Enlighten to be able to Handle all the radiosity data.
 
HOW:




The fist one is The Lightmap lit geometry and the second one is the Lightprobe lit geometry.


Lightmap lit geometry is parameterized and lit with dynamic lightmaps. This geometry can bounce light, and typically represents
large and inanimate objects that don’t move.


Lightprobe lit geometry can only receive bounce light by sampling light probes. I will get back to what lightprobes are in a minute.
They are typically the character ore a dynamic object but can also be a static geometry that don’t affect the lighting too much.
HOW:

        ›Lightmap lit geometry




The fist one is The Lightmap lit geometry and the second one is the Lightprobe lit geometry.


Lightmap lit geometry is parameterized and lit with dynamic lightmaps. This geometry can bounce light, and typically represents
large and inanimate objects that don’t move.


Lightprobe lit geometry can only receive bounce light by sampling light probes. I will get back to what lightprobes are in a minute.
They are typically the character ore a dynamic object but can also be a static geometry that don’t affect the lighting too much.
HOW:

        ›Lightmap lit geometry
           › Large and inanimate




The fist one is The Lightmap lit geometry and the second one is the Lightprobe lit geometry.


Lightmap lit geometry is parameterized and lit with dynamic lightmaps. This geometry can bounce light, and typically represents
large and inanimate objects that don’t move.


Lightprobe lit geometry can only receive bounce light by sampling light probes. I will get back to what lightprobes are in a minute.
They are typically the character ore a dynamic object but can also be a static geometry that don’t affect the lighting too much.
HOW:

        ›Lightmap lit geometry
           › Large and inanimate
              › Receive and bounce light




The fist one is The Lightmap lit geometry and the second one is the Lightprobe lit geometry.


Lightmap lit geometry is parameterized and lit with dynamic lightmaps. This geometry can bounce light, and typically represents
large and inanimate objects that don’t move.


Lightprobe lit geometry can only receive bounce light by sampling light probes. I will get back to what lightprobes are in a minute.
They are typically the character ore a dynamic object but can also be a static geometry that don’t affect the lighting too much.
HOW:

        ›Lightmap lit geometry
           › Large and inanimate
              › Receive and bounce light
              › Static geometry




The fist one is The Lightmap lit geometry and the second one is the Lightprobe lit geometry.


Lightmap lit geometry is parameterized and lit with dynamic lightmaps. This geometry can bounce light, and typically represents
large and inanimate objects that don’t move.


Lightprobe lit geometry can only receive bounce light by sampling light probes. I will get back to what lightprobes are in a minute.
They are typically the character ore a dynamic object but can also be a static geometry that don’t affect the lighting too much.
HOW:

        ›Lightmap lit geometry
           › Large and inanimate
              › Receive and bounce light
              › Static geometry


        ›Lightprobe lit geometry

The fist one is The Lightmap lit geometry and the second one is the Lightprobe lit geometry.


Lightmap lit geometry is parameterized and lit with dynamic lightmaps. This geometry can bounce light, and typically represents
large and inanimate objects that don’t move.


Lightprobe lit geometry can only receive bounce light by sampling light probes. I will get back to what lightprobes are in a minute.
They are typically the character ore a dynamic object but can also be a static geometry that don’t affect the lighting too much.
HOW:

        ›Lightmap lit geometry                                             › Small and organic
           › Large and inanimate
              › Receive and bounce light
              › Static geometry


        ›Lightprobe lit geometry

The fist one is The Lightmap lit geometry and the second one is the Lightprobe lit geometry.


Lightmap lit geometry is parameterized and lit with dynamic lightmaps. This geometry can bounce light, and typically represents
large and inanimate objects that don’t move.


Lightprobe lit geometry can only receive bounce light by sampling light probes. I will get back to what lightprobes are in a minute.
They are typically the character ore a dynamic object but can also be a static geometry that don’t affect the lighting too much.
HOW:

        ›Lightmap lit geometry                                             › Small and organic
           › Large and inanimate                                              › Only receive light
              › Receive and bounce light
              › Static geometry


        ›Lightprobe lit geometry

The fist one is The Lightmap lit geometry and the second one is the Lightprobe lit geometry.


Lightmap lit geometry is parameterized and lit with dynamic lightmaps. This geometry can bounce light, and typically represents
large and inanimate objects that don’t move.


Lightprobe lit geometry can only receive bounce light by sampling light probes. I will get back to what lightprobes are in a minute.
They are typically the character ore a dynamic object but can also be a static geometry that don’t affect the lighting too much.
HOW:

        ›Lightmap lit geometry                                             › Small and organic
           › Large and inanimate                                              › Only receive light
              › Receive and bounce light                                      › Cant bounce light
              › Static geometry


        ›Lightprobe lit geometry

The fist one is The Lightmap lit geometry and the second one is the Lightprobe lit geometry.


Lightmap lit geometry is parameterized and lit with dynamic lightmaps. This geometry can bounce light, and typically represents
large and inanimate objects that don’t move.


Lightprobe lit geometry can only receive bounce light by sampling light probes. I will get back to what lightprobes are in a minute.
They are typically the character ore a dynamic object but can also be a static geometry that don’t affect the lighting too much.
HOW:

        ›Lightmap lit geometry                                             › Small and organic
           › Large and inanimate                                              › Only receive light
              › Receive and bounce light                                      › Cant bounce light
              › Static geometry                                               › Dynamic and static geometry



        ›Lightprobe lit geometry

The fist one is The Lightmap lit geometry and the second one is the Lightprobe lit geometry.


Lightmap lit geometry is parameterized and lit with dynamic lightmaps. This geometry can bounce light, and typically represents
large and inanimate objects that don’t move.


Lightprobe lit geometry can only receive bounce light by sampling light probes. I will get back to what lightprobes are in a minute.
They are typically the character ore a dynamic object but can also be a static geometry that don’t affect the lighting too much.
HOW:




In the mesh classification picture you will soon se, you can see how we clearly define Lightmap lit geometry and Lightprobe lit
geometry
HOW:




: static in yellow and dynamic in blue. The underlying geometry ( Lightmap lit geometry ) is used to bounce light, which then is
transferred to all objects ( Lightprobe lit geometryin ) the scene.
HOW:
HOW:
›Lightmap lit geometry
HOW:
›Lightmap lit geometry
  ›
  Detail geometry
HOW:
›Lightmap lit geometry
    ›
  Detail geometry
        › UVs generated by projection




This means that a new UV set is created automatically
HOW:
›Lightmap lit geometry
  ›
  Detail geometry
      › UVs generated by projection
      › No additional lighting data
HOW:
›Lightmap lit geometry
  ›
  Detail geometry
      › UVs generated by projection
      › No additional lighting data
      › “Off-axis” lighting comes from
        directional data in lightmap
HOW:
›Lightmap lit geometry
    ›
  Detail geometry
        › UVs generated by projection
        › No additional lighting data
        › “Off-axis” lighting comes from
          directional data in lightmap
    ›Target geometry




We need to make simpler geometry for the Lighting system to be able to handle all the radiosity data
HOW:
›Lightmap lit geometry
  ›
  Detail geometry
      › UVs generated by projection
      › No additional lighting data
      › “Off-axis” lighting comes from
        directional data in lightmap
  ›Target geometry
      › Has simple UV surface area
HOW:
›Lightmap lit geometry
  ›
  Detail geometry
      › UVs generated by projection
      › No additional lighting data
      › “Off-axis” lighting comes from
        directional data in lightmap
  ›Target geometry
      › Has simple UV surface area
      › Poly count is not important
      › Various authoring options
HOW:
›Lightmap geometry
               lit geometry
  ›
  Authoring of
                              Detail geometry UV   Target geometry UV
      › UVs
HOW:                          Detail geometry UV
                               Transferred to the
›Lightmap geometry
               lit geometry   Target geometry UV
  ›
  Authoring of
      › UVs
      › Surface transfer
HOW:                          Detail geometry UV
                               Transferred to the
›Lightmap geometry
               lit geometry   Target geometry UV
  ›
  Authoring of
      › UVs
      › Surface transfer
HOW:
                              Target geometry lightmap
›Lightmap geometry
               lit geometry
  ›
  Authoring of
      › UVs
      › Surface transfer
HOW:                                                           Target geometry lightmap
                                                                   Transferred to the

›Lightmap geometry
               lit geometry
                                                                    Detail geometry

    ›
  Authoring of
        › UVs
        › Surface transfer




This uv projection is done when we import an object into the Editor.
HOW:
›Lightprobe lit geometry
    ›
  Lightprobe volumes




We need to store lighting information for the dynamic, small and the very complex (organic ) objects in different way.
Therefore, we place light probes in the world that store the global illumination lighting.
The objects that read these light probes can only receive light, not bounce or generate additional light.
The probes are stored in a grid:
HOW:
›Lightprobe lit geometry
    ›
  Lightprobe volumes




in this picture their positions are represented as spheres. In each of these positions we store the lighting using a spherical harmonic
representation, which means we basically have the incoming lighting in all directions. As dynamic objects move through this grid,
they will pick up the correct lighting.
HOW:
›Lightprobe lit geometry
    ›
  Lightprobe volumes




in this picture their positions are represented as spheres. In each of these positions we store the lighting using a spherical harmonic
representation, which means we basically have the incoming lighting in all directions. As dynamic objects move through this grid,
they will pick up the correct lighting.
HOW:
›Precompute
    ›
  Analyze the geometry




Before we can run the game with dynamic radiosity we have to do a precompute pass in the pipeline.


In this step we analyze the geometry in the scene and generate data which we need in the game to generate the dynamic lighting.


This step can be time consuming. For the scene you’ve seen here it takes about 20 minutes.


But we only have to redo this step when we modify the static geometry in the scene, not when we change the lighting or the surface
colors.
HOW:
›Runtime lighting pipeline
       1.Radiosity pass (CPU)
                          › Update indirect lightmaps and lightprobes

                      2.Geometry pass (GPU)
                          › Store indirect lighting in separate G-buffer

                      3.Light pass (GPU)
                          › Render deferred light sources
                          › Add indirect lighting from G-buffer




The complete render pipeline looks like this. First, we update lightmaps & light probes on the CPU.


Next, we run the geometry pass, where we add bounce light from the lightmaps and lightprobes to a separate g-buffer.


Finally, in the light pass, we first render all deferred lights. Then We add the indirect lighting from the g-buffer.
HOW:
›Small environments
    ›
  Sky visibility




Sky visibility is a term we use to say how much of the sky each pixel can see.


We use it to blend between a dynamic outdoor environment map and a static indoor environment map to avoid the problem of a
strong blue sky reflection on objects inside buildings as well as to smoothly transition between indoor and outdoor environments.
HOW:
›Small environments
    ›
  Sky visibility
    ›Environment maps




The indoor environment map gets its color and intensity from the dynamic radiosity that we calculate and this is combined with a
black & white albedo envmap that modulates it and creates view-dependent motion in the surface.
HOW:
›Large environments
    ›
  Skylight




We need to make a spherical harmonic representation of the sky. This is used for lighting big outdoor environments. The small
Envmap cross you see to the left of every picture is the spherical harmonic debug view.
HOW:
›Large environments
    ›
  Skylight




We need to make a spherical harmonic representation of the sky. This is used for lighting big outdoor environments. The small
Envmap cross you see in the middle of every picture is the spherical harmonic debug view.
HOW:
›Large environments
    ›
  Skylight




We need to make a spherical harmonic representation of the sky. This is used for lighting big outdoor environments. The small
Envmap cross you see in the middle of every picture is the spherical harmonic debug view.
HOW:
›Large environments
 ›Skylight
 ›Terrain
HOW:
›Large environments
    ›
  Skylight
    ›Terrain




Every red point you see in the picture is a light probe, it’s getting snapped to the height field of the terrain. The resolution of the
light probe grid depends on the terrain patch size.
HOW:
›Large environments
    ›
  Skylight
    ›Terrain




It’s the same for the lightmaps for the terrain, it also deepens on the terrain patch size..
HOW:
›Light
HOW:
›Light
HOW:
›Light
HOW:


 Why is it important to separate some elements in
                the lighting system?




Freedom : As a lighting artist I want to be able to have a red sky and green ground, and not to be forced to change the color of the sky just to get the ground
brighter. You need to be careful what systems interact with each other in a lighting system.
HOW:
›Best practice
     ›
  Complex geometry




Complex geometry : Working with light probes: for complex objects (i.e. house), some parts can be taken out of the geometry and
imported as lightprobe lit geometry to optimize authoring time. Gray is lightmap lit geometry, red are lightprobe lit geometry and the blue are
transparent surface and don’t need to be lit by enlighten



Static radiosity maps : You can use this system as a fast way of
baking out light maps / radiosity maps in this case (no shados).
Real-time : The real-time part on Enlighten can be used in smaller contained areas.
Streaming : Streaming in and out baked radiosity maps works fine depending on the sizes of the streaming zones
Time lapse : Time-lapse works only with dynamic enlighten enabled.
Range : Be careful if you have too much range in the lighting because of the data stored in the light probes are packed.
Color Grading : Looking how film is post processed, color grading should be applied last in the chain.
Filmic tone mapping : . There are a couple of filmic tonemapping formulas out there, use the one that suit the art direction of
your game.
HOW:
›Best practice
     ›
  Complex geometry
     ›Static radiosity maps




Complex geometry : Working with light probes: for complex objects (i.e. house), some parts can be taken out of the geometry and
imported as lightprobe lit geometry to optimize authoring time. Gray is lightmap lit geometry, red are lightprobe lit geometry and the blue are
transparent surface and don’t need to be lit by enlighten



Static radiosity maps : You can use this system as a fast way of
baking out light maps / radiosity maps in this case (no shados).
Real-time : The real-time part on Enlighten can be used in smaller contained areas.
Streaming : Streaming in and out baked radiosity maps works fine depending on the sizes of the streaming zones
Time lapse : Time-lapse works only with dynamic enlighten enabled.
Range : Be careful if you have too much range in the lighting because of the data stored in the light probes are packed.
Color Grading : Looking how film is post processed, color grading should be applied last in the chain.
Filmic tone mapping : . There are a couple of filmic tonemapping formulas out there, use the one that suit the art direction of
your game.
HOW:
›Best practice
     ›
  Complex geometry
     ›Static radiosity maps
     ›Real-time




Complex geometry : Working with light probes: for complex objects (i.e. house), some parts can be taken out of the geometry and
imported as lightprobe lit geometry to optimize authoring time. Gray is lightmap lit geometry, red are lightprobe lit geometry and the blue are
transparent surface and don’t need to be lit by enlighten



Static radiosity maps : You can use this system as a fast way of
baking out light maps / radiosity maps in this case (no shados).
Real-time : The real-time part on Enlighten can be used in smaller contained areas.
Streaming : Streaming in and out baked radiosity maps works fine depending on the sizes of the streaming zones
Time lapse : Time-lapse works only with dynamic enlighten enabled.
Range : Be careful if you have too much range in the lighting because of the data stored in the light probes are packed.
Color Grading : Looking how film is post processed, color grading should be applied last in the chain.
Filmic tone mapping : . There are a couple of filmic tonemapping formulas out there, use the one that suit the art direction of
your game.
HOW:
›Best practice
     ›
  Complex geometry
     ›Static radiosity maps
     ›Real-time
     ›Streaming




Complex geometry : Working with light probes: for complex objects (i.e. house), some parts can be taken out of the geometry and
imported as lightprobe lit geometry to optimize authoring time. Gray is lightmap lit geometry, red are lightprobe lit geometry and the blue are
transparent surface and don’t need to be lit by enlighten



Static radiosity maps : You can use this system as a fast way of
baking out light maps / radiosity maps in this case (no shados).
Real-time : The real-time part on Enlighten can be used in smaller contained areas.
Streaming : Streaming in and out baked radiosity maps works fine depending on the sizes of the streaming zones
Time lapse : Time-lapse works only with dynamic enlighten enabled.
Range : Be careful if you have too much range in the lighting because of the data stored in the light probes are packed.
Color Grading : Looking how film is post processed, color grading should be applied last in the chain.
Filmic tone mapping : . There are a couple of filmic tonemapping formulas out there, use the one that suit the art direction of
your game.
HOW:
›Best practice
     ›
  Complex geometry
     ›Static radiosity maps
     ›Real-time
     ›Streaming
     ›Time laps




Complex geometry : Working with light probes: for complex objects (i.e. house), some parts can be taken out of the geometry and
imported as lightprobe lit geometry to optimize authoring time. Gray is lightmap lit geometry, red are lightprobe lit geometry and the blue are
transparent surface and don’t need to be lit by enlighten



Static radiosity maps : You can use this system as a fast way of
baking out light maps / radiosity maps in this case (no shados).
Real-time : The real-time part on Enlighten can be used in smaller contained areas.
Streaming : Streaming in and out baked radiosity maps works fine depending on the sizes of the streaming zones
Time lapse : Time-lapse works only with dynamic enlighten enabled.
Range : Be careful if you have too much range in the lighting because of the data stored in the light probes are packed.
Color Grading : Looking how film is post processed, color grading should be applied last in the chain.
Filmic tone mapping : . There are a couple of filmic tonemapping formulas out there, use the one that suit the art direction of
your game.
HOW:
›Best practice
     ›
  Complex geometry
     ›Static radiosity maps
     ›Real-time
     ›Streaming
     ›Time laps
     ›Range




Complex geometry : Working with light probes: for complex objects (i.e. house), some parts can be taken out of the geometry and
imported as lightprobe lit geometry to optimize authoring time. Gray is lightmap lit geometry, red are lightprobe lit geometry and the blue are
transparent surface and don’t need to be lit by enlighten



Static radiosity maps : You can use this system as a fast way of
baking out light maps / radiosity maps in this case (no shados).
Real-time : The real-time part on Enlighten can be used in smaller contained areas.
Streaming : Streaming in and out baked radiosity maps works fine depending on the sizes of the streaming zones
Time lapse : Time-lapse works only with dynamic enlighten enabled.
Range : Be careful if you have too much range in the lighting because of the data stored in the light probes are packed.
Color Grading : Looking how film is post processed, color grading should be applied last in the chain.
Filmic tone mapping : . There are a couple of filmic tonemapping formulas out there, use the one that suit the art direction of
your game.
HOW:
›Best practice
  ›
  Complex geometry
  ›Static radiosity maps
  ›Real-time
  ›Streaming
  ›Time laps
  ›Range
  ›Color Grading
    › ON
HOW:
›Best practice
  ›
  Complex geometry
  ›Static radiosity maps
  ›Real-time
  ›Streaming
  ›Time laps
  ›Range
  ›Color Grading
    › OFF
HOW:
›Best practice
  ›
  Complex geometry
  ›Static radiosity maps
  ›Real-time
  ›Streaming
  ›Time laps
  ›Range
  ›Color Grading
  ›Filmic tone mapping
    › ON
HOW:
›Best practice
  ›
  Complex geometry
  ›Static radiosity maps
  ›Real-time
  ›Streaming
  ›Time laps
  ›Range
  ›Color Grading
  ›Filmic tone mapping
    › OFF
CONCLUSION:
CONCLUSION:
  The advantages
  Time
   › Fast workflow allowing for more iterations
  Time
   › Design changes are not as painful
  Unified lighting system
   › One system to light everything
CONCLUSION:
CONCLUSION:
  The disadvantages
  Memory
   › The radiosity maps uses ‘some’ memory
  Performance
   › Dependent on light probe density
   › Size and amount of pointlights
  Authoring of geometry
   › It takes time
   › Grasp the concept
  Precompute
   › Can take time depending on size of level
SUMMARY:
SUMMARY:
  Workflow
   › It’s dynamic and fast
   › Different
   › Analyze the geometry
  PC
   › Memory
   › Fully dynamic in game lighting
  Consoles
   › Memory issue
   › Not fully dynamic
   › Shadows realtime
   › Lightprobes
   › Only intensity not directional
I want to thank the following:

                Per Einarsson,
               Torbjörn Malmer
              Johan Andersson
                  Robert Kihl
               Joakim Svärling
             Christina Ann Coffin
                 Oscar Carlen
              Andrew Hamilton
Questions?                                              Email: Kenny@dice.se
                                                        WWW.dice.se
                                                        MSN: Louie50028@hotmail.com




Battlefield 3 & Frostbite 2 talks at GDC’11:
Mon 1:45    DX11 Rendering in Battlefield 3                    Johan Andersson
Wed 10:30   SPU-based Deferred Shading in Battlefield 3 for Christina Coffin
            PlayStation 3
Wed 3:00    Culling the Battlefield: Data Oriented Design in   Daniel Collin
            Practice
Thu 1:30    Lighting You Up in Battlefield 3                   Kenny Magnusson
Fri 4:05    Approximating Translucency for a Fast, Cheap & Colin Barré-Brisebois
            Convincing Subsurface Scattering Look




                          For more DICE talks: http://publications.dice.se

Weitere ähnliche Inhalte

Was ist angesagt?

【Unite Tokyo 2019】Unityプログレッシブライトマッパー2019
【Unite Tokyo 2019】Unityプログレッシブライトマッパー2019【Unite Tokyo 2019】Unityプログレッシブライトマッパー2019
【Unite Tokyo 2019】Unityプログレッシブライトマッパー2019UnityTechnologiesJapan002
 
Light the photonic storm
Light   the photonic stormLight   the photonic storm
Light the photonic stormSandeep Kar
 
Refraction and dispersion of light through a prism
Refraction and dispersion of light through a prismRefraction and dispersion of light through a prism
Refraction and dispersion of light through a prismMukesh Tekwani
 
One day short course on Green Building Assessment Methods - Daylight Simulation
One day short course on Green Building Assessment Methods - Daylight SimulationOne day short course on Green Building Assessment Methods - Daylight Simulation
One day short course on Green Building Assessment Methods - Daylight Simulationekwtsang
 

Was ist angesagt? (11)

【Unite Tokyo 2019】Unityプログレッシブライトマッパー2019
【Unite Tokyo 2019】Unityプログレッシブライトマッパー2019【Unite Tokyo 2019】Unityプログレッシブライトマッパー2019
【Unite Tokyo 2019】Unityプログレッシブライトマッパー2019
 
Light the photonic storm
Light   the photonic stormLight   the photonic storm
Light the photonic storm
 
Dispersion
DispersionDispersion
Dispersion
 
Refraction and dispersion of light through a prism
Refraction and dispersion of light through a prismRefraction and dispersion of light through a prism
Refraction and dispersion of light through a prism
 
Decay of Light
Decay of LightDecay of Light
Decay of Light
 
Light
LightLight
Light
 
Light & acoustics
Light & acousticsLight & acoustics
Light & acoustics
 
Vray lighting
Vray lightingVray lighting
Vray lighting
 
Ch.15.light
Ch.15.lightCh.15.light
Ch.15.light
 
One day short course on Green Building Assessment Methods - Daylight Simulation
One day short course on Green Building Assessment Methods - Daylight SimulationOne day short course on Green Building Assessment Methods - Daylight Simulation
One day short course on Green Building Assessment Methods - Daylight Simulation
 
Day lighting final
Day lighting   finalDay lighting   final
Day lighting final
 

Ähnlich wie Lighting you up in Battlefield 3

Gdc11 lighting used in BF3
Gdc11 lighting used in BF3Gdc11 lighting used in BF3
Gdc11 lighting used in BF3Pedram Mazloom
 
A Bit More Deferred Cry Engine3
A Bit More Deferred   Cry Engine3A Bit More Deferred   Cry Engine3
A Bit More Deferred Cry Engine3guest11b095
 
7 illumination and-shading computer graphics
7 illumination and-shading computer graphics7 illumination and-shading computer graphics
7 illumination and-shading computer graphicscairo university
 
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Penner   pre-integrated skin rendering (siggraph 2011 advances in real-time r...Penner   pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...JP Lee
 
Globalillumination
GlobalilluminationGlobalillumination
Globalilluminationmeheng1001
 
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The RunFive Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The RunElectronic Arts / DICE
 
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open ProblemsHPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open ProblemsElectronic Arts / DICE
 
The Technology Behind the DirectX 11 Unreal Engine"Samaritan" Demo
The Technology Behind the DirectX 11 Unreal Engine"Samaritan" DemoThe Technology Behind the DirectX 11 Unreal Engine"Samaritan" Demo
The Technology Behind the DirectX 11 Unreal Engine"Samaritan" Demodrandom
 
Epic_GDC2011_Samaritan
Epic_GDC2011_SamaritanEpic_GDC2011_Samaritan
Epic_GDC2011_SamaritanMinGeun Park
 
More Performance! Five Rendering Ideas From Battlefield 3 and Need For Speed:...
More Performance! Five Rendering Ideas From Battlefield 3 and Need For Speed:...More Performance! Five Rendering Ideas From Battlefield 3 and Need For Speed:...
More Performance! Five Rendering Ideas From Battlefield 3 and Need For Speed:...Colin Barré-Brisebois
 
Shiny Pixels and Beyond: Real-Time Raytracing at SEED
Shiny Pixels and Beyond: Real-Time Raytracing at SEEDShiny Pixels and Beyond: Real-Time Raytracing at SEED
Shiny Pixels and Beyond: Real-Time Raytracing at SEEDElectronic Arts / DICE
 
GDC 2018 Level Design Workshop - How To Light A Level - slides.pdf
GDC 2018 Level Design Workshop - How To Light A Level - slides.pdfGDC 2018 Level Design Workshop - How To Light A Level - slides.pdf
GDC 2018 Level Design Workshop - How To Light A Level - slides.pdfHudsonHawk2
 
Green Custard Friday Talk 17: Ray Tracing
Green Custard Friday Talk 17: Ray TracingGreen Custard Friday Talk 17: Ray Tracing
Green Custard Friday Talk 17: Ray TracingGreen Custard
 

Ähnlich wie Lighting you up in Battlefield 3 (20)

Gdc11 lighting used in BF3
Gdc11 lighting used in BF3Gdc11 lighting used in BF3
Gdc11 lighting used in BF3
 
Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3
 
Lighting you up in Battlefield 3
Lighting you up in Battlefield 3Lighting you up in Battlefield 3
Lighting you up in Battlefield 3
 
A Bit More Deferred Cry Engine3
A Bit More Deferred   Cry Engine3A Bit More Deferred   Cry Engine3
A Bit More Deferred Cry Engine3
 
october23.ppt
october23.pptoctober23.ppt
october23.ppt
 
7 illumination and-shading computer graphics
7 illumination and-shading computer graphics7 illumination and-shading computer graphics
7 illumination and-shading computer graphics
 
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Penner   pre-integrated skin rendering (siggraph 2011 advances in real-time r...Penner   pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...
 
CS 354 Shadows
CS 354 ShadowsCS 354 Shadows
CS 354 Shadows
 
Globalillumination
GlobalilluminationGlobalillumination
Globalillumination
 
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The RunFive Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
 
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open ProblemsHPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
 
The Technology Behind the DirectX 11 Unreal Engine"Samaritan" Demo
The Technology Behind the DirectX 11 Unreal Engine"Samaritan" DemoThe Technology Behind the DirectX 11 Unreal Engine"Samaritan" Demo
The Technology Behind the DirectX 11 Unreal Engine"Samaritan" Demo
 
Epic_GDC2011_Samaritan
Epic_GDC2011_SamaritanEpic_GDC2011_Samaritan
Epic_GDC2011_Samaritan
 
More Performance! Five Rendering Ideas From Battlefield 3 and Need For Speed:...
More Performance! Five Rendering Ideas From Battlefield 3 and Need For Speed:...More Performance! Five Rendering Ideas From Battlefield 3 and Need For Speed:...
More Performance! Five Rendering Ideas From Battlefield 3 and Need For Speed:...
 
Light prepass
Light prepassLight prepass
Light prepass
 
Shiny Pixels and Beyond: Real-Time Raytracing at SEED
Shiny Pixels and Beyond: Real-Time Raytracing at SEEDShiny Pixels and Beyond: Real-Time Raytracing at SEED
Shiny Pixels and Beyond: Real-Time Raytracing at SEED
 
Lighting the City of Glass
Lighting the City of GlassLighting the City of Glass
Lighting the City of Glass
 
Deferred shading
Deferred shadingDeferred shading
Deferred shading
 
GDC 2018 Level Design Workshop - How To Light A Level - slides.pdf
GDC 2018 Level Design Workshop - How To Light A Level - slides.pdfGDC 2018 Level Design Workshop - How To Light A Level - slides.pdf
GDC 2018 Level Design Workshop - How To Light A Level - slides.pdf
 
Green Custard Friday Talk 17: Ray Tracing
Green Custard Friday Talk 17: Ray TracingGreen Custard Friday Talk 17: Ray Tracing
Green Custard Friday Talk 17: Ray Tracing
 

Mehr von drandom

노동진 Mega splatting
노동진 Mega splatting노동진 Mega splatting
노동진 Mega splattingdrandom
 
The Settler 7- 포스트모템
The Settler 7- 포스트모템The Settler 7- 포스트모템
The Settler 7- 포스트모템drandom
 
최우성 구별하여 사용하면 좋은 프로젝트 관련용어
최우성 구별하여 사용하면 좋은 프로젝트 관련용어최우성 구별하여 사용하면 좋은 프로젝트 관련용어
최우성 구별하여 사용하면 좋은 프로젝트 관련용어drandom
 
이은석 마비노기 영웅전 포스트모템 2부 (kgc 버전)
이은석   마비노기 영웅전 포스트모템 2부 (kgc 버전)이은석   마비노기 영웅전 포스트모템 2부 (kgc 버전)
이은석 마비노기 영웅전 포스트모템 2부 (kgc 버전)drandom
 
이은석 마비노기 영웅전 포스트모템 1부 (kgc 버전)
이은석   마비노기 영웅전 포스트모템 1부 (kgc 버전)이은석   마비노기 영웅전 포스트모템 1부 (kgc 버전)
이은석 마비노기 영웅전 포스트모템 1부 (kgc 버전)drandom
 
김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술
김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술
김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술drandom
 
Mmorpg 사례로 본 만족도와 재접속
Mmorpg 사례로 본 만족도와 재접속Mmorpg 사례로 본 만족도와 재접속
Mmorpg 사례로 본 만족도와 재접속drandom
 
그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기drandom
 
Angel cunado_The Terrain Of KUF2
Angel cunado_The Terrain Of KUF2Angel cunado_The Terrain Of KUF2
Angel cunado_The Terrain Of KUF2drandom
 
오토데스크 게임수퍼유저투어 part 2. 제작 파이프라인 현대화
오토데스크 게임수퍼유저투어 part 2. 제작 파이프라인 현대화오토데스크 게임수퍼유저투어 part 2. 제작 파이프라인 현대화
오토데스크 게임수퍼유저투어 part 2. 제작 파이프라인 현대화drandom
 
오토데스크 게임 수퍼유저투어 part1.human ik 및 motionbuilder를 이용한 ea sports game 제작사례
오토데스크 게임 수퍼유저투어 part1.human ik 및 motionbuilder를 이용한 ea sports game 제작사례오토데스크 게임 수퍼유저투어 part1.human ik 및 motionbuilder를 이용한 ea sports game 제작사례
오토데스크 게임 수퍼유저투어 part1.human ik 및 motionbuilder를 이용한 ea sports game 제작사례drandom
 
Landscape 구축, Unreal Engine 3 의 차세대 terrain system
Landscape 구축, Unreal Engine 3 의 차세대 terrain systemLandscape 구축, Unreal Engine 3 의 차세대 terrain system
Landscape 구축, Unreal Engine 3 의 차세대 terrain systemdrandom
 
MMORPG게임엔진의 현재와미래 by 장언일
MMORPG게임엔진의 현재와미래 by 장언일MMORPG게임엔진의 현재와미래 by 장언일
MMORPG게임엔진의 현재와미래 by 장언일drandom
 
Gdc2011 direct x 11 rendering in battlefield 3
Gdc2011 direct x 11 rendering in battlefield 3Gdc2011 direct x 11 rendering in battlefield 3
Gdc2011 direct x 11 rendering in battlefield 3drandom
 
From Content for Next Generation Games by Chris Wells
From Content for Next Generation Games by Chris WellsFrom Content for Next Generation Games by Chris Wells
From Content for Next Generation Games by Chris Wellsdrandom
 

Mehr von drandom (15)

노동진 Mega splatting
노동진 Mega splatting노동진 Mega splatting
노동진 Mega splatting
 
The Settler 7- 포스트모템
The Settler 7- 포스트모템The Settler 7- 포스트모템
The Settler 7- 포스트모템
 
최우성 구별하여 사용하면 좋은 프로젝트 관련용어
최우성 구별하여 사용하면 좋은 프로젝트 관련용어최우성 구별하여 사용하면 좋은 프로젝트 관련용어
최우성 구별하여 사용하면 좋은 프로젝트 관련용어
 
이은석 마비노기 영웅전 포스트모템 2부 (kgc 버전)
이은석   마비노기 영웅전 포스트모템 2부 (kgc 버전)이은석   마비노기 영웅전 포스트모템 2부 (kgc 버전)
이은석 마비노기 영웅전 포스트모템 2부 (kgc 버전)
 
이은석 마비노기 영웅전 포스트모템 1부 (kgc 버전)
이은석   마비노기 영웅전 포스트모템 1부 (kgc 버전)이은석   마비노기 영웅전 포스트모템 1부 (kgc 버전)
이은석 마비노기 영웅전 포스트모템 1부 (kgc 버전)
 
김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술
김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술
김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술
 
Mmorpg 사례로 본 만족도와 재접속
Mmorpg 사례로 본 만족도와 재접속Mmorpg 사례로 본 만족도와 재접속
Mmorpg 사례로 본 만족도와 재접속
 
그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기
 
Angel cunado_The Terrain Of KUF2
Angel cunado_The Terrain Of KUF2Angel cunado_The Terrain Of KUF2
Angel cunado_The Terrain Of KUF2
 
오토데스크 게임수퍼유저투어 part 2. 제작 파이프라인 현대화
오토데스크 게임수퍼유저투어 part 2. 제작 파이프라인 현대화오토데스크 게임수퍼유저투어 part 2. 제작 파이프라인 현대화
오토데스크 게임수퍼유저투어 part 2. 제작 파이프라인 현대화
 
오토데스크 게임 수퍼유저투어 part1.human ik 및 motionbuilder를 이용한 ea sports game 제작사례
오토데스크 게임 수퍼유저투어 part1.human ik 및 motionbuilder를 이용한 ea sports game 제작사례오토데스크 게임 수퍼유저투어 part1.human ik 및 motionbuilder를 이용한 ea sports game 제작사례
오토데스크 게임 수퍼유저투어 part1.human ik 및 motionbuilder를 이용한 ea sports game 제작사례
 
Landscape 구축, Unreal Engine 3 의 차세대 terrain system
Landscape 구축, Unreal Engine 3 의 차세대 terrain systemLandscape 구축, Unreal Engine 3 의 차세대 terrain system
Landscape 구축, Unreal Engine 3 의 차세대 terrain system
 
MMORPG게임엔진의 현재와미래 by 장언일
MMORPG게임엔진의 현재와미래 by 장언일MMORPG게임엔진의 현재와미래 by 장언일
MMORPG게임엔진의 현재와미래 by 장언일
 
Gdc2011 direct x 11 rendering in battlefield 3
Gdc2011 direct x 11 rendering in battlefield 3Gdc2011 direct x 11 rendering in battlefield 3
Gdc2011 direct x 11 rendering in battlefield 3
 
From Content for Next Generation Games by Chris Wells
From Content for Next Generation Games by Chris WellsFrom Content for Next Generation Games by Chris Wells
From Content for Next Generation Games by Chris Wells
 

Kürzlich hochgeladen

DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...Rishabh Aryan
 
FiveHypotheses_UIDMasterclass_18April2024.pdf
FiveHypotheses_UIDMasterclass_18April2024.pdfFiveHypotheses_UIDMasterclass_18April2024.pdf
FiveHypotheses_UIDMasterclass_18April2024.pdfShivakumar Viswanathan
 
办理学位证(TheAuckland证书)新西兰奥克兰大学毕业证成绩单原版一比一
办理学位证(TheAuckland证书)新西兰奥克兰大学毕业证成绩单原版一比一办理学位证(TheAuckland证书)新西兰奥克兰大学毕业证成绩单原版一比一
办理学位证(TheAuckland证书)新西兰奥克兰大学毕业证成绩单原版一比一Fi L
 
'CASE STUDY OF INDIRA PARYAVARAN BHAVAN DELHI ,
'CASE STUDY OF INDIRA PARYAVARAN BHAVAN DELHI ,'CASE STUDY OF INDIRA PARYAVARAN BHAVAN DELHI ,
'CASE STUDY OF INDIRA PARYAVARAN BHAVAN DELHI ,Aginakm1
 
Call Girls in Ashok Nagar Delhi ✡️9711147426✡️ Escorts Service
Call Girls in Ashok Nagar Delhi ✡️9711147426✡️ Escorts ServiceCall Girls in Ashok Nagar Delhi ✡️9711147426✡️ Escorts Service
Call Girls in Ashok Nagar Delhi ✡️9711147426✡️ Escorts Servicejennyeacort
 
(办理学位证)约克圣约翰大学毕业证,KCL成绩单原版一比一
(办理学位证)约克圣约翰大学毕业证,KCL成绩单原版一比一(办理学位证)约克圣约翰大学毕业证,KCL成绩单原版一比一
(办理学位证)约克圣约翰大学毕业证,KCL成绩单原版一比一D SSS
 
Unveiling the Future: Columbus, Ohio Condominiums Through the Lens of 3D Arch...
Unveiling the Future: Columbus, Ohio Condominiums Through the Lens of 3D Arch...Unveiling the Future: Columbus, Ohio Condominiums Through the Lens of 3D Arch...
Unveiling the Future: Columbus, Ohio Condominiums Through the Lens of 3D Arch...Yantram Animation Studio Corporation
 
shot list for my tv series two steps back
shot list for my tv series two steps backshot list for my tv series two steps back
shot list for my tv series two steps back17lcow074
 
ARt app | UX Case Study
ARt app | UX Case StudyARt app | UX Case Study
ARt app | UX Case StudySophia Viganò
 
306MTAMount UCLA University Bachelor's Diploma in Social Media
306MTAMount UCLA University Bachelor's Diploma in Social Media306MTAMount UCLA University Bachelor's Diploma in Social Media
306MTAMount UCLA University Bachelor's Diploma in Social MediaD SSS
 
办理(宾州州立毕业证书)美国宾夕法尼亚州立大学毕业证成绩单原版一比一
办理(宾州州立毕业证书)美国宾夕法尼亚州立大学毕业证成绩单原版一比一办理(宾州州立毕业证书)美国宾夕法尼亚州立大学毕业证成绩单原版一比一
办理(宾州州立毕业证书)美国宾夕法尼亚州立大学毕业证成绩单原版一比一F La
 
Untitled presedddddddddddddddddntation (1).pptx
Untitled presedddddddddddddddddntation (1).pptxUntitled presedddddddddddddddddntation (1).pptx
Untitled presedddddddddddddddddntation (1).pptxmapanig881
 
Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025Rndexperts
 
Call Girls Aslali 7397865700 Ridhima Hire Me Full Night
Call Girls Aslali 7397865700 Ridhima Hire Me Full NightCall Girls Aslali 7397865700 Ridhima Hire Me Full Night
Call Girls Aslali 7397865700 Ridhima Hire Me Full Nightssuser7cb4ff
 
group_15_empirya_p1projectIndustrial.pdf
group_15_empirya_p1projectIndustrial.pdfgroup_15_empirya_p1projectIndustrial.pdf
group_15_empirya_p1projectIndustrial.pdfneelspinoy
 
原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degreeyuu sss
 
Call Girls Meghani Nagar 7397865700 Independent Call Girls
Call Girls Meghani Nagar 7397865700  Independent Call GirlsCall Girls Meghani Nagar 7397865700  Independent Call Girls
Call Girls Meghani Nagar 7397865700 Independent Call Girlsssuser7cb4ff
 
(办理学位证)埃迪斯科文大学毕业证成绩单原版一比一
(办理学位证)埃迪斯科文大学毕业证成绩单原版一比一(办理学位证)埃迪斯科文大学毕业证成绩单原版一比一
(办理学位证)埃迪斯科文大学毕业证成绩单原版一比一Fi sss
 
Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025Rndexperts
 

Kürzlich hochgeladen (20)

DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...
 
FiveHypotheses_UIDMasterclass_18April2024.pdf
FiveHypotheses_UIDMasterclass_18April2024.pdfFiveHypotheses_UIDMasterclass_18April2024.pdf
FiveHypotheses_UIDMasterclass_18April2024.pdf
 
办理学位证(TheAuckland证书)新西兰奥克兰大学毕业证成绩单原版一比一
办理学位证(TheAuckland证书)新西兰奥克兰大学毕业证成绩单原版一比一办理学位证(TheAuckland证书)新西兰奥克兰大学毕业证成绩单原版一比一
办理学位证(TheAuckland证书)新西兰奥克兰大学毕业证成绩单原版一比一
 
'CASE STUDY OF INDIRA PARYAVARAN BHAVAN DELHI ,
'CASE STUDY OF INDIRA PARYAVARAN BHAVAN DELHI ,'CASE STUDY OF INDIRA PARYAVARAN BHAVAN DELHI ,
'CASE STUDY OF INDIRA PARYAVARAN BHAVAN DELHI ,
 
Call Girls in Ashok Nagar Delhi ✡️9711147426✡️ Escorts Service
Call Girls in Ashok Nagar Delhi ✡️9711147426✡️ Escorts ServiceCall Girls in Ashok Nagar Delhi ✡️9711147426✡️ Escorts Service
Call Girls in Ashok Nagar Delhi ✡️9711147426✡️ Escorts Service
 
(办理学位证)约克圣约翰大学毕业证,KCL成绩单原版一比一
(办理学位证)约克圣约翰大学毕业证,KCL成绩单原版一比一(办理学位证)约克圣约翰大学毕业证,KCL成绩单原版一比一
(办理学位证)约克圣约翰大学毕业证,KCL成绩单原版一比一
 
Unveiling the Future: Columbus, Ohio Condominiums Through the Lens of 3D Arch...
Unveiling the Future: Columbus, Ohio Condominiums Through the Lens of 3D Arch...Unveiling the Future: Columbus, Ohio Condominiums Through the Lens of 3D Arch...
Unveiling the Future: Columbus, Ohio Condominiums Through the Lens of 3D Arch...
 
shot list for my tv series two steps back
shot list for my tv series two steps backshot list for my tv series two steps back
shot list for my tv series two steps back
 
ARt app | UX Case Study
ARt app | UX Case StudyARt app | UX Case Study
ARt app | UX Case Study
 
Call Girls in Pratap Nagar, 9953056974 Escort Service
Call Girls in Pratap Nagar,  9953056974 Escort ServiceCall Girls in Pratap Nagar,  9953056974 Escort Service
Call Girls in Pratap Nagar, 9953056974 Escort Service
 
306MTAMount UCLA University Bachelor's Diploma in Social Media
306MTAMount UCLA University Bachelor's Diploma in Social Media306MTAMount UCLA University Bachelor's Diploma in Social Media
306MTAMount UCLA University Bachelor's Diploma in Social Media
 
办理(宾州州立毕业证书)美国宾夕法尼亚州立大学毕业证成绩单原版一比一
办理(宾州州立毕业证书)美国宾夕法尼亚州立大学毕业证成绩单原版一比一办理(宾州州立毕业证书)美国宾夕法尼亚州立大学毕业证成绩单原版一比一
办理(宾州州立毕业证书)美国宾夕法尼亚州立大学毕业证成绩单原版一比一
 
Untitled presedddddddddddddddddntation (1).pptx
Untitled presedddddddddddddddddntation (1).pptxUntitled presedddddddddddddddddntation (1).pptx
Untitled presedddddddddddddddddntation (1).pptx
 
Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025
 
Call Girls Aslali 7397865700 Ridhima Hire Me Full Night
Call Girls Aslali 7397865700 Ridhima Hire Me Full NightCall Girls Aslali 7397865700 Ridhima Hire Me Full Night
Call Girls Aslali 7397865700 Ridhima Hire Me Full Night
 
group_15_empirya_p1projectIndustrial.pdf
group_15_empirya_p1projectIndustrial.pdfgroup_15_empirya_p1projectIndustrial.pdf
group_15_empirya_p1projectIndustrial.pdf
 
原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
 
Call Girls Meghani Nagar 7397865700 Independent Call Girls
Call Girls Meghani Nagar 7397865700  Independent Call GirlsCall Girls Meghani Nagar 7397865700  Independent Call Girls
Call Girls Meghani Nagar 7397865700 Independent Call Girls
 
(办理学位证)埃迪斯科文大学毕业证成绩单原版一比一
(办理学位证)埃迪斯科文大学毕业证成绩单原版一比一(办理学位证)埃迪斯科文大学毕业证成绩单原版一比一
(办理学位证)埃迪斯科文大学毕业证成绩单原版一比一
 
Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025
 

Lighting you up in Battlefield 3

  • 1. Lighting you up in Battlefield 3 Kenny Magnusson (DICE) GDC 2011 Hi, my name is Kenny Magnusson. I am a senior artist at dice, right now working on Battlefield 3. before I worked on the frostbite team as technical lighting atist I have worded at dice for almost 15 years now and been involved with most of the games created at dice. Lighting both in film and computer games has always been a passion of mine. Lighting in computer games are especially interesting because we let the player take control of the camera and basically look at whatever he ore she wants. I am going to talk to you to day about the new lighting system in the Frostbite 2 engine and how it enables us to stretch the boundaries of lighting in Battlefield 3 with its highly dynamic, varied and destructible environments.
  • 2. Agenda: I will talk about our past, what we wanted for battlefield 3, how we got it and The conclusion n last I’ll summarize.
  • 3. Agenda: ›Past: and Mirror's edge › Battlefield ›Small environments ›Large environments ›Lights ›Best practice ››Want: from both worlds The best ›Improvements ›Conclusion: ›Real-time radiosity lighting system ›Frostbite 2 ›Summary: ››How: radiosity architecture Real time I will talk about our past, what we wanted for battlefield 3, how we got it and The conclusion n last I’ll summarize.
  • 4. PAST: Battlefield Bad Company Mirror’s Edge Frostbite 1 Unreal Engine 3 So our past : our past is Battlefield bad company using Frostbite 1 engine and Mirrors edge with Unreal engine 3
  • 5. PAST: Battlefield Bad Company Mirror’s Edge Frostbite 1 Unreal Engine 3 › Forward-rendering › Forward-rendering › No streaming › Streaming › Hemispherical sky/ground light + directional sun light › Static world / static lighting › 3 point lighting › Illuminate Labs Beast Offline Generation › 100% Dynamic shadows, cascaded shadowmaps › Global Illumination (bounce, emissive, translucent) › Stored as directional lightmaps (Radiosity Normal Maps) › 3 slices, 1024x1024 › Single (!) point light per object › Dynamic objects (i.e. Faith) › Pre-calculated light probes form basis for relighting dynamic objects › No Global Illumination › Combine most relevant probes to form SH basis for lighting › No Screen Space Ambient Occlusion › Extract major light axis as “directional light source” › Use conventional shadow mapping from extracted directional › Static sky occlusion maps for buildings & bigger objects › Static sky occlusion volumes for indoor environments that dynamic objects sampled a single value from These two engines are very different Frostbite 1 was made to have vast outdoor landscapes and a fully destructible world. It had 100 dynamic shadows and 3 point lighting system. No global illumination. We bake Static occlusion maps for bigger objects. Mirrors edge Didn't need any destruction in the same scale as Battlefield and there main focus was a city landscape. So static baked lightmaps worked fine. We used Unreal Engine 3 with Illuminate Labs Beast Offline Lightmap baking for this project.
  • 6. WANT: How could we get the best from both worlds? + some more..
  • 7. WANT: ›GI In a highly dynamic and destructible environment This is the big one right. How to get it looking like Mirrors edge while also being a destructible world.
  • 8. WANT: ›Indoor We wanted the indoor lighting to look as good as Mirrors Edge while having a fully destructible indoor environment. Battlefield BC 2 indoor lighting did not look that good.
  • 9. WANT: ›Outdoor We wanted both beautiful landscape and a stunning city vista in one level.
  • 10. WANT: ›Large environments with reflective surfaces Reflective surfaces is very important to give life to all materials, ME did this very good but Frostbite 1 has always struggled with this. One big problem is when your moving from a outdoor environment in to a indoor environment.
  • 11. WANT: ›Lights With lights and destruction comes one big problem. We want to be able to destroy lights. ME had static baked lightmaps, so did the last BC2 level And therefore we can not destroy light because the light is baked in to the texture.
  • 12. WANT: Improvements To be able to have a very Dynamic and Destructibal world, we needed some more improvements. You cant have static baked light maps in a destructible world, we needed a another solution.
  • 13. WANT: ›Improvements › Deferred rendering If we want lights in the world, we need to be able to destroy them to. Right…
  • 14. WANT: ›Improvements › Deferred rendering ›More lighting models
  • 15. WANT: ›Improvements › Deferred rendering ›More lighting models ›Translucency
  • 16. WANT: ›Improvements › Deferred rendering ›More lighting models ›Translucency ›Faster workflows recognize this? Renderfarm baking lightmaps, slow!
  • 17. WANT: ›Improvements › Deferred rendering ›More lighting models ›Translucency ›Faster workflows ›Simultaneous Here everybody is standing in line to work on the game. To be able to work simultaneous with art, design and sound on one level would be great. Usually we have a lot off different gates when we produce games, first design, then art and so on.
  • 18. WANT: ›Improvements › Deferred rendering ›More lighting models ›Translucency ›Faster workflows ›Simultaneous ›Particle lighting We have always had problems making particles look like they fit in to the world. They are sometimes to dark or too bright or the wrong color.
  • 19. WANT: ›Improvements › Deferred rendering ›More lighting models ›Translucency ›Faster workflows ›Simultaneous ›Particle lighting ›Bloom
  • 20. WANT: ›Improvements › Deferred rendering ›More lighting models ›Translucency ›Faster workflows ›Simultaneous ›Particle lighting ›Bloom ›Filmic Tonemapping
  • 21. WANT: ›Real-time radiosity lighting system ›Enlighten › Geomerics › Cambridge, UK based. Spun out of Cambridge University › Collaborated over many years › Works for all platforms › PLAYSTATION®3,XBox 360™, PC for Windows. Implementing enlighten in frostbite
  • 22. WANT: ›Real-time radiosity lighting system ›Enlighten › Geomerics › Cambridge, UK based. Spun out of Cambridge University › Collaborated over many years › Works for all platforms › PLAYSTATION®3,XBox 360™, PC for Windows. Implementing enlighten in frostbite
  • 23. WANT: ›Frostbite 2 Last but not least editor workflows have always been a problem for us, especially when it comes to the consoles.
  • 24. HOW: ”Realtime radiosity architecture for a game” How does the full lighting pipeline work in Battlefield 3 either reflected, or absorbed and partially re‐emitted. Surfaces that mostly reflect light appear shiny and we say they are highly specular. Surfaces that absorb and then re‐emit tend to do so in all directions, so they appear matte and look the same regardless of what angle you look at them from. Mostly matte surfaces, such as dry concrete or paper, are said to be highly diffuse.   Both specular reflections and diffuse re‐emission bounce light back into the world. The reflected light could then strike another surface, where another portion of it may be bounced, and this continues until all light has been fully absorbed or reflected out of the environment. This light bouncing effect is typically ignored in most game lighting models because it massively increases the complexity of the computations.
  • 25. HOW: Specular either reflected, or absorbed and partially re‐emitted. Surfaces that mostly reflect light appear shiny and we say they are highly specular.
  • 26. HOW: Diffuse Surfaces that absorb and then re‐emit tend to do so in all directions, so they appear matte and look the same regardless of what angle you look at them from. Mostly matte surfaces, such as dry concrete or paper, are said to be highly diffuse.  
  • 27. HOW: Specular bounce Both specular reflections and diffuse re‐emission bounce light back into the world.
  • 28. HOW: Diffuse bounce The reflected light could then strike another surface, where another portion of it may be bounced, and this continues until all light has been fully absorbed or reflected out of the environment. This light bouncing effect is typically ignored in most game lighting models because it massively increases the complexity of the computations. There are two main approaches to simulating global illumination effects in games right now. Artists can either resort to pre‐baked lightmaps or can manually place lights in the scene to model light reflection. Both approaches to lighting have a number of failings:  
  • 29. HOW: Pre‐baked lightmaps  · Pre‐baking lightmaps can produce high quality results, but severely limits the dynamic aspects of game lighting. time consuming, limiting artists’ ability to iterate on a scene.
  • 30. HOW: Typical lightmap  · Pre‐baking lightmaps can produce high quality results, but severely limits the dynamic aspects of game lighting. time consuming, limiting artists’ ability to iterate on a scene.  
  • 31. HOW: Placing direct lights  · Simulating global illumination by placing direct lights does give an artist control, but can be very difficult to use in practice. affect performance.
  • 32. HOW: Radiosity · Simulating global illumination by placing direct lights does give an artist control, but can be very difficult to use in practice. affect performance.
  • 33. HOW:
  • 34. HOW: Enlighten dynamically computes indirect lighting within your scene. Real-time radiosity really provides full artistic control over the bounced light to allow a fully dynamic workflow. This greatly reduces the time required to light a scene by artists, and opens up the possibility of completely changing the feel and mood of your scenes dynamically. The Real-time radiosity output textures store the color and intensity of the indirect lighting as well as the major directions of light. This information can be used in your shaders to compute indirect specular reflections and normal‐mapped surfaces. We need to split the lighting system in to two part and this is mainly because of memory consumption but also performance wile lighting. Simplifying the geometry is necessary for Enlighten to be able to Handle all the radiosity data.
  • 35. HOW: Enlighten dynamically computes indirect lighting within your scene. Real-time radiosity really provides full artistic control over the bounced light to allow a fully dynamic workflow. This greatly reduces the time required to light a scene by artists, and opens up the possibility of completely changing the feel and mood of your scenes dynamically. The Real-time radiosity output textures store the color and intensity of the indirect lighting as well as the major directions of light. This information can be used in your shaders to compute indirect specular reflections and normal‐mapped surfaces. We need to split the lighting system in to two part and this is mainly because of memory consumption but also performance wile lighting. Simplifying the geometry is necessary for Enlighten to be able to Handle all the radiosity data.  
  • 36. HOW: The fist one is The Lightmap lit geometry and the second one is the Lightprobe lit geometry. Lightmap lit geometry is parameterized and lit with dynamic lightmaps. This geometry can bounce light, and typically represents large and inanimate objects that don’t move. Lightprobe lit geometry can only receive bounce light by sampling light probes. I will get back to what lightprobes are in a minute. They are typically the character ore a dynamic object but can also be a static geometry that don’t affect the lighting too much.
  • 37. HOW: ›Lightmap lit geometry The fist one is The Lightmap lit geometry and the second one is the Lightprobe lit geometry. Lightmap lit geometry is parameterized and lit with dynamic lightmaps. This geometry can bounce light, and typically represents large and inanimate objects that don’t move. Lightprobe lit geometry can only receive bounce light by sampling light probes. I will get back to what lightprobes are in a minute. They are typically the character ore a dynamic object but can also be a static geometry that don’t affect the lighting too much.
  • 38. HOW: ›Lightmap lit geometry › Large and inanimate The fist one is The Lightmap lit geometry and the second one is the Lightprobe lit geometry. Lightmap lit geometry is parameterized and lit with dynamic lightmaps. This geometry can bounce light, and typically represents large and inanimate objects that don’t move. Lightprobe lit geometry can only receive bounce light by sampling light probes. I will get back to what lightprobes are in a minute. They are typically the character ore a dynamic object but can also be a static geometry that don’t affect the lighting too much.
  • 39. HOW: ›Lightmap lit geometry › Large and inanimate › Receive and bounce light The fist one is The Lightmap lit geometry and the second one is the Lightprobe lit geometry. Lightmap lit geometry is parameterized and lit with dynamic lightmaps. This geometry can bounce light, and typically represents large and inanimate objects that don’t move. Lightprobe lit geometry can only receive bounce light by sampling light probes. I will get back to what lightprobes are in a minute. They are typically the character ore a dynamic object but can also be a static geometry that don’t affect the lighting too much.
  • 40. HOW: ›Lightmap lit geometry › Large and inanimate › Receive and bounce light › Static geometry The fist one is The Lightmap lit geometry and the second one is the Lightprobe lit geometry. Lightmap lit geometry is parameterized and lit with dynamic lightmaps. This geometry can bounce light, and typically represents large and inanimate objects that don’t move. Lightprobe lit geometry can only receive bounce light by sampling light probes. I will get back to what lightprobes are in a minute. They are typically the character ore a dynamic object but can also be a static geometry that don’t affect the lighting too much.
  • 41. HOW: ›Lightmap lit geometry › Large and inanimate › Receive and bounce light › Static geometry ›Lightprobe lit geometry The fist one is The Lightmap lit geometry and the second one is the Lightprobe lit geometry. Lightmap lit geometry is parameterized and lit with dynamic lightmaps. This geometry can bounce light, and typically represents large and inanimate objects that don’t move. Lightprobe lit geometry can only receive bounce light by sampling light probes. I will get back to what lightprobes are in a minute. They are typically the character ore a dynamic object but can also be a static geometry that don’t affect the lighting too much.
  • 42. HOW: ›Lightmap lit geometry › Small and organic › Large and inanimate › Receive and bounce light › Static geometry ›Lightprobe lit geometry The fist one is The Lightmap lit geometry and the second one is the Lightprobe lit geometry. Lightmap lit geometry is parameterized and lit with dynamic lightmaps. This geometry can bounce light, and typically represents large and inanimate objects that don’t move. Lightprobe lit geometry can only receive bounce light by sampling light probes. I will get back to what lightprobes are in a minute. They are typically the character ore a dynamic object but can also be a static geometry that don’t affect the lighting too much.
  • 43. HOW: ›Lightmap lit geometry › Small and organic › Large and inanimate › Only receive light › Receive and bounce light › Static geometry ›Lightprobe lit geometry The fist one is The Lightmap lit geometry and the second one is the Lightprobe lit geometry. Lightmap lit geometry is parameterized and lit with dynamic lightmaps. This geometry can bounce light, and typically represents large and inanimate objects that don’t move. Lightprobe lit geometry can only receive bounce light by sampling light probes. I will get back to what lightprobes are in a minute. They are typically the character ore a dynamic object but can also be a static geometry that don’t affect the lighting too much.
  • 44. HOW: ›Lightmap lit geometry › Small and organic › Large and inanimate › Only receive light › Receive and bounce light › Cant bounce light › Static geometry ›Lightprobe lit geometry The fist one is The Lightmap lit geometry and the second one is the Lightprobe lit geometry. Lightmap lit geometry is parameterized and lit with dynamic lightmaps. This geometry can bounce light, and typically represents large and inanimate objects that don’t move. Lightprobe lit geometry can only receive bounce light by sampling light probes. I will get back to what lightprobes are in a minute. They are typically the character ore a dynamic object but can also be a static geometry that don’t affect the lighting too much.
  • 45. HOW: ›Lightmap lit geometry › Small and organic › Large and inanimate › Only receive light › Receive and bounce light › Cant bounce light › Static geometry › Dynamic and static geometry ›Lightprobe lit geometry The fist one is The Lightmap lit geometry and the second one is the Lightprobe lit geometry. Lightmap lit geometry is parameterized and lit with dynamic lightmaps. This geometry can bounce light, and typically represents large and inanimate objects that don’t move. Lightprobe lit geometry can only receive bounce light by sampling light probes. I will get back to what lightprobes are in a minute. They are typically the character ore a dynamic object but can also be a static geometry that don’t affect the lighting too much.
  • 46. HOW: In the mesh classification picture you will soon se, you can see how we clearly define Lightmap lit geometry and Lightprobe lit geometry
  • 47. HOW: : static in yellow and dynamic in blue. The underlying geometry ( Lightmap lit geometry ) is used to bounce light, which then is transferred to all objects ( Lightprobe lit geometryin ) the scene.
  • 48. HOW:
  • 50. HOW: ›Lightmap lit geometry › Detail geometry
  • 51. HOW: ›Lightmap lit geometry › Detail geometry › UVs generated by projection This means that a new UV set is created automatically
  • 52. HOW: ›Lightmap lit geometry › Detail geometry › UVs generated by projection › No additional lighting data
  • 53. HOW: ›Lightmap lit geometry › Detail geometry › UVs generated by projection › No additional lighting data › “Off-axis” lighting comes from directional data in lightmap
  • 54. HOW: ›Lightmap lit geometry › Detail geometry › UVs generated by projection › No additional lighting data › “Off-axis” lighting comes from directional data in lightmap ›Target geometry We need to make simpler geometry for the Lighting system to be able to handle all the radiosity data
  • 55. HOW: ›Lightmap lit geometry › Detail geometry › UVs generated by projection › No additional lighting data › “Off-axis” lighting comes from directional data in lightmap ›Target geometry › Has simple UV surface area
  • 56. HOW: ›Lightmap lit geometry › Detail geometry › UVs generated by projection › No additional lighting data › “Off-axis” lighting comes from directional data in lightmap ›Target geometry › Has simple UV surface area › Poly count is not important › Various authoring options
  • 57. HOW: ›Lightmap geometry lit geometry › Authoring of Detail geometry UV Target geometry UV › UVs
  • 58. HOW: Detail geometry UV Transferred to the ›Lightmap geometry lit geometry Target geometry UV › Authoring of › UVs › Surface transfer
  • 59. HOW: Detail geometry UV Transferred to the ›Lightmap geometry lit geometry Target geometry UV › Authoring of › UVs › Surface transfer
  • 60. HOW: Target geometry lightmap ›Lightmap geometry lit geometry › Authoring of › UVs › Surface transfer
  • 61. HOW: Target geometry lightmap Transferred to the ›Lightmap geometry lit geometry Detail geometry › Authoring of › UVs › Surface transfer This uv projection is done when we import an object into the Editor.
  • 62. HOW: ›Lightprobe lit geometry › Lightprobe volumes We need to store lighting information for the dynamic, small and the very complex (organic ) objects in different way. Therefore, we place light probes in the world that store the global illumination lighting. The objects that read these light probes can only receive light, not bounce or generate additional light. The probes are stored in a grid:
  • 63. HOW: ›Lightprobe lit geometry › Lightprobe volumes in this picture their positions are represented as spheres. In each of these positions we store the lighting using a spherical harmonic representation, which means we basically have the incoming lighting in all directions. As dynamic objects move through this grid, they will pick up the correct lighting.
  • 64. HOW: ›Lightprobe lit geometry › Lightprobe volumes in this picture their positions are represented as spheres. In each of these positions we store the lighting using a spherical harmonic representation, which means we basically have the incoming lighting in all directions. As dynamic objects move through this grid, they will pick up the correct lighting.
  • 65. HOW: ›Precompute › Analyze the geometry Before we can run the game with dynamic radiosity we have to do a precompute pass in the pipeline. In this step we analyze the geometry in the scene and generate data which we need in the game to generate the dynamic lighting. This step can be time consuming. For the scene you’ve seen here it takes about 20 minutes. But we only have to redo this step when we modify the static geometry in the scene, not when we change the lighting or the surface colors.
  • 66. HOW: ›Runtime lighting pipeline 1.Radiosity pass (CPU) › Update indirect lightmaps and lightprobes 2.Geometry pass (GPU) › Store indirect lighting in separate G-buffer 3.Light pass (GPU) › Render deferred light sources › Add indirect lighting from G-buffer The complete render pipeline looks like this. First, we update lightmaps & light probes on the CPU. Next, we run the geometry pass, where we add bounce light from the lightmaps and lightprobes to a separate g-buffer. Finally, in the light pass, we first render all deferred lights. Then We add the indirect lighting from the g-buffer.
  • 67. HOW: ›Small environments › Sky visibility Sky visibility is a term we use to say how much of the sky each pixel can see. We use it to blend between a dynamic outdoor environment map and a static indoor environment map to avoid the problem of a strong blue sky reflection on objects inside buildings as well as to smoothly transition between indoor and outdoor environments.
  • 68. HOW: ›Small environments › Sky visibility ›Environment maps The indoor environment map gets its color and intensity from the dynamic radiosity that we calculate and this is combined with a black & white albedo envmap that modulates it and creates view-dependent motion in the surface.
  • 69. HOW: ›Large environments › Skylight We need to make a spherical harmonic representation of the sky. This is used for lighting big outdoor environments. The small Envmap cross you see to the left of every picture is the spherical harmonic debug view.
  • 70. HOW: ›Large environments › Skylight We need to make a spherical harmonic representation of the sky. This is used for lighting big outdoor environments. The small Envmap cross you see in the middle of every picture is the spherical harmonic debug view.
  • 71. HOW: ›Large environments › Skylight We need to make a spherical harmonic representation of the sky. This is used for lighting big outdoor environments. The small Envmap cross you see in the middle of every picture is the spherical harmonic debug view.
  • 73. HOW: ›Large environments › Skylight ›Terrain Every red point you see in the picture is a light probe, it’s getting snapped to the height field of the terrain. The resolution of the light probe grid depends on the terrain patch size.
  • 74. HOW: ›Large environments › Skylight ›Terrain It’s the same for the lightmaps for the terrain, it also deepens on the terrain patch size..
  • 78. HOW: Why is it important to separate some elements in the lighting system? Freedom : As a lighting artist I want to be able to have a red sky and green ground, and not to be forced to change the color of the sky just to get the ground brighter. You need to be careful what systems interact with each other in a lighting system.
  • 79. HOW: ›Best practice › Complex geometry Complex geometry : Working with light probes: for complex objects (i.e. house), some parts can be taken out of the geometry and imported as lightprobe lit geometry to optimize authoring time. Gray is lightmap lit geometry, red are lightprobe lit geometry and the blue are transparent surface and don’t need to be lit by enlighten Static radiosity maps : You can use this system as a fast way of baking out light maps / radiosity maps in this case (no shados). Real-time : The real-time part on Enlighten can be used in smaller contained areas. Streaming : Streaming in and out baked radiosity maps works fine depending on the sizes of the streaming zones Time lapse : Time-lapse works only with dynamic enlighten enabled. Range : Be careful if you have too much range in the lighting because of the data stored in the light probes are packed. Color Grading : Looking how film is post processed, color grading should be applied last in the chain. Filmic tone mapping : . There are a couple of filmic tonemapping formulas out there, use the one that suit the art direction of your game.
  • 80. HOW: ›Best practice › Complex geometry ›Static radiosity maps Complex geometry : Working with light probes: for complex objects (i.e. house), some parts can be taken out of the geometry and imported as lightprobe lit geometry to optimize authoring time. Gray is lightmap lit geometry, red are lightprobe lit geometry and the blue are transparent surface and don’t need to be lit by enlighten Static radiosity maps : You can use this system as a fast way of baking out light maps / radiosity maps in this case (no shados). Real-time : The real-time part on Enlighten can be used in smaller contained areas. Streaming : Streaming in and out baked radiosity maps works fine depending on the sizes of the streaming zones Time lapse : Time-lapse works only with dynamic enlighten enabled. Range : Be careful if you have too much range in the lighting because of the data stored in the light probes are packed. Color Grading : Looking how film is post processed, color grading should be applied last in the chain. Filmic tone mapping : . There are a couple of filmic tonemapping formulas out there, use the one that suit the art direction of your game.
  • 81. HOW: ›Best practice › Complex geometry ›Static radiosity maps ›Real-time Complex geometry : Working with light probes: for complex objects (i.e. house), some parts can be taken out of the geometry and imported as lightprobe lit geometry to optimize authoring time. Gray is lightmap lit geometry, red are lightprobe lit geometry and the blue are transparent surface and don’t need to be lit by enlighten Static radiosity maps : You can use this system as a fast way of baking out light maps / radiosity maps in this case (no shados). Real-time : The real-time part on Enlighten can be used in smaller contained areas. Streaming : Streaming in and out baked radiosity maps works fine depending on the sizes of the streaming zones Time lapse : Time-lapse works only with dynamic enlighten enabled. Range : Be careful if you have too much range in the lighting because of the data stored in the light probes are packed. Color Grading : Looking how film is post processed, color grading should be applied last in the chain. Filmic tone mapping : . There are a couple of filmic tonemapping formulas out there, use the one that suit the art direction of your game.
  • 82. HOW: ›Best practice › Complex geometry ›Static radiosity maps ›Real-time ›Streaming Complex geometry : Working with light probes: for complex objects (i.e. house), some parts can be taken out of the geometry and imported as lightprobe lit geometry to optimize authoring time. Gray is lightmap lit geometry, red are lightprobe lit geometry and the blue are transparent surface and don’t need to be lit by enlighten Static radiosity maps : You can use this system as a fast way of baking out light maps / radiosity maps in this case (no shados). Real-time : The real-time part on Enlighten can be used in smaller contained areas. Streaming : Streaming in and out baked radiosity maps works fine depending on the sizes of the streaming zones Time lapse : Time-lapse works only with dynamic enlighten enabled. Range : Be careful if you have too much range in the lighting because of the data stored in the light probes are packed. Color Grading : Looking how film is post processed, color grading should be applied last in the chain. Filmic tone mapping : . There are a couple of filmic tonemapping formulas out there, use the one that suit the art direction of your game.
  • 83. HOW: ›Best practice › Complex geometry ›Static radiosity maps ›Real-time ›Streaming ›Time laps Complex geometry : Working with light probes: for complex objects (i.e. house), some parts can be taken out of the geometry and imported as lightprobe lit geometry to optimize authoring time. Gray is lightmap lit geometry, red are lightprobe lit geometry and the blue are transparent surface and don’t need to be lit by enlighten Static radiosity maps : You can use this system as a fast way of baking out light maps / radiosity maps in this case (no shados). Real-time : The real-time part on Enlighten can be used in smaller contained areas. Streaming : Streaming in and out baked radiosity maps works fine depending on the sizes of the streaming zones Time lapse : Time-lapse works only with dynamic enlighten enabled. Range : Be careful if you have too much range in the lighting because of the data stored in the light probes are packed. Color Grading : Looking how film is post processed, color grading should be applied last in the chain. Filmic tone mapping : . There are a couple of filmic tonemapping formulas out there, use the one that suit the art direction of your game.
  • 84. HOW: ›Best practice › Complex geometry ›Static radiosity maps ›Real-time ›Streaming ›Time laps ›Range Complex geometry : Working with light probes: for complex objects (i.e. house), some parts can be taken out of the geometry and imported as lightprobe lit geometry to optimize authoring time. Gray is lightmap lit geometry, red are lightprobe lit geometry and the blue are transparent surface and don’t need to be lit by enlighten Static radiosity maps : You can use this system as a fast way of baking out light maps / radiosity maps in this case (no shados). Real-time : The real-time part on Enlighten can be used in smaller contained areas. Streaming : Streaming in and out baked radiosity maps works fine depending on the sizes of the streaming zones Time lapse : Time-lapse works only with dynamic enlighten enabled. Range : Be careful if you have too much range in the lighting because of the data stored in the light probes are packed. Color Grading : Looking how film is post processed, color grading should be applied last in the chain. Filmic tone mapping : . There are a couple of filmic tonemapping formulas out there, use the one that suit the art direction of your game.
  • 85. HOW: ›Best practice › Complex geometry ›Static radiosity maps ›Real-time ›Streaming ›Time laps ›Range ›Color Grading › ON
  • 86. HOW: ›Best practice › Complex geometry ›Static radiosity maps ›Real-time ›Streaming ›Time laps ›Range ›Color Grading › OFF
  • 87. HOW: ›Best practice › Complex geometry ›Static radiosity maps ›Real-time ›Streaming ›Time laps ›Range ›Color Grading ›Filmic tone mapping › ON
  • 88. HOW: ›Best practice › Complex geometry ›Static radiosity maps ›Real-time ›Streaming ›Time laps ›Range ›Color Grading ›Filmic tone mapping › OFF
  • 90. CONCLUSION: The advantages Time › Fast workflow allowing for more iterations Time › Design changes are not as painful Unified lighting system › One system to light everything
  • 92. CONCLUSION: The disadvantages Memory › The radiosity maps uses ‘some’ memory Performance › Dependent on light probe density › Size and amount of pointlights Authoring of geometry › It takes time › Grasp the concept Precompute › Can take time depending on size of level
  • 94. SUMMARY: Workflow › It’s dynamic and fast › Different › Analyze the geometry PC › Memory › Fully dynamic in game lighting Consoles › Memory issue › Not fully dynamic › Shadows realtime › Lightprobes › Only intensity not directional
  • 95. I want to thank the following: Per Einarsson, Torbjörn Malmer Johan Andersson Robert Kihl Joakim Svärling Christina Ann Coffin Oscar Carlen Andrew Hamilton
  • 96. Questions? Email: Kenny@dice.se WWW.dice.se MSN: Louie50028@hotmail.com Battlefield 3 & Frostbite 2 talks at GDC’11: Mon 1:45 DX11 Rendering in Battlefield 3 Johan Andersson Wed 10:30 SPU-based Deferred Shading in Battlefield 3 for Christina Coffin PlayStation 3 Wed 3:00 Culling the Battlefield: Data Oriented Design in Daniel Collin Practice Thu 1:30 Lighting You Up in Battlefield 3 Kenny Magnusson Fri 4:05 Approximating Translucency for a Fast, Cheap & Colin Barré-Brisebois Convincing Subsurface Scattering Look For more DICE talks: http://publications.dice.se