0

当 body 的背景颜色设置为如下透明时,实际背景显示为钴紫色。

body {
  background-color: transparent;
}

有没有办法让背景变得真正透明?我希望在钴的图形层下显示其他 gfx 或视频层。谢谢!

4

2 回答 2

0

作为优化,Cobalt 不会每帧清除其帧缓冲区,但是如果您想将其用作叠加层,这确实会导致问题。

在cobalt/renderer/pipeline.cc 中,就在该行之后:

rasterizer::Rasterizer::Options rasterizer_options;

但在行之前:

rasterizer_->Submit(results.animated, render_target, rasterizer_options);

如果添加:

rasterizer_options.flags = rasterizer::Rasterizer::kSubmitFlags_Clear;

在渲染内容之前,Cobalt 会清除每一帧以完全透明。

我们将考虑在未来添加一种更好的方式来表达这种愿望,但希望这对现在有所帮助。

于 2017-05-11T16:48:40.350 回答
0

所以从 src/cobalt/renderer/backend/egl/graphics_context.cc:GraphicsContextEGL::SecurityClear() 中注释掉以下行

GL_CALL(glClearColor(1.0f, 0.4f, 1.0f, 1.0f));
于 2017-05-15T02:17:31.153 回答