Skip to content

Commit dcd91b6

Browse files
committed
Fix usage of model() in buildGeometry()
1 parent d1f33db commit dcd91b6

File tree

5 files changed

+39
-13
lines changed

5 files changed

+39
-13
lines changed

src/webgl/loading.js

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1087,19 +1087,7 @@ function loading(p5, fn){
10871087
fn.model = function (model, count = 1) {
10881088
this._assert3d('model');
10891089
// p5._validateParameters('model', arguments);
1090-
if (model.vertices.length > 0) {
1091-
if (!this._renderer.geometryInHash(model.gid)) {
1092-
1093-
if (model.edges.length === 0) {
1094-
model._makeTriangleEdges();
1095-
}
1096-
1097-
model._edgesToVertices();
1098-
this._renderer._getOrMakeCachedBuffers(model);
1099-
}
1100-
1101-
this._renderer._drawGeometry(model, { count });
1102-
}
1090+
this._renderer.model(model, count);
11031091
};
11041092
}
11051093

src/webgl/p5.RendererGL.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -586,6 +586,21 @@ class RendererGL extends Renderer {
586586
this.updateShapeVertexProperties();
587587
}
588588

589+
model(model, count = 1) {
590+
if (model.vertices.length > 0) {
591+
if (this.geometryBuilder) {
592+
this.geometryBuilder.addRetained(model);
593+
} else {
594+
if (!this.geometryInHash(model.gid)) {
595+
model._edgesToVertices();
596+
this._getOrMakeCachedBuffers(model);
597+
}
598+
599+
this._drawGeometry(model, { count });
600+
}
601+
}
602+
}
603+
589604
//////////////////////////////////////////////
590605
// Rendering
591606
//////////////////////////////////////////////

test/unit/visual/cases/webgl.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -562,4 +562,24 @@ visualSuite('WebGL', function() {
562562
screenshot();
563563
});
564564
});
565+
566+
visualSuite('buildGeometry()', () => {
567+
visualTest('can draw models', (p5, screenshot) => {
568+
p5.createCanvas(50, 50, p5.WEBGL);
569+
570+
const sphere = p5.buildGeometry(() => {
571+
p5.scale(0.25);
572+
p5.sphere();
573+
});
574+
575+
const geom = p5.buildGeometry(() => {
576+
p5.model(sphere);
577+
});
578+
579+
p5.background(255);
580+
p5.lights();
581+
p5.model(geom);
582+
screenshot();
583+
});
584+
});
565585
});
Loading
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"numScreenshots": 1
3+
}

0 commit comments

Comments
 (0)