GpuBuffer.java
com.mojang.blaze3d.buffers.GpuBuffer
信息
- 全限定名:com.mojang.blaze3d.buffers.GpuBuffer
- 类型:public abstract class
- 包:com.mojang.blaze3d.buffers
- 源码路径:src/main/java/com/mojang/blaze3d/buffers/GpuBuffer.java
- 起始行号:L12
- 实现:AutoCloseable
- 职责:
TODO
字段/常量
-
USAGE_MAP_READ- 类型:
int - 修饰符:
public static final - 源码定位:
L13 - 说明:
TODO
- 类型:
-
USAGE_MAP_WRITE- 类型:
int - 修饰符:
public static final - 源码定位:
L14 - 说明:
TODO
- 类型:
-
USAGE_HINT_CLIENT_STORAGE- 类型:
int - 修饰符:
public static final - 源码定位:
L15 - 说明:
TODO
- 类型:
-
USAGE_COPY_DST- 类型:
int - 修饰符:
public static final - 源码定位:
L16 - 说明:
TODO
- 类型:
-
USAGE_COPY_SRC- 类型:
int - 修饰符:
public static final - 源码定位:
L17 - 说明:
TODO
- 类型:
-
USAGE_VERTEX- 类型:
int - 修饰符:
public static final - 源码定位:
L18 - 说明:
TODO
- 类型:
-
USAGE_INDEX- 类型:
int - 修饰符:
public static final - 源码定位:
L19 - 说明:
TODO
- 类型:
-
USAGE_UNIFORM- 类型:
int - 修饰符:
public static final - 源码定位:
L20 - 说明:
TODO
- 类型:
-
USAGE_UNIFORM_TEXEL_BUFFER- 类型:
int - 修饰符:
public static final - 源码定位:
L21 - 说明:
TODO
- 类型:
-
usage- 类型:
int - 修饰符:
private final - 源码定位:
L22 - 说明:
TODO
- 类型:
-
size- 类型:
long - 修饰符:
private final - 源码定位:
L24 - 说明:
TODO
- 类型:
内部类/嵌套类型
-
com.mojang.blaze3d.buffers.GpuBuffer.MappedView- 类型:
interface - 修饰符:
public - 源码定位:
L60 - 说明:
TODO
- 类型:
-
com.mojang.blaze3d.buffers.GpuBuffer.Usage- 类型:
annotation - 修饰符:
public - 源码定位:
L70 - 说明:
TODO
- 类型:
构造器
public GpuBuffer(int usage, long size) @ L26
- 构造器名:GpuBuffer
- 源码定位:L26
- 修饰符:public
参数:
- usage: int
- size: long
说明:
TODO
方法
下面的方法块按源码顺序生成。
public long size() @ L31
- 方法名:size
- 源码定位:L31
- 返回类型:long
- 修饰符:public
参数:
- 无
说明:
TODO
public int usage() @ L35
- 方法名:usage
- 源码定位:L35
- 返回类型:int
- 修饰符:public
参数:
- 无
说明:
TODO
public abstract boolean isClosed() @ L40
- 方法名:isClosed
- 源码定位:L40
- 返回类型:boolean
- 修饰符:public abstract
参数:
- 无
说明:
TODO
public abstract void close() @ L42
- 方法名:close
- 源码定位:L42
- 返回类型:void
- 修饰符:public abstract
参数:
- 无
说明:
TODO
public GpuBufferSlice slice(long offset, long length) @ L45
- 方法名:slice
- 源码定位:L45
- 返回类型:GpuBufferSlice
- 修饰符:public
参数:
- offset: long
- length: long
说明:
TODO
public GpuBufferSlice slice() @ L55
- 方法名:slice
- 源码定位:L55
- 返回类型:GpuBufferSlice
- 修饰符:public
参数:
- 无
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public abstract class GpuBuffer implements AutoCloseable {
public static final int USAGE_MAP_READ = 1;
public static final int USAGE_MAP_WRITE = 2;
public static final int USAGE_HINT_CLIENT_STORAGE = 4;
public static final int USAGE_COPY_DST = 8;
public static final int USAGE_COPY_SRC = 16;
public static final int USAGE_VERTEX = 32;
public static final int USAGE_INDEX = 64;
public static final int USAGE_UNIFORM = 128;
public static final int USAGE_UNIFORM_TEXEL_BUFFER = 256;
@GpuBuffer.Usage
private final int usage;
private final long size;
public GpuBuffer(@GpuBuffer.Usage int usage, long size) {
this.size = size;
this.usage = usage;
}
public long size() {
return this.size;
}
@GpuBuffer.Usage
public int usage() {
return this.usage;
}
public abstract boolean isClosed();
@Override
public abstract void close();
public GpuBufferSlice slice(long offset, long length) {
if (offset >= 0L && length >= 0L && offset + length <= this.size) {
return new GpuBufferSlice(this, offset, length);
} else {
throw new IllegalArgumentException(
"Offset of " + offset + " and length " + length + " would put new slice outside buffer's range (of 0," + length + ")"
);
}
}
public GpuBufferSlice slice() {
return new GpuBufferSlice(this, 0L, this.size);
}
@OnlyIn(Dist.CLIENT)
public interface MappedView extends AutoCloseable {
ByteBuffer data();
@Override
void close();
}
@Retention(RetentionPolicy.CLASS)
@Target({ElementType.FIELD, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE, ElementType.METHOD, ElementType.TYPE_USE})
@OnlyIn(Dist.CLIENT)
public @interface Usage {
}
}引用的其他类
- GpuBufferSlice
- 引用位置:
构造调用/返回值 - 关联成员:
GpuBufferSlice()
- 引用位置: