Package java.nio

Examples of java.nio.Buffer


        }

        int vboID = data.getVBOID(context.getGlContextRep());
        if (vboID != 0) {
            if (data.isNeedsRefresh()) {
                final Buffer dataBuffer = data.getBuffer();
                dataBuffer.rewind();
                LwjglRendererUtil.setBoundElementVBO(rendRecord, vboID);
                if (dataBuffer instanceof IntBuffer) {
                    ARBBufferObject.glBufferSubDataARB(ARBVertexBufferObject.GL_ELEMENT_ARRAY_BUFFER_ARB, 0,
                            (IntBuffer) dataBuffer);
                } else if (dataBuffer instanceof ShortBuffer) {
                    ARBBufferObject.glBufferSubDataARB(ARBVertexBufferObject.GL_ELEMENT_ARRAY_BUFFER_ARB, 0,
                            (ShortBuffer) dataBuffer);
                } else if (dataBuffer instanceof ByteBuffer) {
                    ARBBufferObject.glBufferSubDataARB(ARBVertexBufferObject.GL_ELEMENT_ARRAY_BUFFER_ARB, 0,
                            (ByteBuffer) dataBuffer);
                }
                data.setNeedsRefresh(false);
            }

            return vboID;
        }

        final Buffer dataBuffer = data.getBuffer();
        if (dataBuffer != null) {
            // XXX: should we be rewinding? Maybe make that the programmer's responsibility.
            dataBuffer.rewind();
            vboID = makeVBOId();
            data.setVBOID(context.getGlContextRep(), vboID);

            rendRecord.invalidateVBO();
            LwjglRendererUtil.setBoundElementVBO(rendRecord, vboID);
View Full Code Here


            }
            if (EXTabgr != tex.getEXTabgr()) {
                throw new UnsupportedOperationException("Cannot create the 3D Texture : specified Sf3Texture's must be of the same internal format type (GL_RGBA, GL_EXT_abgr, etc.).");
            }
        }
        Buffer newData = null;
        switch (dataType) {
            case DataBuffer.TYPE_BYTE:
                newData = BufferIO._new(srcSize.width * srcSize.height * bands * depth, false);
                break;
            case DataBuffer.TYPE_DOUBLE:
                newData = BufferIO._newd(srcSize.width * srcSize.height * bands * depth, false);
                break;
            case DataBuffer.TYPE_FLOAT:
                newData = BufferIO._newf(srcSize.width * srcSize.height * bands * depth, false);
                break;
            case DataBuffer.TYPE_INT:
                newData = BufferIO._newi(srcSize.width * srcSize.height * bands * depth, false);
                break;
            case DataBuffer.TYPE_SHORT:
            case DataBuffer.TYPE_USHORT:
                newData = BufferIO._news(srcSize.width * srcSize.height * bands * depth, false);
                break;
            default:
                throw new UnsupportedOperationException("incompatible or unknown type :" + dataType/*
                         * dataBuffer.toString()
                         */);
        }
        for (Sf3Texture tex : texs) {
            for (int i = 0; i < _3DTexLayersAmount; i++) {
                switch (tex.getPixelBufferDataType()) {
                    case DataBuffer.TYPE_BYTE:
                        ((ByteBuffer) newData).put((ByteBuffer) tex.accessPixelBuffer());
                        break;
                    case DataBuffer.TYPE_DOUBLE:
                        ((DoubleBuffer) newData).put((DoubleBuffer) tex.accessPixelBuffer());
                        break;
                    case DataBuffer.TYPE_FLOAT:
                        ((FloatBuffer) newData).put((FloatBuffer) tex.accessPixelBuffer());
                        break;
                    case DataBuffer.TYPE_INT:
                        ((IntBuffer) newData).put((IntBuffer) tex.accessPixelBuffer());
                        break;
                    case DataBuffer.TYPE_SHORT:
                    case DataBuffer.TYPE_USHORT:
                        ((ShortBuffer) newData).put((ShortBuffer) tex.accessPixelBuffer());
                        break;
                    default:
                        throw new UnsupportedOperationException("incompatible or unknown type :" + tex.getPixelBufferDataTypeName());
                }
            }
        }
        newData.flip();
        Buffer pixelBuffer = newData;
        return new Sf3Texture3D(hashCode, pixelBuffer, EXTabgr, srcSize.width, srcSize.height, depth, bands);
    }
View Full Code Here

     * @see #_EXTabgr
     */
    public static Buffer _convert2DTexBuffer(Buffer imageSrcTex, Dimension srcSize, int bands, int transferMode, int dataType) {
        imageSrcTex.rewind();
        if ((transferMode & (TRANSFER_3_BANDS_BIT | TRANSFER_4_BANDS_BIT)) != 0 && imageSrcTex.limit() > 0) {
            Buffer bgraData = null;
            switch (dataType) {
                case DataBuffer.TYPE_BYTE:
                    bgraData = BufferIO._new(srcSize.width * srcSize.height * bands, false);
                    break;
                case DataBuffer.TYPE_DOUBLE:
                    bgraData = BufferIO._newd(srcSize.width * srcSize.height * bands, false);
                    break;
                case DataBuffer.TYPE_FLOAT:
                    bgraData = BufferIO._newf(srcSize.width * srcSize.height * bands, false);
                    break;
                case DataBuffer.TYPE_INT:
                    bgraData = BufferIO._newi(srcSize.width * srcSize.height * bands, false);
                    break;
                case DataBuffer.TYPE_SHORT:
                case DataBuffer.TYPE_USHORT:
                    bgraData = BufferIO._news(srcSize.width * srcSize.height * bands, false);
                    break;
                default:
                    throw new JXAException("incompatible or unknown BufferedImage type :" + bgraData.toString());
            }
            _copyPixels(imageSrcTex, srcSize, bgraData, srcSize, bands, transferMode, dataType);
            imageSrcTex.clear();
            return bgraData;
        } else {
View Full Code Here

                System.out.println("bufferedimage for texture has " + data.getRaster().getDataBuffer().getNumBanks() + " banks");
            }
        } else {
            return null;
        }
        Buffer pixelBuffer = null;
        switch (dataBuffer.getDataType()) {
            case DataBuffer.TYPE_BYTE:
                pixelBuffer = BufferIO._wrap(((DataBufferByte) dataBuffer).getData()).order(ByteOrder.nativeOrder());
                break;
            case DataBuffer.TYPE_DOUBLE:
                pixelBuffer = BufferIO._wrapd(((DataBufferDouble) dataBuffer).getData());
                break;
            case DataBuffer.TYPE_FLOAT:
                pixelBuffer = BufferIO._wrapf(((DataBufferFloat) dataBuffer).getData());
                break;
            case DataBuffer.TYPE_INT:
                pixelBuffer = BufferIO._wrapi(((DataBufferInt) dataBuffer).getData());
                break;
            case DataBuffer.TYPE_SHORT:
                pixelBuffer = BufferIO._wraps(((DataBufferShort) dataBuffer).getData());
                break;
            case DataBuffer.TYPE_USHORT:
                pixelBuffer = BufferIO._wraps(((DataBufferUShort) dataBuffer).getData());
                break;
            default:
                throw new JXAException("incompatible or unknown BufferedImage type :" + texture.toString());
        }
        data.flush();
        pixelBuffer = _convert2DTexBuffer(pixelBuffer, textureSize, bands, transferMode, dataBuffer.getDataType());
        if (pixelBuffer != null) {
            /**
             * instance Sf3Texture with the filled up pixelBuffer
             */
            texture = new Sf3Texture(hashCode, pixelBuffer, textureSize.width, textureSize.height, bands, imageSize, transferMode);
            if (JXAenvUtils._debug) {
                System.err.println("new Sf3Texture buffer " + BufferIO._getBufferDataTypeName(pixelBuffer) + " size : " + BufferIO._countByteSize(pixelBuffer) + " w/ " + bands + " bands is POT ? : " + (isPOT((float) pixelBuffer.limit() / (float) bands) ? "yes" : "no"));
            }
        } else {
            throw new JXAException("pixel buffer is null, no data could be loaded");
        }
        if (flushSp) {
View Full Code Here

        this.shift = calculateShift(componentType);
    }

    @Override
    public long address(Object o) {
        Buffer buffer = (Buffer) o;
        return MemoryIO.getInstance().getDirectBufferAddress(buffer) + (buffer.position() << shift);
    }
View Full Code Here

        return ((Buffer) o).array();
    }

    @Override
    public int offset(Object o) {
        Buffer buffer = (Buffer) o;
        return buffer.arrayOffset() + buffer.position();
    }
View Full Code Here

    }

    @Override
    public Image load(final InputStream is, final boolean flipped) throws IOException {
        final TextureData textureData = TextureIO.newTextureData(_capsUtil.getProfile(), is, true, null);
        final Buffer textureDataBuffer = textureData.getBuffer();
        final Image ardorImage = new Image();
        final TYPE bufferDataType = getBufferDataType(textureDataBuffer);
        if (bufferDataType == null) {
            throw new UnsupportedOperationException("Unknown buffer type " + textureDataBuffer.getClass().getName());
        } else {
            final int dataSizeInBytes = textureDataBuffer.capacity() * Buffers.sizeOfBufferElem(textureDataBuffer);
            final ByteBuffer scratch = createOnHeap ? BufferUtils.createByteBufferOnHeap(dataSizeInBytes) : Buffers
                    .newDirectByteBuffer(dataSizeInBytes);
            if (flipped) {
                flipImageData(textureDataBuffer, scratch, dataSizeInBytes, bufferDataType, textureData.getWidth(),
                        textureData.getHeight());
View Full Code Here

        client.write(buffers);
        client.close();
        ByteBuffer readBuffer = ByteBuffer.allocate(1024);
        while (EOF != worker.read(readBuffer)) {};
        readBuffer.flip();
        Buffer expected = ByteBuffer.allocate(1024).put(data).put(data).flip();
        assertEquals(expected, readBuffer);

        // Tidy-up
        worker.close();
        server.close();
View Full Code Here

     * @return a view of the current data buffer for this NIO image buffer.
     * This view will be rewound such that elements 0
     * through <code>dataBuffer.limit()-1</code> are available.
     */
    public Buffer getDataBuffer() {
        Buffer tmpBuffer = null;

        switch (bufferType) {
            case BYTE_BUFFER:
                tmpBuffer = ((ByteBuffer)buffer).duplicate();
                break;

            case INT_BUFFER:
                tmpBuffer = ((IntBuffer)buffer).duplicate();
                break;

            default:
                // We should never get here
                throw new AssertionError("missing case statement");
        }

        return tmpBuffer.rewind();
    }
View Full Code Here

        } // end of color in byte format
        else {
      cdirty = dirtyFlag;
        }

        Buffer vcoord = null;
        Buffer cdataBuffer = null;
        FloatBuffer normal=null;

        int vdefined = 0;
        if((vertexType & PF!= 0) {
      vdefined |= COORD_FLOAT;
View Full Code Here

TOP

Related Classes of java.nio.Buffer

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.