Refine search
public String glGetActiveUniform (int program, int index, IntBuffer size, Buffer type) { // FIXME this is less than ideal of course... IntBuffer typeTmp = BufferUtils.createIntBuffer(2); String name = GL20.glGetActiveUniform(program, index, 256, typeTmp); size.put(typeTmp.get(0)); if (type instanceof IntBuffer) ((IntBuffer)type).put(typeTmp.get(1)); return name; }
public static IntBuffer ensureLargeEnough(IntBuffer buffer, int required) { if (buffer != null) { buffer.limit(buffer.capacity()); } if (buffer == null || (buffer.remaining() < required)) { int position = (buffer != null ? buffer.position() : 0); IntBuffer newVerts = createIntBuffer(position + required); if (buffer != null) { buffer.flip(); newVerts.put(buffer); newVerts.position(position); } buffer = newVerts; } return buffer; }
private static void bulkPut(VertexBuffer.Format format, Buffer buf1, Buffer buf2) { switch (format) { case Byte: case Half: case UnsignedByte: ((ByteBuffer) buf1).put((ByteBuffer) buf2); break; case Short: case UnsignedShort: ((ShortBuffer) buf1).put((ShortBuffer) buf2); break; case Int: case UnsignedInt: ((IntBuffer) buf1).put((IntBuffer) buf2); break; case Float: ((FloatBuffer) buf1).put((FloatBuffer) buf2); break; case Double: ((DoubleBuffer) buf1).put((DoubleBuffer) buf2); break; default: throw new UnsupportedOperationException("Unrecoginized buffer format: " + format); } }
case Short: case UnsignedShort: short s = ((ShortBuffer) buf2).get(index); ((ShortBuffer) buf1).put(s); break; int i = ((IntBuffer) buf2).get(index); ((IntBuffer) buf1).put(i); break; case Float: float f = ((FloatBuffer) buf2).get(index); ((FloatBuffer) buf1).put(f); break; case Double: double d = ((DoubleBuffer) buf2).get(index); ((DoubleBuffer) buf1).put(d); break; default:
FloatBuffer normals = geometry.getMesh().getFloatBuffer(Type.Normal); if (normals != null) { for (int i = 0; i < normals.limit(); i += 3) { if (scale.x < 0) { normals.put(i, -normals.get(i)); LOGGER.finer("Flipping index order in triangle mesh."); Buffer indexBuffer = geometry.getMesh().getBuffer(Type.Index).getData(); for (int i = 0; i < indexBuffer.limit(); i += 3) { if (indexBuffer instanceof ShortBuffer) { short index = ((ShortBuffer) indexBuffer).get(i + 1); ((ShortBuffer) indexBuffer).put(i + 1, ((ShortBuffer) indexBuffer).get(i + 2)); ((ShortBuffer) indexBuffer).put(i + 2, index); } else { int index = ((IntBuffer) indexBuffer).get(i + 1); ((IntBuffer) indexBuffer).put(i + 1, ((IntBuffer) indexBuffer).get(i + 2)); ((IntBuffer) indexBuffer).put(i + 2, index);
Number get(DataType dataType, int index) { if (dataType == DataType.BYTE) return bb.get(index); if (dataType == DataType.SHORT) return bb.asShortBuffer().get(index); if (dataType == DataType.INT) return bb.asIntBuffer().get(index); if (dataType == DataType.LONG) return bb.asLongBuffer().get(index); if (dataType == DataType.FLOAT) return bb.asFloatBuffer().get(index); if (dataType == DataType.DOUBLE) return bb.asDoubleBuffer().get(index); return Double.NaN; }
outVb.data.clear(); ByteBuffer bin = (ByteBuffer) srcData; ByteBuffer bout = (ByteBuffer) outVb.data; bin.position(inPos).limit(inPos + elementSz * len); bout.position(outPos).limit(outPos + elementSz * len); bout.put(bin); break; IntBuffer iin = (IntBuffer) srcData; IntBuffer iout = (IntBuffer) outVb.data; iin.position(inPos).limit(inPos + elementSz * len); iout.position(outPos).limit(outPos + elementSz * len); iout.put(iin); break; case Float: FloatBuffer fin = (FloatBuffer) srcData; FloatBuffer fout = (FloatBuffer) outVb.data; fin.position(inPos).limit(inPos + elementSz * len); fout.position(outPos).limit(outPos + elementSz * len); fout.put(fin); break; default:
private static void copyBuffer(Buffer buffer, long handle, long flags, int d1) { if (d1 != buffer.capacity()) { Class<?> cls = null; if (buffer instanceof ByteBuffer) { cls.getName() + " of capacity " + d1 + ". Got " + cls.getName() + " of capacity " + buffer.capacity()); int offset = 0; int shift = VM.getInt(VM.getObjectAddress(buffer) + _ELEMENT_SIZE_SHIFT_OFFSET); if (buffer.isDirect()) { src = VM.getLong(VM.getObjectAddress(buffer) + EFFECTIVE_DIRECT_ADDRESS_OFFSET); } else { } else if (buffer instanceof IntBuffer) { array = new int[d1]; ((IntBuffer) buffer).get((int[]) array); } else if (buffer instanceof LongBuffer) { array = new long[d1]; ((LongBuffer) buffer).get((long[]) array); } else if (buffer instanceof FloatBuffer) { array = new float[d1]; ((FloatBuffer) buffer).get((float[]) array); } else if (buffer instanceof DoubleBuffer) { array = new double[d1]; ((DoubleBuffer) buffer).get((double[]) array); buffer.position(pos);
IntBuffer toInt = toView.asIntBuffer(); for (int i = 0; i < n; i++) { int put = fromInt.get(fromOffset + i * fromStride); toInt.put(toOffset + i * toStride, put); FloatBuffer toFloat = toView.asFloatBuffer(); for (int i = 0; i < n; i++) { float put = fromFloat.get(fromOffset + i * fromStride); toFloat.put(toOffset + i * toStride, put); DoubleBuffer toDouble = toView.asDoubleBuffer(); for (int i = 0; i < n; i++) { toDouble.put(toOffset + i * toStride, fromDouble.get(fromOffset + i * fromStride));
checkInt(cb.get(), 8); sb.position(4); BufferUtils.copy(new short[] {1, 2, 3, 4}, 0, sb, 4); checkInt(sb.get(), 1); checkInt(sb.get(), 2); ib.position(4); BufferUtils.copy(new int[] {1, 2, 3, 4}, 0, ib, 4); checkInt(ib.get(), 1); checkInt(ib.get(), 2); checkInt(ib.get(), 3); checkInt(ib.get(), 4); ib.position(0); BufferUtils.copy(new int[] {5, 6, 7, 8}, 1, ib, 3); checkInt(ib.get(), 6); checkInt(ib.get(), 7); checkInt(ib.get(), 8); lb.position(4); BufferUtils.copy(new long[] {1, 2, 3, 4}, 0, lb, 4); checkInt(lb.get(), 1); checkInt(lb.get(), 2); fb.position(4); BufferUtils.copy(new float[] {1, 2, 3, 4}, 0, fb, 4); checkFloat(fb.get(), 1); checkFloat(fb.get(), 2);
@Override public void glBufferSubData(int target, int offset, int size, Buffer data) { // Limit the buffer to the given size, restoring it afterwards int oldLimit = data.limit(); if (data instanceof ByteBuffer) { ByteBuffer subData = (ByteBuffer)data; subData.limit(subData.position() + size); GL15.glBufferSubData(target, offset, subData); } else if (data instanceof IntBuffer) { IntBuffer subData = (IntBuffer)data; subData.limit(subData.position() + size/4); GL15.glBufferSubData(target, offset, subData); } else if (data instanceof FloatBuffer) { FloatBuffer subData = (FloatBuffer)data; subData.limit(subData.position() + size/4); GL15.glBufferSubData(target, offset, subData); } else if (data instanceof DoubleBuffer) { DoubleBuffer subData = (DoubleBuffer)data; subData.limit(subData.position() + size/8); GL15.glBufferSubData(target, offset, subData); } else if (data instanceof ShortBuffer) { ShortBuffer subData = (ShortBuffer)data; subData.limit(subData.position() + size/2); GL15.glBufferSubData(target, offset, subData); } data.limit(oldLimit); }
Bitmap blend = layer.copy(Config.ARGB_8888, false); IntBuffer buffBase = IntBuffer.allocate(base.getWidth() * base.getHeight()); base.copyPixelsToBuffer(buffBase); buffBase.rewind(); IntBuffer buffBlend = IntBuffer.allocate(blend.getWidth() * blend.getHeight()); blend.copyPixelsToBuffer(buffBlend); buffBlend.rewind(); IntBuffer buffOut = IntBuffer.allocate(base.getWidth() * base.getHeight()); buffOut.rewind(); while (buffOut.position() < buffOut.limit()) { int filterInt = buffBlend.get(); int srcInt = buffBase.get(); buffOut.put(pixel);
data.clear(); case UnsignedShort: ShortBuffer sin = (ShortBuffer) data; sin.put(inPos + elementPos, (Short)val); break; case Int: case UnsignedInt: IntBuffer iin = (IntBuffer) data; iin.put(inPos + elementPos, (Integer)val); break; case Float: FloatBuffer fin = (FloatBuffer) data; fin.put(inPos + elementPos, (Float)val); break; default:
data.clear(); switch (format){ case Byte: case UnsignedInt: IntBuffer ibuf = (IntBuffer) data; ibuf.limit(total); IntBuffer inewBuf = BufferUtils.createIntBuffer(total); inewBuf.put(ibuf); data = inewBuf; break; case Float: FloatBuffer fbuf = (FloatBuffer) data; fbuf.limit(total); FloatBuffer fnewBuf = BufferUtils.createFloatBuffer(total); fnewBuf.put(fbuf); data = fnewBuf; break; throw new UnsupportedOperationException("Unrecognized buffer format: "+format); data.clear(); setUpdateNeeded(); dataSizeChanged = true;
if (vertexBuffer.getData() instanceof FloatBuffer) { FloatBuffer b = (FloatBuffer) vertexBuffer.getData(); float[] arr = new float[b.capacity()]; b.rewind(); b.get(arr); b.rewind(); for (float v : arr) { short[] arr = new short[b.capacity()]; b.rewind(); b.get(arr); b.rewind(); for (short v : arr) { int[] arr = new int[b.capacity()]; b.rewind(); b.get(arr); b.rewind(); for (int v : arr) { System.err.print(v + ",");
val fa = new float[fb.capacity()]; for (int e = 0; e < fb.capacity(); e++) fa[e] = (float) fb.get(e); val fa = new float[fb.capacity()]; for (int e = 0; e < fb.capacity(); e++) fa[e] = fb.get(e); val da = new double[fb.capacity()]; for (int e = 0; e < fb.capacity(); e++) da[e] = fb.get(e); val fa = new float[lb.capacity()]; for (int e = 0; e < lb.capacity(); e++) fa[e] = (float) lb.get(e); if (fa.length == 0) throw new ND4JIllegalStateException("Can't find Tensor values! Probably you've forgot to freeze graph before saving?");
tmpByteBuffer.asLongBuffer().put(seeds); seedsBuffer.write(clQueue, tmpByteBuffer); resultBuffer.read(clQueue, resultByteBuffer); for (int i=0; i<count; ++i) { assertEquals(randoms[i].nextInt(), resultIntBuffer.get(i), "randInt at i="+i); resultBuffer.read(clQueue, resultByteBuffer); for (int i=0; i<count; ++i) { assertEquals(randoms[i].nextInt(186), resultIntBuffer.get(i), "randInt at i="+i+" with n="+186); resultBuffer.read(clQueue, resultByteBuffer); for (int i=0; i<count; ++i) { assertEquals(randoms[i].nextInt(97357), resultIntBuffer.get(i), "randInt at i="+i+" with n="+97357); resultBuffer.read(clQueue, resultByteBuffer); for (int i=0; i<count; ++i) { assertEquals(randoms[i].nextLong(), resultLongBuffer.get(i), "randLong at i="+i); resultBuffer.read(clQueue, resultByteBuffer); for (int i=0; i<count; ++i) { assertEquals(randoms[i].nextFloat(), resultFloatBuffer.get(i), "randFloat at i="+i); resultBuffer.read(clQueue, resultByteBuffer); for (int i=0; i<count; ++i) { assertEquals(randoms[i].nextDouble(), resultDoubleBuffer.get(i), "randLong at i="+i);