File tree 5 files changed +41
-13
lines changed
screenshots/WebGL/buildGeometry()/can draw models
5 files changed +41
-13
lines changed Original file line number Diff line number Diff line change @@ -441,6 +441,7 @@ function loading(p5, fn){
441
441
if ( flipV ) {
442
442
model . flipV ( ) ;
443
443
}
444
+ model . _makeTriangleEdges ( ) ;
444
445
445
446
if ( successCallback ) {
446
447
return successCallback ( model ) ;
@@ -464,6 +465,7 @@ function loading(p5, fn){
464
465
if ( flipV ) {
465
466
model . flipV ( ) ;
466
467
}
468
+ model . _makeTriangleEdges ( ) ;
467
469
468
470
if ( successCallback ) {
469
471
return successCallback ( model ) ;
@@ -1087,19 +1089,7 @@ function loading(p5, fn){
1087
1089
fn . model = function ( model , count = 1 ) {
1088
1090
this . _assert3d ( 'model' ) ;
1089
1091
// 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
- }
1092
+ this . _renderer . model ( model , count ) ;
1103
1093
} ;
1104
1094
}
1105
1095
Original file line number Diff line number Diff line change @@ -586,6 +586,21 @@ class RendererGL extends Renderer {
586
586
this . updateShapeVertexProperties ( ) ;
587
587
}
588
588
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
+
589
604
//////////////////////////////////////////////
590
605
// Rendering
591
606
//////////////////////////////////////////////
Original file line number Diff line number Diff line change @@ -562,4 +562,24 @@ visualSuite('WebGL', function() {
562
562
screenshot ( ) ;
563
563
} ) ;
564
564
} ) ;
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
+ } ) ;
565
585
} ) ;
Original file line number Diff line number Diff line change
1
+ {
2
+ "numScreenshots" : 1
3
+ }
You can’t perform that action at this time.
0 commit comments