This commit is contained in:
Patrick Walton 2018-12-19 20:30:36 -08:00
parent 2353396ed9
commit 4fd332955a
2 changed files with 9 additions and 1 deletions

View File

@ -275,6 +275,7 @@ class App {
gl.vertexAttribDivisor(maskTileProgram.attributes.Color, 1); gl.vertexAttribDivisor(maskTileProgram.attributes.Color, 1);
gl.enableVertexAttribArray(maskTileProgram.attributes.TessCoord); gl.enableVertexAttribArray(maskTileProgram.attributes.TessCoord);
gl.enableVertexAttribArray(maskTileProgram.attributes.TileOrigin); gl.enableVertexAttribArray(maskTileProgram.attributes.TileOrigin);
gl.enableVertexAttribArray(maskTileProgram.attributes.Backdrop);
gl.enableVertexAttribArray(maskTileProgram.attributes.Color); gl.enableVertexAttribArray(maskTileProgram.attributes.Color);
// Set up event handlers. // Set up event handlers.

View File

@ -1081,8 +1081,13 @@ impl<'o, 'p> Tiler<'o, 'p> {
// Finalize tiles. // Finalize tiles.
if !above_view_box { if !above_view_box {
// Flush tiles. // Flush tiles.
let first_tile_index = self.built_scene.mask_tiles.len() as u32;
//println!("--- first tile index {} ---", first_tile_index);
for (tile_index, tile) in strip_tiles.iter().enumerate() { for (tile_index, tile) in strip_tiles.iter().enumerate() {
if used_strip_tiles.contains(tile_index) { if used_strip_tiles.contains(tile_index) {
/*println!("mask index {} -> {}",
tile_index,
self.built_scene.mask_tiles.len());*/
self.built_scene.mask_tiles.push(*tile); self.built_scene.mask_tiles.push(*tile);
} else if tile.backdrop != 0.0 { } else if tile.backdrop != 0.0 {
self.built_scene.solid_tiles.push(SolidTilePrimitive { self.built_scene.solid_tiles.push(SolidTilePrimitive {
@ -1095,10 +1100,12 @@ impl<'o, 'p> Tiler<'o, 'p> {
// Flush fills. // Flush fills.
// //
// TODO(pcwalton): Don't use a temporary vector to hold these. // TODO(pcwalton): Don't use a temporary vector to hold these.
let first_tile_index = self.built_scene.mask_tiles.len() as u32;
for fill in &strip_fills { for fill in &strip_fills {
let real_tile_index = first_tile_index + let real_tile_index = first_tile_index +
used_strip_tiles.count_ones(0..(fill.tile_index as usize)) as u32; used_strip_tiles.count_ones(0..(fill.tile_index as usize)) as u32;
/*println!("flush fill, mask index {} -> {}",
fill.tile_index,
real_tile_index);*/
self.built_scene.fills.push(FillPrimitive { self.built_scene.fills.push(FillPrimitive {
from: fill.from, from: fill.from,
to: fill.to, to: fill.to,