Remove mjModel dependency from builtins.
PiperOrigin-RevId: 890372546 Change-Id: I1d6b99998e42c1d80072a04f5e57eaf5b4d49791
This commit is contained in:
committed by
Copybara-Service
parent
f7fb23084d
commit
d597b23e5e
@@ -24,8 +24,6 @@
|
||||
#include <math/vec2.h>
|
||||
#include <math/vec3.h>
|
||||
#include <math/vec4.h>
|
||||
#include <mujoco/mjmodel.h>
|
||||
#include <mujoco/mjvisualize.h>
|
||||
#include <mujoco/mujoco.h>
|
||||
#include "experimental/filament/filament/buffer_util.h"
|
||||
#include "experimental/filament/filament/vertex_util.h"
|
||||
@@ -773,55 +771,44 @@ FilamentBuffers CreateFromBuilder(filament::Engine* engine, const T& builder) {
|
||||
return {ib, vb, builder.GetBounds(), T::kPrimitiveType};
|
||||
}
|
||||
|
||||
FilamentBuffers CreateLine(filament::Engine* engine, const mjModel* model) {
|
||||
FilamentBuffers CreateLine(filament::Engine* engine) {
|
||||
return CreateFromBuilder(engine, LineBuilder());
|
||||
}
|
||||
|
||||
FilamentBuffers CreatePlane(filament::Engine* engine, const mjModel* model) {
|
||||
const int num_quads = model->vis.quality.numquads;
|
||||
return CreateFromBuilder(engine, PlaneBuilder(num_quads));
|
||||
FilamentBuffers CreatePlane(filament::Engine* engine, int nquad) {
|
||||
return CreateFromBuilder(engine, PlaneBuilder(nquad));
|
||||
}
|
||||
|
||||
FilamentBuffers CreateTriangle(filament::Engine* engine, const mjModel* model) {
|
||||
FilamentBuffers CreateTriangle(filament::Engine* engine) {
|
||||
return CreateFromBuilder(engine, TriangleBuilder());
|
||||
}
|
||||
|
||||
FilamentBuffers CreateBox(filament::Engine* engine, const mjModel* model) {
|
||||
const int num_quads = model->vis.quality.numquads;
|
||||
return CreateFromBuilder(engine, BoxBuilder(num_quads));
|
||||
FilamentBuffers CreateBox(filament::Engine* engine, int nquad) {
|
||||
return CreateFromBuilder(engine, BoxBuilder(nquad));
|
||||
}
|
||||
|
||||
FilamentBuffers CreateLineBox(filament::Engine* engine, const mjModel* model) {
|
||||
FilamentBuffers CreateLineBox(filament::Engine* engine) {
|
||||
return CreateFromBuilder(engine, LineBoxBuilder());
|
||||
}
|
||||
|
||||
FilamentBuffers CreateSphere(filament::Engine* engine, const mjModel* model) {
|
||||
const int num_stacks = model->vis.quality.numstacks;
|
||||
const int num_slices = model->vis.quality.numslices;
|
||||
return CreateFromBuilder(engine, SphereBuilder(num_stacks, num_slices));
|
||||
FilamentBuffers CreateSphere(filament::Engine* engine, int nstack, int nslice) {
|
||||
return CreateFromBuilder(engine, SphereBuilder(nstack, nslice));
|
||||
}
|
||||
|
||||
FilamentBuffers CreateTube(filament::Engine* engine, const mjModel* model) {
|
||||
const int num_stacks = model->vis.quality.numstacks;
|
||||
const int num_slices = model->vis.quality.numslices;
|
||||
return CreateFromBuilder(engine, TubeBuilder(num_stacks, num_slices));
|
||||
FilamentBuffers CreateTube(filament::Engine* engine, int nstack, int nslice) {
|
||||
return CreateFromBuilder(engine, TubeBuilder(nstack, nslice));
|
||||
}
|
||||
|
||||
FilamentBuffers CreateDisk(filament::Engine* engine, const mjModel* model) {
|
||||
const int num_slices = model->vis.quality.numslices;
|
||||
return CreateFromBuilder(engine, DiskBuilder(num_slices));
|
||||
FilamentBuffers CreateDisk(filament::Engine* engine, int nslice) {
|
||||
return CreateFromBuilder(engine, DiskBuilder(nslice));
|
||||
}
|
||||
|
||||
FilamentBuffers CreateDome(filament::Engine* engine, const mjModel* model) {
|
||||
const int num_stacks = model->vis.quality.numstacks / 2;
|
||||
const int num_slices = model->vis.quality.numslices;
|
||||
return CreateFromBuilder(engine, DomeBuilder(num_stacks, num_slices));
|
||||
FilamentBuffers CreateDome(filament::Engine* engine, int nstack, int nslice) {
|
||||
return CreateFromBuilder(engine, DomeBuilder(nstack, nslice));
|
||||
}
|
||||
|
||||
FilamentBuffers CreateCone(filament::Engine* engine, const mjModel* model) {
|
||||
const int num_stacks = model->vis.quality.numstacks;
|
||||
const int num_slices = model->vis.quality.numslices;
|
||||
return CreateFromBuilder(engine, ConeBuilder(num_stacks, num_slices));
|
||||
FilamentBuffers CreateCone(filament::Engine* engine, int nstack, int nslice) {
|
||||
return CreateFromBuilder(engine, ConeBuilder(nstack, nslice));
|
||||
}
|
||||
|
||||
} // namespace mujoco
|
||||
|
||||
@@ -16,22 +16,21 @@
|
||||
#define MUJOCO_SRC_EXPERIMENTAL_FILAMENT_FILAMENT_BUILTINS_H_
|
||||
|
||||
#include <filament/Engine.h>
|
||||
#include <mujoco/mjmodel.h>
|
||||
#include "experimental/filament/filament/buffer_util.h"
|
||||
|
||||
// Generates buffers for built-in shapes.
|
||||
namespace mujoco {
|
||||
|
||||
FilamentBuffers CreateLine(filament::Engine* engine, const mjModel* model);
|
||||
FilamentBuffers CreateBox(filament::Engine* engine, const mjModel* model);
|
||||
FilamentBuffers CreateLineBox(filament::Engine* engine, const mjModel* model);
|
||||
FilamentBuffers CreateTriangle(filament::Engine* engine, const mjModel* model);
|
||||
FilamentBuffers CreatePlane(filament::Engine* engine, const mjModel* model);
|
||||
FilamentBuffers CreateSphere(filament::Engine* engine, const mjModel* model);
|
||||
FilamentBuffers CreateTube(filament::Engine* engine, const mjModel* model);
|
||||
FilamentBuffers CreateDisk(filament::Engine* engine, const mjModel* model);
|
||||
FilamentBuffers CreateDome(filament::Engine* engine, const mjModel* model);
|
||||
FilamentBuffers CreateCone(filament::Engine* engine, const mjModel* model);
|
||||
FilamentBuffers CreateLine(filament::Engine* engine);
|
||||
FilamentBuffers CreatePlane(filament::Engine* engine, int nquad);
|
||||
FilamentBuffers CreateTriangle(filament::Engine* engine);
|
||||
FilamentBuffers CreateBox(filament::Engine* engine, int nquad);
|
||||
FilamentBuffers CreateLineBox(filament::Engine* engine);
|
||||
FilamentBuffers CreateSphere(filament::Engine* engine, int nstack, int nslice);
|
||||
FilamentBuffers CreateTube(filament::Engine* engine, int nstack, int nslice);
|
||||
FilamentBuffers CreateDisk(filament::Engine* engine, int nslice);
|
||||
FilamentBuffers CreateDome(filament::Engine* engine, int nstack, int nslice);
|
||||
FilamentBuffers CreateCone(filament::Engine* engine, int nstack, int nslice);
|
||||
|
||||
} // namespace mujoco
|
||||
|
||||
|
||||
@@ -66,16 +66,20 @@ struct Asset {
|
||||
|
||||
ObjectManager::ObjectManager(const mjModel* model, filament::Engine* engine)
|
||||
: model_(model), engine_(engine) {
|
||||
shapes_[kLine] = CreateLine(engine_, model_);
|
||||
shapes_[kBox] = CreateBox(engine_, model_);
|
||||
shapes_[kLineBox] = CreateLineBox(engine_, model_);
|
||||
shapes_[kCone] = CreateCone(engine_, model_);
|
||||
shapes_[kDisk] = CreateDisk(engine_, model_);
|
||||
shapes_[kDome] = CreateDome(engine_, model_);
|
||||
shapes_[kTube] = CreateTube(engine_, model_);
|
||||
shapes_[kPlane] = CreatePlane(engine_, model_);
|
||||
shapes_[kSphere] = CreateSphere(engine_, model_);
|
||||
shapes_[kTriangle] = CreateTriangle(engine_, model_);
|
||||
const int nquad = model->vis.quality.numquads;
|
||||
const int nstack = model->vis.quality.numstacks;
|
||||
const int nslice = model->vis.quality.numslices;
|
||||
|
||||
shapes_[kLine] = CreateLine(engine_);
|
||||
shapes_[kBox] = CreateBox(engine_, nquad);
|
||||
shapes_[kLineBox] = CreateLineBox(engine_);
|
||||
shapes_[kCone] = CreateCone(engine_, nstack, nslice);
|
||||
shapes_[kDisk] = CreateDisk(engine_, nslice);
|
||||
shapes_[kDome] = CreateDome(engine_, nstack / 2, nslice);
|
||||
shapes_[kTube] = CreateTube(engine_, nstack, nslice);
|
||||
shapes_[kPlane] = CreatePlane(engine_, nquad);
|
||||
shapes_[kSphere] = CreateSphere(engine_, nstack, nslice);
|
||||
shapes_[kTriangle] = CreateTriangle(engine_);
|
||||
|
||||
auto LoadMaterial = [this](std::string_view filename) {
|
||||
Asset asset(filename);
|
||||
|
||||
Reference in New Issue
Block a user