当前位置: 首页>>代码示例>>Java>>正文


Java ETC1.ETC_PKM_HEADER_SIZE属性代码示例

本文整理汇总了Java中android.opengl.ETC1.ETC_PKM_HEADER_SIZE属性的典型用法代码示例。如果您正苦于以下问题:Java ETC1.ETC_PKM_HEADER_SIZE属性的具体用法?Java ETC1.ETC_PKM_HEADER_SIZE怎么用?Java ETC1.ETC_PKM_HEADER_SIZE使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在android.opengl.ETC1的用法示例。


在下文中一共展示了ETC1.ETC_PKM_HEADER_SIZE属性的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: ETC1TextureHeader

public ETC1TextureHeader(final byte[] pData) {
	if (pData.length != ETC1.ETC_PKM_HEADER_SIZE) {
		throw new IllegalArgumentException("Invalid " + this.getClass().getSimpleName() + "!");
	}

	this.mDataByteBuffer = ByteBuffer.allocateDirect(ETC1.ETC_PKM_HEADER_SIZE).order(ByteOrder.nativeOrder());
	this.mDataByteBuffer.put(pData, 0, ETC1.ETC_PKM_HEADER_SIZE);
	this.mDataByteBuffer.position(0);

	if (!ETC1.isValid(this.mDataByteBuffer)) {
		throw new IllegalArgumentException("Invalid " + this.getClass().getSimpleName() + "!");
	}

	this.mWidth = ETC1.getWidth(this.mDataByteBuffer);
	this.mHeight = ETC1.getHeight(this.mDataByteBuffer);
}
 
开发者ID:ArturVasilov,项目名称:AndroidCourses,代码行数:16,代码来源:ETC1Texture.java

示例2: ETC1TextureHeader

public ETC1TextureHeader(final byte[] pData) {
	if(pData.length != ETC1.ETC_PKM_HEADER_SIZE) {
		throw new IllegalArgumentException("Invalid " + this.getClass().getSimpleName() + "!");
	}

	this.mDataByteBuffer = ByteBuffer.allocateDirect(ETC1.ETC_PKM_HEADER_SIZE).order(ByteOrder.nativeOrder());
	this.mDataByteBuffer.put(pData, 0, ETC1.ETC_PKM_HEADER_SIZE);
	this.mDataByteBuffer.position(0);

	if (!ETC1.isValid(this.mDataByteBuffer)) {
		throw new IllegalArgumentException("Invalid " + this.getClass().getSimpleName() + "!");
	}

	this.mWidth = ETC1.getWidth(this.mDataByteBuffer);
	this.mHeight = ETC1.getHeight(this.mDataByteBuffer);
}
 
开发者ID:peterchaula,项目名称:ClassicF1,代码行数:16,代码来源:ETC1Texture.java

示例3: createTexture

/**
 * Create a new ETC2Texture from an input stream containing a PKM formatted compressed texture.
 *
 * @param input an input stream containing a PKM formatted compressed texture.
 *
 * @return an ETC2Texture read from the input stream.
 * @throws IOException
 */
public static ETC2Texture createTexture(InputStream input) throws IOException {
    int width = 0;
    int height = 0;
    int format = -1;
    byte[] ioBuffer = new byte[4096];

    // We can use the ETC1 header size as it is the same
    if (input.read(ioBuffer, 0, ETC1.ETC_PKM_HEADER_SIZE) != ETC1.ETC_PKM_HEADER_SIZE) {
        throw new IOException("Unable to read PKM file header.");
    }
    final ByteBuffer headerBuffer = ByteBuffer.allocateDirect(ETC1.ETC_PKM_HEADER_SIZE)
        .order(ByteOrder.BIG_ENDIAN);
    headerBuffer.put(ioBuffer, 0, ETC1.ETC_PKM_HEADER_SIZE).position(0);
    if (!ETC2.isValid(headerBuffer)) {
        throw new IOException("Not a PKM file.");
    }
    width = ETC2.getWidth(headerBuffer);
    height = ETC2.getHeight(headerBuffer);
    format = ETC2.getETC2CompressionType(headerBuffer);
    final int encodedSize = ETC2.getEncodedDataSize(width, height);
    final ByteBuffer dataBuffer = ByteBuffer.allocateDirect(encodedSize).order(ByteOrder.BIG_ENDIAN);
    for (int i = 0; i < encodedSize; ) {
        int chunkSize = Math.min(ioBuffer.length, encodedSize - i);
        if (input.read(ioBuffer, 0, chunkSize) != chunkSize) {
            throw new IOException("Unable to read PKM file data.");
        }
        dataBuffer.put(ioBuffer, 0, chunkSize);
        i += chunkSize;
    }
    dataBuffer.position(0);
    return new ETC2Texture(format, width, height, dataBuffer);
}
 
开发者ID:sujitkjha,项目名称:360-Video-Player-for-Android,代码行数:40,代码来源:ETC2Util.java

示例4: createTexture

/**
 * Create a new ETC1Texture from an input stream containing a PKM formatted compressed texture.
 * @param input an input stream containing a PKM formatted compressed texture.
 * @return an ETC1Texture read from the input stream.
 * @throws IOException
 */
public static ETC1Texture createTexture(InputStream input) throws IOException {
    int width = 0;
    int height = 0;
    byte[] ioBuffer = new byte[4096];
    {
        if (input.read(ioBuffer, 0, ETC1.ETC_PKM_HEADER_SIZE) != ETC1.ETC_PKM_HEADER_SIZE) {
            throw new IOException("Unable to read PKM file header.");
        }
        ByteBuffer headerBuffer = ByteBuffer.allocateDirect(ETC1.ETC_PKM_HEADER_SIZE)
            .order(ByteOrder.nativeOrder());
        headerBuffer.put(ioBuffer, 0, ETC1.ETC_PKM_HEADER_SIZE).position(0);
        if (!ETC1.isValid(headerBuffer)) {
            throw new IOException("Not a PKM file.");
        }
        width = ETC1.getWidth(headerBuffer);
        height = ETC1.getHeight(headerBuffer);
    }
    int encodedSize = ETC1.getEncodedDataSize(width, height);
    ByteBuffer dataBuffer = ByteBuffer.allocateDirect(encodedSize).order(ByteOrder.nativeOrder());
    for (int i = 0; i < encodedSize; ) {
        int chunkSize = Math.min(ioBuffer.length, encodedSize - i);
        if (input.read(ioBuffer, 0, chunkSize) != chunkSize) {
            throw new IOException("Unable to read PKM file data.");
        }
        dataBuffer.put(ioBuffer, 0, chunkSize);
        i += chunkSize;
    }
    dataBuffer.position(0);
    return new ETC1Texture(width, height, dataBuffer);
}
 
开发者ID:nicastel,项目名称:renderscript_texture_compressor,代码行数:36,代码来源:RsETC1Util.java


注:本文中的android.opengl.ETC1.ETC_PKM_HEADER_SIZE属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。