Skip to content

Commit f7fd5fc

Browse files
haroonqcopybara-github
authored andcommitted
Rename RenderTargetAndTextures to RenderTarget.
Also rename render_target_util to render_target. PiperOrigin-RevId: 896033907 Change-Id: I123cf98dc308f7cc4916f7b79dcc59a05564022d
1 parent 382474b commit f7fd5fc

9 files changed

Lines changed: 54 additions & 53 deletions

File tree

src/experimental/filament/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ target_sources(${MUJOCO_FILAMENT_TARGET_NAME}
5353
filament/model_util.h
5454
filament/object_manager.cc
5555
filament/object_manager.h
56-
filament/render_target_util.cc
57-
filament/render_target_util.h
56+
filament/render_target.cc
57+
filament/render_target.h
5858
filament/renderables.cc
5959
filament/renderables.h
6060
filament/scene_view.cc

src/experimental/filament/filament/filament_context.cc

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
#include "experimental/filament/filament/imgui_editor.h"
4444
#include "experimental/filament/filament/model_util.h"
4545
#include "experimental/filament/filament/object_manager.h"
46-
#include "experimental/filament/filament/render_target_util.h"
46+
#include "experimental/filament/filament/render_target.h"
4747
#include "experimental/filament/filament/scene_view.h"
4848
#include "experimental/filament/filament/texture.h"
4949
#include "experimental/filament/render_context_filament.h"
@@ -185,12 +185,12 @@ void FilamentContext::SetFrameBuffer(int framebuffer) {
185185
}
186186

187187
void FilamentContext::PrepareRenderTargets(int width, int height) {
188-
color_target_ = std::make_unique<RenderTargetAndTextures>(
188+
color_target_ = std::make_unique<RenderTarget>(
189189
engine_, RenderTargetTextureType::kColor,
190190
RenderTargetTextureType::kDepth);
191191
color_target_->Prepare(width, height);
192192

193-
depth_target_ = std::make_unique<RenderTargetAndTextures>(
193+
depth_target_ = std::make_unique<RenderTarget>(
194194
engine_, RenderTargetTextureType::kDepthColor,
195195
RenderTargetTextureType::kDepth);
196196
depth_target_->Prepare(width, height);
@@ -202,23 +202,25 @@ void FilamentContext::DestroyRenderTargets() {
202202
}
203203

204204
static void ReadColorPixels(filament::Renderer* renderer,
205-
filament::RenderTarget* target, mjrRect viewport,
205+
RenderTarget* target, mjrRect viewport,
206206
unsigned char* buffer, size_t num_bytes) {
207207
filament::backend::PixelBufferDescriptor descriptor(
208208
buffer, num_bytes, filament::backend::PixelDataFormat::RGB,
209209
filament::backend::PixelDataType::UBYTE);
210-
renderer->readPixels(target, viewport.left, viewport.bottom, viewport.width,
211-
viewport.height, std::move(descriptor));
210+
renderer->readPixels(target->GetFilamentRenderTarget(), viewport.left,
211+
viewport.bottom, viewport.width, viewport.height,
212+
std::move(descriptor));
212213
}
213214

214215
static void ReadDepthPixels(filament::Renderer* renderer,
215-
filament::RenderTarget* target, mjrRect viewport,
216+
RenderTarget* target, mjrRect viewport,
216217
float* buffer, size_t num_bytes) {
217218
filament::backend::PixelBufferDescriptor descriptor(
218219
buffer, num_bytes, filament::backend::PixelDataFormat::R,
219220
filament::backend::PixelDataType::FLOAT);
220-
renderer->readPixels(target, viewport.left, viewport.bottom, viewport.width,
221-
viewport.height, std::move(descriptor));
221+
renderer->readPixels(target->GetFilamentRenderTarget(), viewport.left,
222+
viewport.bottom, viewport.width, viewport.height,
223+
std::move(descriptor));
222224
}
223225

224226
void FilamentContext::ReadPixels(mjrRect viewport, unsigned char* rgb,
@@ -238,17 +240,15 @@ void FilamentContext::ReadPixels(mjrRect viewport, unsigned char* rgb,
238240

239241
if (rgb) {
240242
if (renderer_->beginFrame(offscreen_swap_chain_)) {
241-
scene_view_->Render(renderer_, last_render_mode_,
242-
color_target_->GetRenderTarget());
243+
scene_view_->Render(renderer_, last_render_mode_, color_target_.get());
243244

244245
// Render the GUI to the texture as well if requested.
245246
if (gui_view_ && gui_swap_chain_target_ == kOffscreenSwapChain) {
246-
gui_view_->Render(renderer_, color_target_->GetRenderTarget());
247+
gui_view_->Render(renderer_, color_target_.get());
247248
}
248249

249250
const size_t num_bytes = viewport.width * viewport.height * 3;
250-
ReadColorPixels(renderer_, color_target_->GetRenderTarget(), viewport,
251-
rgb, num_bytes);
251+
ReadColorPixels(renderer_, color_target_.get(), viewport, rgb, num_bytes);
252252

253253
renderer_->endFrame();
254254
}
@@ -257,11 +257,11 @@ void FilamentContext::ReadPixels(mjrRect viewport, unsigned char* rgb,
257257
if (depth) {
258258
if (renderer_->beginFrame(offscreen_swap_chain_)) {
259259
scene_view_->Render(renderer_, SceneView::DrawMode::kDepth,
260-
depth_target_->GetRenderTarget());
260+
depth_target_.get());
261261

262262
const size_t num_bytes = viewport.width * viewport.height * sizeof(float);
263-
ReadDepthPixels(renderer_, depth_target_->GetRenderTarget(), viewport,
264-
depth, num_bytes);
263+
ReadDepthPixels(renderer_, depth_target_.get(), viewport, depth,
264+
num_bytes);
265265

266266
renderer_->endFrame();
267267
}

src/experimental/filament/filament/filament_context.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
#include <mujoco/mjvisualize.h>
2727
#include "experimental/filament/filament/gui_view.h"
2828
#include "experimental/filament/filament/object_manager.h"
29-
#include "experimental/filament/filament/render_target_util.h"
29+
#include "experimental/filament/filament/render_target.h"
3030
#include "experimental/filament/filament/scene_view.h"
3131
#include "experimental/filament/render_context_filament.h"
3232

@@ -82,8 +82,8 @@ class FilamentContext {
8282
SceneView::DrawMode last_render_mode_ = SceneView::DrawMode::kNormal;
8383
SwapChainType scene_swap_chain_target_ = kWindowSwapChain;
8484
SwapChainType gui_swap_chain_target_ = kWindowSwapChain;
85-
std::unique_ptr<RenderTargetAndTextures> color_target_;
86-
std::unique_ptr<RenderTargetAndTextures> depth_target_;
85+
std::unique_ptr<RenderTarget> color_target_;
86+
std::unique_ptr<RenderTarget> depth_target_;
8787
std::unique_ptr<ObjectManager> object_manager_;
8888
std::unique_ptr<SceneView> scene_view_;
8989
std::unique_ptr<GuiView> gui_view_;

src/experimental/filament/filament/gui_view.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
#include <mujoco/mjrender.h>
3333
#include <mujoco/mujoco.h>
3434
#include "experimental/filament/filament/mesh.h"
35+
#include "experimental/filament/filament/render_target.h"
3536
#include "experimental/filament/filament/texture.h"
3637

3738
namespace mujoco {
@@ -352,13 +353,12 @@ filament::MaterialInstance* GuiView::GetMaterialInstance(int index,
352353
return instance;
353354
}
354355

355-
void GuiView::Render(filament::Renderer* renderer,
356-
filament::RenderTarget* target) {
356+
void GuiView::Render(filament::Renderer* renderer, RenderTarget* target) {
357357
if (num_elements_ == 0) {
358358
return;
359359
}
360360

361-
view_->setRenderTarget(target);
361+
view_->setRenderTarget(target ? target->GetFilamentRenderTarget() : nullptr);
362362
renderer->render(view_);
363363
view_->setRenderTarget(nullptr);
364364
}

src/experimental/filament/filament/gui_view.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
#include <filament/View.h>
3131
#include <mujoco/mjrender.h>
3232
#include "experimental/filament/filament/mesh.h"
33+
#include "experimental/filament/filament/render_target.h"
3334
#include "experimental/filament/filament/texture.h"
3435

3536
namespace mujoco {
@@ -45,8 +46,7 @@ class GuiView {
4546
// correctly synced.
4647
void UpdateRenderable();
4748

48-
void Render(filament::Renderer* renderer,
49-
filament::RenderTarget* target = nullptr);
49+
void Render(filament::Renderer* renderer, RenderTarget* target = nullptr);
5050

5151
// Uploads texture to be used with ImGui's Image and ImageButton functions.
5252
uintptr_t UploadImage(uintptr_t tex_id, const uint8_t* pixels, int width,

src/experimental/filament/filament/render_target_util.cc renamed to src/experimental/filament/filament/render_target.cc

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15-
#include "experimental/filament/filament/render_target_util.h"
15+
#include "experimental/filament/filament/render_target.h"
1616

1717
#include <memory>
1818

@@ -23,16 +23,16 @@
2323

2424
namespace mujoco {
2525

26-
RenderTargetAndTextures::RenderTargetAndTextures(filament::Engine* engine,
26+
RenderTarget::RenderTarget(filament::Engine* engine,
2727
RenderTargetTextureType color,
2828
RenderTargetTextureType depth)
2929
: engine_(engine), color_type_(color), depth_type_(depth) {}
3030

31-
RenderTargetAndTextures::~RenderTargetAndTextures() noexcept {
31+
RenderTarget::~RenderTarget() noexcept {
3232
Destroy();
3333
}
3434

35-
void RenderTargetAndTextures::Prepare(int width, int height) {
35+
void RenderTarget::Prepare(int width, int height) {
3636
if (width == width_ && height == height_) {
3737
return;
3838
}
@@ -53,7 +53,7 @@ void RenderTargetAndTextures::Prepare(int width, int height) {
5353
render_target_ = builder.build(*engine_);
5454
}
5555

56-
void RenderTargetAndTextures::Destroy() {
56+
void RenderTarget::Destroy() {
5757
if (render_target_) {
5858
engine_->destroy(render_target_);
5959
render_target_ = nullptr;
@@ -62,15 +62,15 @@ void RenderTargetAndTextures::Destroy() {
6262
depth_texture_.reset();
6363
}
6464

65-
Texture* RenderTargetAndTextures::GetColorTexture() const {
65+
Texture* RenderTarget::GetColorTexture() const {
6666
return color_texture_.get();
6767
}
6868

69-
Texture* RenderTargetAndTextures::GetDepthTexture() const {
69+
Texture* RenderTarget::GetDepthTexture() const {
7070
return depth_texture_.get();
7171
}
7272

73-
filament::RenderTarget* RenderTargetAndTextures::GetRenderTarget() const {
73+
filament::RenderTarget* RenderTarget::GetFilamentRenderTarget() const {
7474
return render_target_;
7575
}
7676

src/experimental/filament/filament/render_target_util.h renamed to src/experimental/filament/filament/render_target.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15-
#ifndef MUJOCO_SRC_EXPERIMENTAL_FILAMENT_FILAMENT_RENDER_TARGET_UTIL_H_
16-
#define MUJOCO_SRC_EXPERIMENTAL_FILAMENT_FILAMENT_RENDER_TARGET_UTIL_H_
15+
#ifndef MUJOCO_SRC_EXPERIMENTAL_FILAMENT_FILAMENT_RENDER_TARGET_H_
16+
#define MUJOCO_SRC_EXPERIMENTAL_FILAMENT_FILAMENT_RENDER_TARGET_H_
1717

1818
#include <memory>
1919

@@ -24,17 +24,17 @@
2424
namespace mujoco {
2525

2626
// Manages a filament RenderTarget and the textures which are bound to it.
27-
class RenderTargetAndTextures {
27+
class RenderTarget {
2828
public:
2929
// Defines the types of textures to create for the color and depth
3030
// attachments.
31-
RenderTargetAndTextures(filament::Engine* engine,
31+
RenderTarget(filament::Engine* engine,
3232
RenderTargetTextureType color,
3333
RenderTargetTextureType depth);
34-
~RenderTargetAndTextures() noexcept;
34+
~RenderTarget() noexcept;
3535

36-
RenderTargetAndTextures(const RenderTargetAndTextures&) = delete;
37-
RenderTargetAndTextures& operator=(const RenderTargetAndTextures&) = delete;
36+
RenderTarget(const RenderTarget&) = delete;
37+
RenderTarget& operator=(const RenderTarget&) = delete;
3838

3939
// Creates the textures and render target if the width of height differ from
4040
// the last time the render target was prepared.
@@ -46,8 +46,8 @@ class RenderTargetAndTextures {
4646
// Returns the depth texture.
4747
Texture* GetDepthTexture() const;
4848

49-
// Returns the render target.
50-
filament::RenderTarget* GetRenderTarget() const;
49+
// Returns the underlying filament render target.
50+
filament::RenderTarget* GetFilamentRenderTarget() const;
5151

5252
private:
5353
void Destroy();
@@ -64,4 +64,4 @@ class RenderTargetAndTextures {
6464

6565
} // namespace mujoco
6666

67-
#endif // MUJOCO_SRC_EXPERIMENTAL_FILAMENT_FILAMENT_RENDER_TARGET_UTIL_H_
67+
#endif // MUJOCO_SRC_EXPERIMENTAL_FILAMENT_FILAMENT_RENDER_TARGET_H_

src/experimental/filament/filament/scene_view.cc

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
#include "experimental/filament/filament/model_objects.h"
5050
#include "experimental/filament/filament/model_util.h"
5151
#include "experimental/filament/filament/object_manager.h"
52-
#include "experimental/filament/filament/render_target_util.h"
52+
#include "experimental/filament/filament/render_target.h"
5353
#include "experimental/filament/filament/texture.h"
5454

5555
namespace mujoco {
@@ -253,7 +253,7 @@ SceneView::~SceneView() {
253253
}
254254

255255
void SceneView::Render(filament::Renderer* renderer, DrawMode draw_mode,
256-
filament::RenderTarget* target) {
256+
RenderTarget* target) {
257257
filament::View* view = PrepareRenderView(draw_mode);
258258
filament::MultiSampleAntiAliasingOptions options =
259259
view->getMultiSampleAntiAliasingOptions();
@@ -274,15 +274,16 @@ void SceneView::Render(filament::Renderer* renderer, DrawMode draw_mode,
274274
drawable->SetLayerMask(0x00);
275275

276276
// Render the reflection to its render target.
277-
reflect_view_->setRenderTarget(reflect_targets_[i]->GetRenderTarget());
277+
reflect_view_->setRenderTarget(
278+
reflect_targets_[i]->GetFilamentRenderTarget());
278279
renderer->render(reflect_view_);
279280

280281
// Unhide the reflective surface.
281282
drawable->SetLayerMask(0x01);
282283
}
283284
}
284285

285-
view->setRenderTarget(target);
286+
view->setRenderTarget(target ? target->GetFilamentRenderTarget() : nullptr);
286287
renderer->render(view);
287288
view->setRenderTarget(nullptr);
288289

@@ -516,7 +517,7 @@ void SceneView::AddReflectiveDrawable(Drawable* drawable) {
516517
// drawables.
517518
filament::Engine* engine = object_mgr_->GetEngine();
518519
while (reflect_targets_.size() < reflectives_.size()) {
519-
reflect_targets_.push_back(std::make_unique<RenderTargetAndTextures>(
520+
reflect_targets_.push_back(std::make_unique<RenderTarget>(
520521
engine, RenderTargetTextureType::kReflectionColor,
521522
RenderTargetTextureType::kDepth));
522523
}

src/experimental/filament/filament/scene_view.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
#include "experimental/filament/filament/material.h"
3939
#include "experimental/filament/filament/model_objects.h"
4040
#include "experimental/filament/filament/object_manager.h"
41-
#include "experimental/filament/filament/render_target_util.h"
41+
#include "experimental/filament/filament/render_target.h"
4242

4343
namespace mujoco {
4444

@@ -71,7 +71,7 @@ class SceneView {
7171
using DrawMode = Material::DrawMode;
7272

7373
void Render(filament::Renderer* renderer, DrawMode draw_mode,
74-
filament::RenderTarget* target = nullptr);
74+
RenderTarget* target = nullptr);
7575

7676
void UploadMesh(const mjModel* model, int id);
7777
void UploadTexture(const mjModel* model, int id);
@@ -128,7 +128,7 @@ class SceneView {
128128

129129
// Each reflective drawable has its own render target which is used to render
130130
// the reflected image.
131-
std::vector<std::unique_ptr<RenderTargetAndTextures>> reflect_targets_;
131+
std::vector<std::unique_ptr<RenderTarget>> reflect_targets_;
132132
};
133133

134134
} // namespace mujoco

0 commit comments

Comments
 (0)