Rename RenderTargetAndTextures to RenderTarget.
Also rename render_target_util to render_target. PiperOrigin-RevId: 896033907 Change-Id: I123cf98dc308f7cc4916f7b79dcc59a05564022d
This commit is contained in:
committed by
Copybara-Service
parent
382474bb9d
commit
f7fd5fc58b
@@ -53,8 +53,8 @@ target_sources(${MUJOCO_FILAMENT_TARGET_NAME}
|
|||||||
filament/model_util.h
|
filament/model_util.h
|
||||||
filament/object_manager.cc
|
filament/object_manager.cc
|
||||||
filament/object_manager.h
|
filament/object_manager.h
|
||||||
filament/render_target_util.cc
|
filament/render_target.cc
|
||||||
filament/render_target_util.h
|
filament/render_target.h
|
||||||
filament/renderables.cc
|
filament/renderables.cc
|
||||||
filament/renderables.h
|
filament/renderables.h
|
||||||
filament/scene_view.cc
|
filament/scene_view.cc
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
#include "experimental/filament/filament/imgui_editor.h"
|
#include "experimental/filament/filament/imgui_editor.h"
|
||||||
#include "experimental/filament/filament/model_util.h"
|
#include "experimental/filament/filament/model_util.h"
|
||||||
#include "experimental/filament/filament/object_manager.h"
|
#include "experimental/filament/filament/object_manager.h"
|
||||||
#include "experimental/filament/filament/render_target_util.h"
|
#include "experimental/filament/filament/render_target.h"
|
||||||
#include "experimental/filament/filament/scene_view.h"
|
#include "experimental/filament/filament/scene_view.h"
|
||||||
#include "experimental/filament/filament/texture.h"
|
#include "experimental/filament/filament/texture.h"
|
||||||
#include "experimental/filament/render_context_filament.h"
|
#include "experimental/filament/render_context_filament.h"
|
||||||
@@ -185,12 +185,12 @@ void FilamentContext::SetFrameBuffer(int framebuffer) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void FilamentContext::PrepareRenderTargets(int width, int height) {
|
void FilamentContext::PrepareRenderTargets(int width, int height) {
|
||||||
color_target_ = std::make_unique<RenderTargetAndTextures>(
|
color_target_ = std::make_unique<RenderTarget>(
|
||||||
engine_, RenderTargetTextureType::kColor,
|
engine_, RenderTargetTextureType::kColor,
|
||||||
RenderTargetTextureType::kDepth);
|
RenderTargetTextureType::kDepth);
|
||||||
color_target_->Prepare(width, height);
|
color_target_->Prepare(width, height);
|
||||||
|
|
||||||
depth_target_ = std::make_unique<RenderTargetAndTextures>(
|
depth_target_ = std::make_unique<RenderTarget>(
|
||||||
engine_, RenderTargetTextureType::kDepthColor,
|
engine_, RenderTargetTextureType::kDepthColor,
|
||||||
RenderTargetTextureType::kDepth);
|
RenderTargetTextureType::kDepth);
|
||||||
depth_target_->Prepare(width, height);
|
depth_target_->Prepare(width, height);
|
||||||
@@ -202,23 +202,25 @@ void FilamentContext::DestroyRenderTargets() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void ReadColorPixels(filament::Renderer* renderer,
|
static void ReadColorPixels(filament::Renderer* renderer,
|
||||||
filament::RenderTarget* target, mjrRect viewport,
|
RenderTarget* target, mjrRect viewport,
|
||||||
unsigned char* buffer, size_t num_bytes) {
|
unsigned char* buffer, size_t num_bytes) {
|
||||||
filament::backend::PixelBufferDescriptor descriptor(
|
filament::backend::PixelBufferDescriptor descriptor(
|
||||||
buffer, num_bytes, filament::backend::PixelDataFormat::RGB,
|
buffer, num_bytes, filament::backend::PixelDataFormat::RGB,
|
||||||
filament::backend::PixelDataType::UBYTE);
|
filament::backend::PixelDataType::UBYTE);
|
||||||
renderer->readPixels(target, viewport.left, viewport.bottom, viewport.width,
|
renderer->readPixels(target->GetFilamentRenderTarget(), viewport.left,
|
||||||
viewport.height, std::move(descriptor));
|
viewport.bottom, viewport.width, viewport.height,
|
||||||
|
std::move(descriptor));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ReadDepthPixels(filament::Renderer* renderer,
|
static void ReadDepthPixels(filament::Renderer* renderer,
|
||||||
filament::RenderTarget* target, mjrRect viewport,
|
RenderTarget* target, mjrRect viewport,
|
||||||
float* buffer, size_t num_bytes) {
|
float* buffer, size_t num_bytes) {
|
||||||
filament::backend::PixelBufferDescriptor descriptor(
|
filament::backend::PixelBufferDescriptor descriptor(
|
||||||
buffer, num_bytes, filament::backend::PixelDataFormat::R,
|
buffer, num_bytes, filament::backend::PixelDataFormat::R,
|
||||||
filament::backend::PixelDataType::FLOAT);
|
filament::backend::PixelDataType::FLOAT);
|
||||||
renderer->readPixels(target, viewport.left, viewport.bottom, viewport.width,
|
renderer->readPixels(target->GetFilamentRenderTarget(), viewport.left,
|
||||||
viewport.height, std::move(descriptor));
|
viewport.bottom, viewport.width, viewport.height,
|
||||||
|
std::move(descriptor));
|
||||||
}
|
}
|
||||||
|
|
||||||
void FilamentContext::ReadPixels(mjrRect viewport, unsigned char* rgb,
|
void FilamentContext::ReadPixels(mjrRect viewport, unsigned char* rgb,
|
||||||
@@ -238,17 +240,15 @@ void FilamentContext::ReadPixels(mjrRect viewport, unsigned char* rgb,
|
|||||||
|
|
||||||
if (rgb) {
|
if (rgb) {
|
||||||
if (renderer_->beginFrame(offscreen_swap_chain_)) {
|
if (renderer_->beginFrame(offscreen_swap_chain_)) {
|
||||||
scene_view_->Render(renderer_, last_render_mode_,
|
scene_view_->Render(renderer_, last_render_mode_, color_target_.get());
|
||||||
color_target_->GetRenderTarget());
|
|
||||||
|
|
||||||
// Render the GUI to the texture as well if requested.
|
// Render the GUI to the texture as well if requested.
|
||||||
if (gui_view_ && gui_swap_chain_target_ == kOffscreenSwapChain) {
|
if (gui_view_ && gui_swap_chain_target_ == kOffscreenSwapChain) {
|
||||||
gui_view_->Render(renderer_, color_target_->GetRenderTarget());
|
gui_view_->Render(renderer_, color_target_.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
const size_t num_bytes = viewport.width * viewport.height * 3;
|
const size_t num_bytes = viewport.width * viewport.height * 3;
|
||||||
ReadColorPixels(renderer_, color_target_->GetRenderTarget(), viewport,
|
ReadColorPixels(renderer_, color_target_.get(), viewport, rgb, num_bytes);
|
||||||
rgb, num_bytes);
|
|
||||||
|
|
||||||
renderer_->endFrame();
|
renderer_->endFrame();
|
||||||
}
|
}
|
||||||
@@ -257,11 +257,11 @@ void FilamentContext::ReadPixels(mjrRect viewport, unsigned char* rgb,
|
|||||||
if (depth) {
|
if (depth) {
|
||||||
if (renderer_->beginFrame(offscreen_swap_chain_)) {
|
if (renderer_->beginFrame(offscreen_swap_chain_)) {
|
||||||
scene_view_->Render(renderer_, SceneView::DrawMode::kDepth,
|
scene_view_->Render(renderer_, SceneView::DrawMode::kDepth,
|
||||||
depth_target_->GetRenderTarget());
|
depth_target_.get());
|
||||||
|
|
||||||
const size_t num_bytes = viewport.width * viewport.height * sizeof(float);
|
const size_t num_bytes = viewport.width * viewport.height * sizeof(float);
|
||||||
ReadDepthPixels(renderer_, depth_target_->GetRenderTarget(), viewport,
|
ReadDepthPixels(renderer_, depth_target_.get(), viewport, depth,
|
||||||
depth, num_bytes);
|
num_bytes);
|
||||||
|
|
||||||
renderer_->endFrame();
|
renderer_->endFrame();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
#include <mujoco/mjvisualize.h>
|
#include <mujoco/mjvisualize.h>
|
||||||
#include "experimental/filament/filament/gui_view.h"
|
#include "experimental/filament/filament/gui_view.h"
|
||||||
#include "experimental/filament/filament/object_manager.h"
|
#include "experimental/filament/filament/object_manager.h"
|
||||||
#include "experimental/filament/filament/render_target_util.h"
|
#include "experimental/filament/filament/render_target.h"
|
||||||
#include "experimental/filament/filament/scene_view.h"
|
#include "experimental/filament/filament/scene_view.h"
|
||||||
#include "experimental/filament/render_context_filament.h"
|
#include "experimental/filament/render_context_filament.h"
|
||||||
|
|
||||||
@@ -82,8 +82,8 @@ class FilamentContext {
|
|||||||
SceneView::DrawMode last_render_mode_ = SceneView::DrawMode::kNormal;
|
SceneView::DrawMode last_render_mode_ = SceneView::DrawMode::kNormal;
|
||||||
SwapChainType scene_swap_chain_target_ = kWindowSwapChain;
|
SwapChainType scene_swap_chain_target_ = kWindowSwapChain;
|
||||||
SwapChainType gui_swap_chain_target_ = kWindowSwapChain;
|
SwapChainType gui_swap_chain_target_ = kWindowSwapChain;
|
||||||
std::unique_ptr<RenderTargetAndTextures> color_target_;
|
std::unique_ptr<RenderTarget> color_target_;
|
||||||
std::unique_ptr<RenderTargetAndTextures> depth_target_;
|
std::unique_ptr<RenderTarget> depth_target_;
|
||||||
std::unique_ptr<ObjectManager> object_manager_;
|
std::unique_ptr<ObjectManager> object_manager_;
|
||||||
std::unique_ptr<SceneView> scene_view_;
|
std::unique_ptr<SceneView> scene_view_;
|
||||||
std::unique_ptr<GuiView> gui_view_;
|
std::unique_ptr<GuiView> gui_view_;
|
||||||
|
|||||||
@@ -32,6 +32,7 @@
|
|||||||
#include <mujoco/mjrender.h>
|
#include <mujoco/mjrender.h>
|
||||||
#include <mujoco/mujoco.h>
|
#include <mujoco/mujoco.h>
|
||||||
#include "experimental/filament/filament/mesh.h"
|
#include "experimental/filament/filament/mesh.h"
|
||||||
|
#include "experimental/filament/filament/render_target.h"
|
||||||
#include "experimental/filament/filament/texture.h"
|
#include "experimental/filament/filament/texture.h"
|
||||||
|
|
||||||
namespace mujoco {
|
namespace mujoco {
|
||||||
@@ -352,13 +353,12 @@ filament::MaterialInstance* GuiView::GetMaterialInstance(int index,
|
|||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GuiView::Render(filament::Renderer* renderer,
|
void GuiView::Render(filament::Renderer* renderer, RenderTarget* target) {
|
||||||
filament::RenderTarget* target) {
|
|
||||||
if (num_elements_ == 0) {
|
if (num_elements_ == 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
view_->setRenderTarget(target);
|
view_->setRenderTarget(target ? target->GetFilamentRenderTarget() : nullptr);
|
||||||
renderer->render(view_);
|
renderer->render(view_);
|
||||||
view_->setRenderTarget(nullptr);
|
view_->setRenderTarget(nullptr);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
#include <filament/View.h>
|
#include <filament/View.h>
|
||||||
#include <mujoco/mjrender.h>
|
#include <mujoco/mjrender.h>
|
||||||
#include "experimental/filament/filament/mesh.h"
|
#include "experimental/filament/filament/mesh.h"
|
||||||
|
#include "experimental/filament/filament/render_target.h"
|
||||||
#include "experimental/filament/filament/texture.h"
|
#include "experimental/filament/filament/texture.h"
|
||||||
|
|
||||||
namespace mujoco {
|
namespace mujoco {
|
||||||
@@ -45,8 +46,7 @@ class GuiView {
|
|||||||
// correctly synced.
|
// correctly synced.
|
||||||
void UpdateRenderable();
|
void UpdateRenderable();
|
||||||
|
|
||||||
void Render(filament::Renderer* renderer,
|
void Render(filament::Renderer* renderer, RenderTarget* target = nullptr);
|
||||||
filament::RenderTarget* target = nullptr);
|
|
||||||
|
|
||||||
// Uploads texture to be used with ImGui's Image and ImageButton functions.
|
// Uploads texture to be used with ImGui's Image and ImageButton functions.
|
||||||
uintptr_t UploadImage(uintptr_t tex_id, const uint8_t* pixels, int width,
|
uintptr_t UploadImage(uintptr_t tex_id, const uint8_t* pixels, int width,
|
||||||
|
|||||||
+8
-8
@@ -12,7 +12,7 @@
|
|||||||
// See the License for the specific language governing permissions and
|
// See the License for the specific language governing permissions and
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
#include "experimental/filament/filament/render_target_util.h"
|
#include "experimental/filament/filament/render_target.h"
|
||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
@@ -23,16 +23,16 @@
|
|||||||
|
|
||||||
namespace mujoco {
|
namespace mujoco {
|
||||||
|
|
||||||
RenderTargetAndTextures::RenderTargetAndTextures(filament::Engine* engine,
|
RenderTarget::RenderTarget(filament::Engine* engine,
|
||||||
RenderTargetTextureType color,
|
RenderTargetTextureType color,
|
||||||
RenderTargetTextureType depth)
|
RenderTargetTextureType depth)
|
||||||
: engine_(engine), color_type_(color), depth_type_(depth) {}
|
: engine_(engine), color_type_(color), depth_type_(depth) {}
|
||||||
|
|
||||||
RenderTargetAndTextures::~RenderTargetAndTextures() noexcept {
|
RenderTarget::~RenderTarget() noexcept {
|
||||||
Destroy();
|
Destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
void RenderTargetAndTextures::Prepare(int width, int height) {
|
void RenderTarget::Prepare(int width, int height) {
|
||||||
if (width == width_ && height == height_) {
|
if (width == width_ && height == height_) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -53,7 +53,7 @@ void RenderTargetAndTextures::Prepare(int width, int height) {
|
|||||||
render_target_ = builder.build(*engine_);
|
render_target_ = builder.build(*engine_);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RenderTargetAndTextures::Destroy() {
|
void RenderTarget::Destroy() {
|
||||||
if (render_target_) {
|
if (render_target_) {
|
||||||
engine_->destroy(render_target_);
|
engine_->destroy(render_target_);
|
||||||
render_target_ = nullptr;
|
render_target_ = nullptr;
|
||||||
@@ -62,15 +62,15 @@ void RenderTargetAndTextures::Destroy() {
|
|||||||
depth_texture_.reset();
|
depth_texture_.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
Texture* RenderTargetAndTextures::GetColorTexture() const {
|
Texture* RenderTarget::GetColorTexture() const {
|
||||||
return color_texture_.get();
|
return color_texture_.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
Texture* RenderTargetAndTextures::GetDepthTexture() const {
|
Texture* RenderTarget::GetDepthTexture() const {
|
||||||
return depth_texture_.get();
|
return depth_texture_.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
filament::RenderTarget* RenderTargetAndTextures::GetRenderTarget() const {
|
filament::RenderTarget* RenderTarget::GetFilamentRenderTarget() const {
|
||||||
return render_target_;
|
return render_target_;
|
||||||
}
|
}
|
||||||
|
|
||||||
+10
-10
@@ -12,8 +12,8 @@
|
|||||||
// See the License for the specific language governing permissions and
|
// See the License for the specific language governing permissions and
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
#ifndef MUJOCO_SRC_EXPERIMENTAL_FILAMENT_FILAMENT_RENDER_TARGET_UTIL_H_
|
#ifndef MUJOCO_SRC_EXPERIMENTAL_FILAMENT_FILAMENT_RENDER_TARGET_H_
|
||||||
#define MUJOCO_SRC_EXPERIMENTAL_FILAMENT_FILAMENT_RENDER_TARGET_UTIL_H_
|
#define MUJOCO_SRC_EXPERIMENTAL_FILAMENT_FILAMENT_RENDER_TARGET_H_
|
||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
@@ -24,17 +24,17 @@
|
|||||||
namespace mujoco {
|
namespace mujoco {
|
||||||
|
|
||||||
// Manages a filament RenderTarget and the textures which are bound to it.
|
// Manages a filament RenderTarget and the textures which are bound to it.
|
||||||
class RenderTargetAndTextures {
|
class RenderTarget {
|
||||||
public:
|
public:
|
||||||
// Defines the types of textures to create for the color and depth
|
// Defines the types of textures to create for the color and depth
|
||||||
// attachments.
|
// attachments.
|
||||||
RenderTargetAndTextures(filament::Engine* engine,
|
RenderTarget(filament::Engine* engine,
|
||||||
RenderTargetTextureType color,
|
RenderTargetTextureType color,
|
||||||
RenderTargetTextureType depth);
|
RenderTargetTextureType depth);
|
||||||
~RenderTargetAndTextures() noexcept;
|
~RenderTarget() noexcept;
|
||||||
|
|
||||||
RenderTargetAndTextures(const RenderTargetAndTextures&) = delete;
|
RenderTarget(const RenderTarget&) = delete;
|
||||||
RenderTargetAndTextures& operator=(const RenderTargetAndTextures&) = delete;
|
RenderTarget& operator=(const RenderTarget&) = delete;
|
||||||
|
|
||||||
// Creates the textures and render target if the width of height differ from
|
// Creates the textures and render target if the width of height differ from
|
||||||
// the last time the render target was prepared.
|
// the last time the render target was prepared.
|
||||||
@@ -46,8 +46,8 @@ class RenderTargetAndTextures {
|
|||||||
// Returns the depth texture.
|
// Returns the depth texture.
|
||||||
Texture* GetDepthTexture() const;
|
Texture* GetDepthTexture() const;
|
||||||
|
|
||||||
// Returns the render target.
|
// Returns the underlying filament render target.
|
||||||
filament::RenderTarget* GetRenderTarget() const;
|
filament::RenderTarget* GetFilamentRenderTarget() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void Destroy();
|
void Destroy();
|
||||||
@@ -64,4 +64,4 @@ class RenderTargetAndTextures {
|
|||||||
|
|
||||||
} // namespace mujoco
|
} // namespace mujoco
|
||||||
|
|
||||||
#endif // MUJOCO_SRC_EXPERIMENTAL_FILAMENT_FILAMENT_RENDER_TARGET_UTIL_H_
|
#endif // MUJOCO_SRC_EXPERIMENTAL_FILAMENT_FILAMENT_RENDER_TARGET_H_
|
||||||
@@ -49,7 +49,7 @@
|
|||||||
#include "experimental/filament/filament/model_objects.h"
|
#include "experimental/filament/filament/model_objects.h"
|
||||||
#include "experimental/filament/filament/model_util.h"
|
#include "experimental/filament/filament/model_util.h"
|
||||||
#include "experimental/filament/filament/object_manager.h"
|
#include "experimental/filament/filament/object_manager.h"
|
||||||
#include "experimental/filament/filament/render_target_util.h"
|
#include "experimental/filament/filament/render_target.h"
|
||||||
#include "experimental/filament/filament/texture.h"
|
#include "experimental/filament/filament/texture.h"
|
||||||
|
|
||||||
namespace mujoco {
|
namespace mujoco {
|
||||||
@@ -253,7 +253,7 @@ SceneView::~SceneView() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void SceneView::Render(filament::Renderer* renderer, DrawMode draw_mode,
|
void SceneView::Render(filament::Renderer* renderer, DrawMode draw_mode,
|
||||||
filament::RenderTarget* target) {
|
RenderTarget* target) {
|
||||||
filament::View* view = PrepareRenderView(draw_mode);
|
filament::View* view = PrepareRenderView(draw_mode);
|
||||||
filament::MultiSampleAntiAliasingOptions options =
|
filament::MultiSampleAntiAliasingOptions options =
|
||||||
view->getMultiSampleAntiAliasingOptions();
|
view->getMultiSampleAntiAliasingOptions();
|
||||||
@@ -274,7 +274,8 @@ void SceneView::Render(filament::Renderer* renderer, DrawMode draw_mode,
|
|||||||
drawable->SetLayerMask(0x00);
|
drawable->SetLayerMask(0x00);
|
||||||
|
|
||||||
// Render the reflection to its render target.
|
// Render the reflection to its render target.
|
||||||
reflect_view_->setRenderTarget(reflect_targets_[i]->GetRenderTarget());
|
reflect_view_->setRenderTarget(
|
||||||
|
reflect_targets_[i]->GetFilamentRenderTarget());
|
||||||
renderer->render(reflect_view_);
|
renderer->render(reflect_view_);
|
||||||
|
|
||||||
// Unhide the reflective surface.
|
// Unhide the reflective surface.
|
||||||
@@ -282,7 +283,7 @@ void SceneView::Render(filament::Renderer* renderer, DrawMode draw_mode,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
view->setRenderTarget(target);
|
view->setRenderTarget(target ? target->GetFilamentRenderTarget() : nullptr);
|
||||||
renderer->render(view);
|
renderer->render(view);
|
||||||
view->setRenderTarget(nullptr);
|
view->setRenderTarget(nullptr);
|
||||||
|
|
||||||
@@ -516,7 +517,7 @@ void SceneView::AddReflectiveDrawable(Drawable* drawable) {
|
|||||||
// drawables.
|
// drawables.
|
||||||
filament::Engine* engine = object_mgr_->GetEngine();
|
filament::Engine* engine = object_mgr_->GetEngine();
|
||||||
while (reflect_targets_.size() < reflectives_.size()) {
|
while (reflect_targets_.size() < reflectives_.size()) {
|
||||||
reflect_targets_.push_back(std::make_unique<RenderTargetAndTextures>(
|
reflect_targets_.push_back(std::make_unique<RenderTarget>(
|
||||||
engine, RenderTargetTextureType::kReflectionColor,
|
engine, RenderTargetTextureType::kReflectionColor,
|
||||||
RenderTargetTextureType::kDepth));
|
RenderTargetTextureType::kDepth));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
#include "experimental/filament/filament/material.h"
|
#include "experimental/filament/filament/material.h"
|
||||||
#include "experimental/filament/filament/model_objects.h"
|
#include "experimental/filament/filament/model_objects.h"
|
||||||
#include "experimental/filament/filament/object_manager.h"
|
#include "experimental/filament/filament/object_manager.h"
|
||||||
#include "experimental/filament/filament/render_target_util.h"
|
#include "experimental/filament/filament/render_target.h"
|
||||||
|
|
||||||
namespace mujoco {
|
namespace mujoco {
|
||||||
|
|
||||||
@@ -71,7 +71,7 @@ class SceneView {
|
|||||||
using DrawMode = Material::DrawMode;
|
using DrawMode = Material::DrawMode;
|
||||||
|
|
||||||
void Render(filament::Renderer* renderer, DrawMode draw_mode,
|
void Render(filament::Renderer* renderer, DrawMode draw_mode,
|
||||||
filament::RenderTarget* target = nullptr);
|
RenderTarget* target = nullptr);
|
||||||
|
|
||||||
void UploadMesh(const mjModel* model, int id);
|
void UploadMesh(const mjModel* model, int id);
|
||||||
void UploadTexture(const mjModel* model, int id);
|
void UploadTexture(const mjModel* model, int id);
|
||||||
@@ -128,7 +128,7 @@ class SceneView {
|
|||||||
|
|
||||||
// Each reflective drawable has its own render target which is used to render
|
// Each reflective drawable has its own render target which is used to render
|
||||||
// the reflected image.
|
// the reflected image.
|
||||||
std::vector<std::unique_ptr<RenderTargetAndTextures>> reflect_targets_;
|
std::vector<std::unique_ptr<RenderTarget>> reflect_targets_;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace mujoco
|
} // namespace mujoco
|
||||||
|
|||||||
Reference in New Issue
Block a user