@Override public int hashCode() { int result = this.index; result = 31 * result + this.array.hashCode(); result = 31 * result + this.type.hashCode(); result = 31 * result + this.stride; result = 31 * result + (int) (this.offset ^ (this.offset >>> 32)); result = 31 * result + this.elements; result = 31 * result + (this.normalized ? 1 : 0); result = 31 * result + this.divisor; return result; }
case TYPE_HALF_FLOAT: case TYPE_FLOAT: { return JCGLScalarType.shaderTypeConvertibleFloat(elements, type); return JCGLScalarType.shaderTypeConvertibleInt(elements, type);
final Attribute a = this.attributes_by_index.get(a_index); a.offset = this.vertex_size; final int size = Math.multiplyExact(a.count, a.type.getSizeBytes()); this.vertex_size = Math.addExact(this.vertex_size, size);
@Test public void testFromScalar() { for (final JCGLScalarType v : JCGLScalarType.values()) { switch (v) { case TYPE_HALF_FLOAT: case TYPE_FLOAT: case TYPE_BYTE: case TYPE_INT: case TYPE_SHORT: continue; case TYPE_UNSIGNED_BYTE: case TYPE_UNSIGNED_INT: case TYPE_UNSIGNED_SHORT: break; } final JCGLUnsignedType t = JCGLUnsignedType.fromScalar(v); final JCGLScalarType r = JCGLScalarType.fromScalarUnsigned(t); Assert.assertEquals(v, r); } }
@Test public void testFromScalar() { for (final JCGLScalarType v : JCGLScalarType.values()) { switch (v) { case TYPE_HALF_FLOAT: case TYPE_FLOAT: continue; case TYPE_BYTE: case TYPE_INT: case TYPE_SHORT: case TYPE_UNSIGNED_BYTE: case TYPE_UNSIGNED_INT: case TYPE_UNSIGNED_SHORT: break; } final JCGLScalarIntegralType t = JCGLScalarIntegralType.fromScalar(v); final JCGLScalarType r = JCGLScalarType.fromScalarIntegral(t); Assert.assertEquals(v, r); } }
@Test public void testFromUnsigned() { for (final JCGLUnsignedType v : JCGLUnsignedType.values()) { final JCGLScalarType t = JCGLScalarType.fromScalarUnsigned(v); final JCGLUnsignedType r = JCGLUnsignedType.fromScalar(t); Assert.assertEquals(v, r); } }
@Test public void testFromScalarIntegral() { for (final JCGLScalarIntegralType v : JCGLScalarIntegralType.values()) { final JCGLScalarType t = JCGLScalarType.fromScalarIntegral(v); final JCGLScalarIntegralType r = JCGLScalarIntegralType.fromScalar(t); Assert.assertEquals(v, r); } } }
final JCGLIndexBufferType index_buffer = loader.indexBuffer(); Assert.assertEquals( (long) (type.getSizeBytes() * component_count * vertex_count), array_buffer.getRange().getInterval()); Assert.assertEquals(
@Override public int hashCode() { int result = this.index; result = 31 * result + this.array.hashCode(); result = 31 * result + this.type.hashCode(); result = 31 * result + this.stride; result = 31 * result + (int) (this.offset ^ (this.offset >>> 32)); result = 31 * result + this.elements; result = 31 * result + (this.normalized ? 1 : 0); result = 31 * result + this.divisor; return result; }
case TYPE_HALF_FLOAT: case TYPE_FLOAT: { return shaderTypeConvertibleFloat(elements, type); return shaderTypeConvertibleInt(elements, type);
@Override public int hashCode() { int result = this.index; result = 31 * result + this.array.hashCode(); result = 31 * result + this.type.hashCode(); result = 31 * result + this.stride; result = 31 * result + (int) (this.offset ^ (this.offset >>> 32)); result = 31 * result + this.elements; result = 31 * result + (this.normalized ? 1 : 0); result = 31 * result + this.divisor; return result; }
@Override public int hashCode() { int result = this.index; result = 31 * result + this.array.hashCode(); result = 31 * result + this.type.hashCode(); result = 31 * result + this.stride; result = 31 * result + (int) (this.offset ^ (this.offset >>> 32)); result = 31 * result + this.elements; result = 31 * result + (this.normalized ? 1 : 0); result = 31 * result + this.divisor; return result; }