An OrthoGPUProducer layer to blend the tiles of two OrthoGPUProducer. More...
#include <TextureLayer.h>
Classes | |
struct | BlendParams |
Structure used to pass blend arguments to the framebuffer. More... | |
Public Member Functions | |
TextureLayer (ptr< TileProducer > tiles, ptr< Program > program, std::string tilesSamplerName, BlendParams blend, int minDisplaylevel, bool storeTiles=false) | |
Creates a new TextureLayer. | |
virtual | ~TextureLayer () |
Deletes this TextureLayer. | |
Protected Member Functions | |
TextureLayer () | |
Creates an uninitialized TextureLayer. | |
void | init (ptr< TileProducer > tiles, ptr< Program > program, std::string tilesSamplerName, BlendParams blend, int minDisplaylevel, bool storeTiles=false) |
Initializes this TextureLayer. | |
Protected Attributes | |
ptr< Program > | program |
The Program to be used to transform the tiles produced by tiles before bending them into the tiles produced by the producer to which this layer belongs. | |
Private Attributes | |
ptr< TileProducer > | tiles |
The producer producing the tiles that must be blended into the tiles produced by the producer to which this layer belongs. | |
std::string | tilesSamplerName |
Name of the samplerTile uniform in program that is used to access the tiles produced by tiles. | |
BlendParams | blend |
The blend equations and functions to be used to blend the tiles together. | |
int | minDisplayLevel |
The quadtree level at which the display of this layer must start. |
An OrthoGPUProducer layer to blend the tiles of two OrthoGPUProducer.
This layer modifies the tiles of its OrthoGPUProducer producer by blending into them the tiles produced by another OrthoGPUProducer, after they have been transformed via a GPU Program.
proland::TextureLayer::TextureLayer | ( | ptr< TileProducer > | tiles, | |
ptr< Program > | program, | |||
std::string | tilesSamplerName, | |||
BlendParams | blend, | |||
int | minDisplaylevel, | |||
bool | storeTiles = false | |||
) |
Creates a new TextureLayer.
tiles | the producer producing the tiles that must be blended into the tiles produced by the producer to which this layer belongs. The 'tiles' producer must be a GPU producer, but the size and format of its tiles are arbitrary. Its maximum level can also be less than the maximum level of the producer to which this layer belongs (in this cas an automatic zoom is used to produce finer tiles). | |
program | the Program to be used to transform the tiles produced by 'tiles' before bending them into the tiles produced by the producer to which this layer belongs. | |
tilesSamplerName | name of the samplerTile uniform in 'program' that is used to access the tiles produced by 'tiles'. | |
blend | the blend equations and functions to be used to blend the tiles together. | |
minDisplayLevel | the quadtree level at which the display of this layer must start. |
virtual proland::TextureLayer::~TextureLayer | ( | ) | [virtual] |
Deletes this TextureLayer.
proland::TextureLayer::TextureLayer | ( | ) | [protected] |
Creates an uninitialized TextureLayer.
void proland::TextureLayer::init | ( | ptr< TileProducer > | tiles, | |
ptr< Program > | program, | |||
std::string | tilesSamplerName, | |||
BlendParams | blend, | |||
int | minDisplaylevel, | |||
bool | storeTiles = false | |||
) | [protected] |
Initializes this TextureLayer.
See TextureLayer.
BlendParams proland::TextureLayer::blend [private] |
The blend equations and functions to be used to blend the tiles together.
int proland::TextureLayer::minDisplayLevel [private] |
The quadtree level at which the display of this layer must start.
ptr<Program> proland::TextureLayer::program [protected] |
The Program to be used to transform the tiles produced by tiles before bending them into the tiles produced by the producer to which this layer belongs.
ptr<TileProducer> proland::TextureLayer::tiles [private] |
The producer producing the tiles that must be blended into the tiles produced by the producer to which this layer belongs.
Must be a GPU producer, but the size and format of its tiles are arbitrary.
std::string proland::TextureLayer::tilesSamplerName [private] |