diff options
author | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2018-08-23 01:05:26 +0300 |
---|---|---|
committer | Ander Conselvan de Oliveira <ander.deoliveira@mapbox.com> | 2018-09-13 08:42:36 +0300 |
commit | 05a7b78aa866720245022805410aae92bb887fa6 (patch) | |
tree | 1979e724d148cdb9c3a9fe2aac80f718a41c65b5 /src/mbgl/renderer | |
parent | e4e43bb54fbc519464083300aef295abc4ee095b (diff) | |
download | qtlocation-mapboxgl-05a7b78aa866720245022805410aae92bb887fa6.tar.gz |
[core] Add face culling mode parameter to Program::draw
Add a parameter to Program::draw to control whether face culling should
be enabled. This will be used in a follow up commit to enable face
culling for fill extrusion layers.
Diffstat (limited to 'src/mbgl/renderer')
-rw-r--r-- | src/mbgl/renderer/layers/render_background_layer.cpp | 1 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_circle_layer.cpp | 1 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_custom_layer.cpp | 1 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp | 2 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_fill_layer.cpp | 2 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_heatmap_layer.cpp | 2 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_hillshade_layer.cpp | 2 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_line_layer.cpp | 1 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_raster_layer.cpp | 1 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_symbol_layer.cpp | 3 | ||||
-rw-r--r-- | src/mbgl/renderer/render_tile.cpp | 3 | ||||
-rw-r--r-- | src/mbgl/renderer/renderer_impl.cpp | 1 | ||||
-rw-r--r-- | src/mbgl/renderer/sources/render_image_source.cpp | 1 |
13 files changed, 21 insertions, 0 deletions
diff --git a/src/mbgl/renderer/layers/render_background_layer.cpp b/src/mbgl/renderer/layers/render_background_layer.cpp index ad85fe0cce..f20bd7ae5e 100644 --- a/src/mbgl/renderer/layers/render_background_layer.cpp +++ b/src/mbgl/renderer/layers/render_background_layer.cpp @@ -76,6 +76,7 @@ void RenderBackgroundLayer::render(PaintParameters& parameters, RenderSource*) { parameters.depthModeForSublayer(0, gl::DepthMode::ReadOnly), gl::StencilMode::disabled(), parameters.colorModeForRenderPass(), + gl::CullFaceMode::disabled(), parameters.staticData.quadTriangleIndexBuffer, parameters.staticData.tileTriangleSegments, allUniformValues, diff --git a/src/mbgl/renderer/layers/render_circle_layer.cpp b/src/mbgl/renderer/layers/render_circle_layer.cpp index af96e2e991..46db06416d 100644 --- a/src/mbgl/renderer/layers/render_circle_layer.cpp +++ b/src/mbgl/renderer/layers/render_circle_layer.cpp @@ -106,6 +106,7 @@ void RenderCircleLayer::render(PaintParameters& parameters, RenderSource*) { ? parameters.stencilModeForClipping(tile.clip) : gl::StencilMode::disabled(), parameters.colorModeForRenderPass(), + gl::CullFaceMode::disabled(), *bucket.indexBuffer, bucket.segments, allUniformValues, diff --git a/src/mbgl/renderer/layers/render_custom_layer.cpp b/src/mbgl/renderer/layers/render_custom_layer.cpp index 16c18447c5..2bad375bb7 100644 --- a/src/mbgl/renderer/layers/render_custom_layer.cpp +++ b/src/mbgl/renderer/layers/render_custom_layer.cpp @@ -65,6 +65,7 @@ void RenderCustomLayer::render(PaintParameters& paintParameters, RenderSource*) glContext.setDepthMode(paintParameters.depthModeForSublayer(0, gl::DepthMode::ReadOnly)); glContext.setStencilMode(gl::StencilMode::disabled()); glContext.setColorMode(paintParameters.colorModeForRenderPass()); + glContext.setCullFaceMode(gl::CullFaceMode::disabled()); CustomLayerRenderParameters parameters; diff --git a/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp b/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp index d6623455e0..0b5c05759c 100644 --- a/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp +++ b/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp @@ -109,6 +109,7 @@ void RenderFillExtrusionLayer::render(PaintParameters& parameters, RenderSource* parameters.depthModeFor3D(gl::DepthMode::ReadWrite), gl::StencilMode::disabled(), parameters.colorModeForRenderPass(), + gl::CullFaceMode::disabled(), *tileBucket.indexBuffer, tileBucket.triangleSegments, allUniformValues, @@ -209,6 +210,7 @@ void RenderFillExtrusionLayer::render(PaintParameters& parameters, RenderSource* gl::DepthMode::disabled(), gl::StencilMode::disabled(), parameters.colorModeForRenderPass(), + gl::CullFaceMode::disabled(), parameters.staticData.quadTriangleIndexBuffer, parameters.staticData.extrusionTextureSegments, allUniformValues, diff --git a/src/mbgl/renderer/layers/render_fill_layer.cpp b/src/mbgl/renderer/layers/render_fill_layer.cpp index e0edd37988..a0453121a8 100644 --- a/src/mbgl/renderer/layers/render_fill_layer.cpp +++ b/src/mbgl/renderer/layers/render_fill_layer.cpp @@ -119,6 +119,7 @@ void RenderFillLayer::render(PaintParameters& parameters, RenderSource*) { depthMode, parameters.stencilModeForClipping(tile.clip), parameters.colorModeForRenderPass(), + gl::CullFaceMode::disabled(), indexBuffer, segments, allUniformValues, @@ -208,6 +209,7 @@ void RenderFillLayer::render(PaintParameters& parameters, RenderSource*) { depthMode, parameters.stencilModeForClipping(tile.clip), parameters.colorModeForRenderPass(), + gl::CullFaceMode::disabled(), indexBuffer, segments, allUniformValues, diff --git a/src/mbgl/renderer/layers/render_heatmap_layer.cpp b/src/mbgl/renderer/layers/render_heatmap_layer.cpp index 8e24cf8f32..62330bcab7 100644 --- a/src/mbgl/renderer/layers/render_heatmap_layer.cpp +++ b/src/mbgl/renderer/layers/render_heatmap_layer.cpp @@ -127,6 +127,7 @@ void RenderHeatmapLayer::render(PaintParameters& parameters, RenderSource*) { parameters.depthModeForSublayer(0, gl::DepthMode::ReadOnly), stencilMode, gl::ColorMode::additive(), + gl::CullFaceMode::disabled(), *bucket.indexBuffer, bucket.segments, allUniformValues, @@ -174,6 +175,7 @@ void RenderHeatmapLayer::render(PaintParameters& parameters, RenderSource*) { gl::DepthMode::disabled(), gl::StencilMode::disabled(), parameters.colorModeForRenderPass(), + gl::CullFaceMode::disabled(), parameters.staticData.quadTriangleIndexBuffer, parameters.staticData.extrusionTextureSegments, allUniformValues, diff --git a/src/mbgl/renderer/layers/render_hillshade_layer.cpp b/src/mbgl/renderer/layers/render_hillshade_layer.cpp index b96030f44d..835cb3f9f9 100644 --- a/src/mbgl/renderer/layers/render_hillshade_layer.cpp +++ b/src/mbgl/renderer/layers/render_hillshade_layer.cpp @@ -105,6 +105,7 @@ void RenderHillshadeLayer::render(PaintParameters& parameters, RenderSource* src parameters.depthModeForSublayer(0, gl::DepthMode::ReadOnly), gl::StencilMode::disabled(), parameters.colorModeForRenderPass(), + gl::CullFaceMode::disabled(), indexBuffer, segments, allUniformValues, @@ -165,6 +166,7 @@ void RenderHillshadeLayer::render(PaintParameters& parameters, RenderSource* src parameters.depthModeForSublayer(0, gl::DepthMode::ReadOnly), gl::StencilMode::disabled(), parameters.colorModeForRenderPass(), + gl::CullFaceMode::disabled(), parameters.staticData.quadTriangleIndexBuffer, parameters.staticData.rasterSegments, allUniformValues, diff --git a/src/mbgl/renderer/layers/render_line_layer.cpp b/src/mbgl/renderer/layers/render_line_layer.cpp index 3adcfc408e..2811a1ffdd 100644 --- a/src/mbgl/renderer/layers/render_line_layer.cpp +++ b/src/mbgl/renderer/layers/render_line_layer.cpp @@ -108,6 +108,7 @@ void RenderLineLayer::render(PaintParameters& parameters, RenderSource*) { parameters.depthModeForSublayer(0, gl::DepthMode::ReadOnly), parameters.stencilModeForClipping(tile.clip), parameters.colorModeForRenderPass(), + gl::CullFaceMode::disabled(), *bucket.indexBuffer, bucket.segments, allUniformValues, diff --git a/src/mbgl/renderer/layers/render_raster_layer.cpp b/src/mbgl/renderer/layers/render_raster_layer.cpp index b8df71b7c1..8e0651b65b 100644 --- a/src/mbgl/renderer/layers/render_raster_layer.cpp +++ b/src/mbgl/renderer/layers/render_raster_layer.cpp @@ -119,6 +119,7 @@ void RenderRasterLayer::render(PaintParameters& parameters, RenderSource* source parameters.depthModeForSublayer(0, gl::DepthMode::ReadOnly), gl::StencilMode::disabled(), parameters.colorModeForRenderPass(), + gl::CullFaceMode::disabled(), indexBuffer, segments, allUniformValues, diff --git a/src/mbgl/renderer/layers/render_symbol_layer.cpp b/src/mbgl/renderer/layers/render_symbol_layer.cpp index 7b630a551a..df38d64d70 100644 --- a/src/mbgl/renderer/layers/render_symbol_layer.cpp +++ b/src/mbgl/renderer/layers/render_symbol_layer.cpp @@ -122,6 +122,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) { : gl::DepthMode::disabled(), gl::StencilMode::disabled(), parameters.colorModeForRenderPass(), + gl::CullFaceMode::disabled(), *buffers.indexBuffer, buffers.segments, allUniformValues, @@ -254,6 +255,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) { gl::DepthMode::disabled(), gl::StencilMode::disabled(), parameters.colorModeForRenderPass(), + gl::CullFaceMode::disabled(), CollisionBoxProgram::UniformValues { uniforms::u_matrix::Value( tile.matrix ), uniforms::u_extrude_scale::Value( extrudeScale ), @@ -288,6 +290,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) { gl::DepthMode::disabled(), gl::StencilMode::disabled(), parameters.colorModeForRenderPass(), + gl::CullFaceMode::disabled(), CollisionCircleProgram::UniformValues { uniforms::u_matrix::Value( tile.matrix ), uniforms::u_extrude_scale::Value( extrudeScale ), diff --git a/src/mbgl/renderer/render_tile.cpp b/src/mbgl/renderer/render_tile.cpp index fcd8b77771..61b92fb6d4 100644 --- a/src/mbgl/renderer/render_tile.cpp +++ b/src/mbgl/renderer/render_tile.cpp @@ -99,6 +99,7 @@ void RenderTile::finishRender(PaintParameters& parameters) { gl::DepthMode::disabled(), parameters.stencilModeForClipping(clip), gl::ColorMode::unblended(), + gl::CullFaceMode::disabled(), *tile.debugBucket->indexBuffer, tile.debugBucket->segments, program.computeAllUniformValues( @@ -120,6 +121,7 @@ void RenderTile::finishRender(PaintParameters& parameters) { gl::DepthMode::disabled(), parameters.stencilModeForClipping(clip), gl::ColorMode::unblended(), + gl::CullFaceMode::disabled(), *tile.debugBucket->indexBuffer, tile.debugBucket->segments, program.computeAllUniformValues( @@ -143,6 +145,7 @@ void RenderTile::finishRender(PaintParameters& parameters) { gl::DepthMode::disabled(), parameters.stencilModeForClipping(clip), gl::ColorMode::unblended(), + gl::CullFaceMode::disabled(), parameters.staticData.tileBorderIndexBuffer, parameters.staticData.tileBorderSegments, program.computeAllUniformValues( diff --git a/src/mbgl/renderer/renderer_impl.cpp b/src/mbgl/renderer/renderer_impl.cpp index 6f7814190d..84f6828186 100644 --- a/src/mbgl/renderer/renderer_impl.cpp +++ b/src/mbgl/renderer/renderer_impl.cpp @@ -509,6 +509,7 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) { gl::StencilMode::Replace }, gl::ColorMode::disabled(), + gl::CullFaceMode::disabled(), parameters.staticData.quadTriangleIndexBuffer, parameters.staticData.tileTriangleSegments, program.computeAllUniformValues( diff --git a/src/mbgl/renderer/sources/render_image_source.cpp b/src/mbgl/renderer/sources/render_image_source.cpp index f9ae5588d1..957403fc2f 100644 --- a/src/mbgl/renderer/sources/render_image_source.cpp +++ b/src/mbgl/renderer/sources/render_image_source.cpp @@ -67,6 +67,7 @@ void RenderImageSource::finishRender(PaintParameters& parameters) { gl::DepthMode::disabled(), gl::StencilMode::disabled(), gl::ColorMode::unblended(), + gl::CullFaceMode::disabled(), parameters.staticData.tileBorderIndexBuffer, parameters.staticData.tileBorderSegments, programInstance.computeAllUniformValues( |