187
187
188
188
} );
189
189
190
- var REVISION = '81dev ';
190
+ var REVISION = '81 ';
191
191
var MOUSE = { LEFT: 0, MIDDLE: 1, RIGHT: 2 };
192
192
var CullFaceNone = 0;
193
193
var CullFaceBack = 1;
10569
10569
10570
10570
this.userData = {};
10571
10571
10572
+ this.onBeforeRender = null;
10573
+
10572
10574
}
10573
10575
10574
10576
Object3D.DefaultUp = new Vector3( 0, 1, 0 );
17225
17227
var b = array[ i + 1 ];
17226
17228
var c = array[ i + 2 ];
17227
17229
17228
- if ( checkEdge( edges, a, b ) ) indices.push( a, b );
17229
- if ( checkEdge( edges, b, c ) ) indices.push( b, c );
17230
- if ( checkEdge( edges, c, a ) ) indices.push( c, a );
17230
+ indices.push( a, b, b, c, c, a );
17231
17231
17232
17232
}
17233
17233
17260
17260
17261
17261
}
17262
17262
17263
- function checkEdge( edges, a, b ) {
17264
-
17265
- if ( a > b ) {
17266
-
17267
- var tmp = a;
17268
- a = b;
17269
- b = tmp;
17270
-
17271
- }
17272
-
17273
- var list = edges[ a ];
17274
-
17275
- if ( list === undefined ) {
17276
-
17277
- edges[ a ] = [ b ];
17278
- return true;
17279
-
17280
- } else if ( list.indexOf( b ) === -1 ) {
17281
-
17282
- list.push( b );
17283
- return true;
17284
-
17285
- }
17286
-
17287
- return false;
17288
-
17289
- }
17290
-
17291
17263
return {
17292
17264
17293
17265
getAttributeBuffer: getAttributeBuffer,
@@ -20147,10 +20119,12 @@
20147
20119
20148
20120
var index = geometry.index;
20149
20121
var position = geometry.attributes.position;
20122
+ var rangeFactor = 1;
20150
20123
20151
20124
if ( material.wireframe === true ) {
20152
20125
20153
20126
index = objects.getWireframeAttribute( geometry );
20127
+ rangeFactor = 2;
20154
20128
20155
20129
}
20156
20130
20181
20155
20182
20156
//
20183
20157
20184
- var dataStart = 0;
20185
20158
var dataCount = 0;
20186
20159
20187
20160
if ( index !== null ) {
@@ -20194,14 +20167,14 @@
20194
20167
20195
20168
}
20196
20169
20197
- var rangeStart = geometry.drawRange.start;
20198
- var rangeCount = geometry.drawRange.count;
20170
+ var rangeStart = geometry.drawRange.start * rangeFactor ;
20171
+ var rangeCount = geometry.drawRange.count * rangeFactor ;
20199
20172
20200
- var groupStart = group !== null ? group.start : 0;
20201
- var groupCount = group !== null ? group.count : Infinity;
20173
+ var groupStart = group !== null ? group.start * rangeFactor : 0;
20174
+ var groupCount = group !== null ? group.count * rangeFactor : Infinity;
20202
20175
20203
- var drawStart = Math.max( dataStart, rangeStart, groupStart );
20204
- var drawEnd = Math.min( dataStart + dataCount, rangeStart + rangeCount, groupStart + groupCount ) - 1;
20176
+ var drawStart = Math.max( rangeStart, groupStart );
20177
+ var drawEnd = Math.min( dataCount, rangeStart + rangeCount, groupStart + groupCount ) - 1;
20205
20178
20206
20179
var drawCount = Math.max( 0, drawEnd - drawStart + 1 );
20207
20180
20894
20867
20895
20868
} else {
20896
20869
20870
+ if ( object.onBeforeRender !== null ) object.onBeforeRender();
20871
+
20897
20872
_this.renderBufferDirect( camera, fog, geometry, material, object, group );
20898
20873
20899
20874
}
@@ -36105,10 +36080,11 @@
36105
36080
// uuid.objectName[objectIndex].propertyName[propertyIndex]
36106
36081
// parentName/nodeName.property
36107
36082
// parentName/parentName/nodeName.property[index]
36108
- // .bone[Armature.DEF_cog].position
36083
+ // .bone[Armature.DEF_cog].position
36084
+ // scene:helium_balloon_model:helium_balloon_model.position
36109
36085
// created and tested via https://regex101.com/#javascript
36110
36086
36111
- var re = /^((?:\w+\/ )*)(\w+)?(?:\.(\w+)(?:\[(.+)\])?)?\.(\w+)(?:\[(.+)\])?$/;
36087
+ var re = /^((?:\w+[\/:] )*)(\w+)?(?:\.(\w+)(?:\[(.+)\])?)?\.(\w+)(?:\[(.+)\])?$/;
36112
36088
var matches = re.exec( trackName );
36113
36089
36114
36090
if ( ! matches ) {
0 commit comments