Revision 7e8b9852
Added by Leszek Koltunski almost 4 years ago
src/main/java/org/distorted/objects/RubikPyraminx.java | ||
---|---|---|
216 | 216 |
MeshBase[] meshes = new MeshTriangles[MESHES]; |
217 | 217 |
|
218 | 218 |
meshes[0] = new MeshTriangles(5); |
219 |
meshes[0].setEffectAssociation(0,association); |
|
219 |
meshes[0].setEffectAssociation(0,association,0);
|
|
220 | 220 |
|
221 | 221 |
for(int i=1; i<MESHES; i++) |
222 | 222 |
{ |
223 | 223 |
association <<= 1; |
224 | 224 |
meshes[i] = meshes[0].copy(true); |
225 |
meshes[i].setEffectAssociation(0,association); |
|
225 |
meshes[i].setEffectAssociation(0,association,0);
|
|
226 | 226 |
} |
227 | 227 |
|
228 |
Static4D[] textureMaps = new Static4D[MESHES]; |
|
229 |
for(int i=0; i<MESHES; i++) textureMaps[i] = new Static4D(i*0.25f,0.0f,0.25f,1.0f); |
|
230 | 228 |
MeshBase result = new MeshJoined(meshes); |
231 |
result.setTextureMap(textureMaps); |
|
232 | 229 |
|
233 | 230 |
Static3D a0 = new Static3D( 0, 1, 0 ); |
234 | 231 |
Static3D a1 = new Static3D( 0, -1.0f/3, 2*SQ2/3 ); |
... | ... | |
263 | 260 |
Static3D center = new Static3D(0,0,0); |
264 | 261 |
Static4D region = new Static4D(0,0,0,0.6f); |
265 | 262 |
|
266 |
VertexEffectScale effect1 = new VertexEffectScale ( new Static3D(1,SQ3/2,1) ); |
|
267 |
VertexEffectRotate effect2 = new VertexEffectRotate( new Static1D(90), new Static3D(1,0,0), new Static3D(0,0,0) );
|
|
268 |
VertexEffectMove effect3 = new VertexEffectMove ( new Static3D(0,-SQ3*SQ2/12,SQ3/12) ); |
|
269 |
VertexEffectRotate effect4 = new VertexEffectRotate( new Static1D(180), new Static3D(0,0,1), center1 );
|
|
270 |
VertexEffectRotate effect5 = new VertexEffectRotate( angle, axis1, center1 );
|
|
271 |
VertexEffectRotate effect6 = new VertexEffectRotate( angle, axis2, center2 );
|
|
272 |
VertexEffectRotate effect7 = new VertexEffectRotate( angle, axis3, center2 );
|
|
263 |
VertexEffectScale effect1 = new VertexEffectScale ( new Static3D(1,SQ3/2,1) );
|
|
264 |
VertexEffectRotate effect2 = new VertexEffectRotate( new Static1D(90), new Static3D(1,0,0), new Static3D(0,0,0) ); |
|
265 |
VertexEffectMove effect3 = new VertexEffectMove ( new Static3D(0,-SQ3*SQ2/12,SQ3/12) );
|
|
266 |
VertexEffectRotate effect4 = new VertexEffectRotate( new Static1D(180), new Static3D(0,0,1), center1 ); |
|
267 |
VertexEffectRotate effect5 = new VertexEffectRotate( angle, axis1, center1 ); |
|
268 |
VertexEffectRotate effect6 = new VertexEffectRotate( angle, axis2, center2 ); |
|
269 |
VertexEffectRotate effect7 = new VertexEffectRotate( angle, axis3, center2 ); |
|
273 | 270 |
|
274 | 271 |
VertexEffectDeform effect8 = new VertexEffectDeform(dVec0, dRad, dCen0, dReg); |
275 | 272 |
VertexEffectDeform effect9 = new VertexEffectDeform(dVec1, dRad, dCen1, dReg); |
... | ... | |
278 | 275 |
|
279 | 276 |
VertexEffectSink effect12= new VertexEffectSink( new Static1D(1.3f), center, region ); |
280 | 277 |
|
281 |
effect4.setMeshAssociation(-1,14); // apply to mesh[1], [2] and [3]
|
|
282 |
effect5.setMeshAssociation(-1, 2); // apply only to mesh[1]
|
|
283 |
effect6.setMeshAssociation(-1, 4); // apply only to mesh[2]
|
|
284 |
effect7.setMeshAssociation(-1, 8); // apply only to mesh[3]
|
|
278 |
effect4.setMeshAssociation(14,-1); // apply to mesh[1], [2] and [3]
|
|
279 |
effect5.setMeshAssociation( 2,-1); // apply only to mesh[1]
|
|
280 |
effect6.setMeshAssociation( 4,-1); // apply only to mesh[2]
|
|
281 |
effect7.setMeshAssociation( 8,-1); // apply only to mesh[3]
|
|
285 | 282 |
|
286 | 283 |
result.apply(effect1); |
287 | 284 |
result.apply(effect2); |
Also available in: Unified diff
Correct RubikCube for the new library.