filament::Renderer::ClearOptions op;
op.clear = true;
op.clearColor = {0.0f, 0.0f, 0.0f, 0.0f};
op.discard = true;
renderer_->setClearOptions(op);
scene_->SetBackground({0.0f, 0.0f, 0.0f, 0.0f});
view_->GetNativeView()->setBlendMode(
filament::View::BlendMode::TRANSLUCENT);
if (renderer_->beginFrame(swapchain_)) {
filament::Renderer::ClearOptions op;
op.clear = true;
op.clearColor = {0.0f, 0.0f, 0.0f, 0.0f};
op.discard = true;
renderer_->setClearOptions(op);
scene_->SetBackground({0.0f, 0.0f, 0.0f, 0.0f});
auto mode = view_->GetNativeView()->getBlendMode();
view_->GetNativeView()->setBlendMode(
filament::View::BlendMode::TRANSLUCENT);
renderer_->render(view_->GetNativeView());
using namespace filament;
using namespace backend;
auto format = (n_channels_ == 3 ? PixelDataFormat::RGB
: PixelDataFormat::RGBA);
auto type = PixelDataType::UBYTE;
if (depth_image_) {
format = PixelDataFormat::DEPTH_COMPONENT;
type = PixelDataType::FLOAT;
}
auto user_param = new PBDParams(this, callback_);
PixelBufferDescriptor pd(buffer_, buffer_size_, format, type,
ReadPixelsCallback, user_param);
auto vp = view_->GetNativeView()->getViewport();
renderer_->readPixels(vp.left, vp.bottom, vp.width, vp.height,
std::move(pd));
I use this code get image from render buffer, and clear buffer by setClearOptions ,but the image alpha value are always 255, how can I make the alpha value become zero?
I use this code get image from render buffer, and clear buffer by
setClearOptions
,but the image alpha value are always 255, how can I make the alpha value become zero?