Project

General

Profile

« Previous | Next » 

Revision 0318e7e3

Added by Leszek Koltunski almost 8 years ago

Important bugfix in the vertex shader: there was division by 0 in case Center point was on the edge of the Object, resulting in some vertices being shot into outer space.

View differences:

src/main/java/org/distorted/library/EffectNames.java
230 230
        case 4: unities[MAXDIM*i+3] = name.unity[3];
231 231
        case 3: unities[MAXDIM*i+2] = name.unity[2];
232 232
        case 2: unities[MAXDIM*i+1] = name.unity[1];
233
        case 1: unities[MAXDIM*i+0] = name.unity[0];
233
        case 1: unities[MAXDIM*i  ] = name.unity[0];
234 234
        case 0: break;
235 235
        }
236 236
      
......
267 267
    switch(dimensions[ordinal])
268 268
      {
269 269
      case 0: break;
270
      case 1: buffer[index+0]=unities[MAXDIM*ordinal+0];
270
      case 1: buffer[index  ]=unities[MAXDIM*ordinal  ];
271 271
              break;
272
      case 2: buffer[index+0]=unities[MAXDIM*ordinal+0]; 
272
      case 2: buffer[index  ]=unities[MAXDIM*ordinal  ];
273 273
              buffer[index+1]=unities[MAXDIM*ordinal+1];
274 274
              break;
275
      case 3: buffer[index+0]=unities[MAXDIM*ordinal+0]; 
275
      case 3: buffer[index  ]=unities[MAXDIM*ordinal  ];
276 276
              buffer[index+1]=unities[MAXDIM*ordinal+1]; 
277 277
              buffer[index+2]=unities[MAXDIM*ordinal+2];
278 278
              break;
279
      case 4: buffer[index+0]=unities[MAXDIM*ordinal+0]; 
279
      case 4: buffer[index  ]=unities[MAXDIM*ordinal  ];
280 280
              buffer[index+1]=unities[MAXDIM*ordinal+1]; 
281 281
              buffer[index+2]=unities[MAXDIM*ordinal+2];
282 282
              buffer[index+3]=unities[MAXDIM*ordinal+3];
......
291 291
    switch(dimensions[ordinal])
292 292
      {
293 293
      case 0: return true;
294
      case 1: return buffer[index+0]==unities[MAXDIM*ordinal+0];
295
      case 2: return buffer[index+0]==unities[MAXDIM*ordinal+0] && 
294
      case 1: return buffer[index  ]==unities[MAXDIM*ordinal  ];
295
      case 2: return buffer[index  ]==unities[MAXDIM*ordinal  ] &&
296 296
                     buffer[index+1]==unities[MAXDIM*ordinal+1];
297
      case 3: return buffer[index+0]==unities[MAXDIM*ordinal+0] && 
297
      case 3: return buffer[index  ]==unities[MAXDIM*ordinal  ] &&
298 298
                     buffer[index+1]==unities[MAXDIM*ordinal+1] && 
299 299
                     buffer[index+2]==unities[MAXDIM*ordinal+2];
300
      case 4: return buffer[index+0]==unities[MAXDIM*ordinal+0] && 
300
      case 4: return buffer[index  ]==unities[MAXDIM*ordinal  ] &&
301 301
                     buffer[index+1]==unities[MAXDIM*ordinal+1] && 
302 302
                     buffer[index+2]==unities[MAXDIM*ordinal+2] &&
303 303
                     buffer[index+3]==unities[MAXDIM*ordinal+3];

Also available in: Unified diff