GlSampler.java
com.mojang.blaze3d.opengl.GlSampler
信息
- 全限定名:com.mojang.blaze3d.opengl.GlSampler
- 类型:public class
- 包:com.mojang.blaze3d.opengl
- 源码路径:src/main/java/com/mojang/blaze3d/opengl/GlSampler.java
- 起始行号:L12
- 继承:GpuSampler
- 职责:
TODO
字段/常量
-
id- 类型:
int - 修饰符:
private final - 源码定位:
L13 - 说明:
TODO
- 类型:
-
addressModeU- 类型:
AddressMode - 修饰符:
private final - 源码定位:
L14 - 说明:
TODO
- 类型:
-
addressModeV- 类型:
AddressMode - 修饰符:
private final - 源码定位:
L15 - 说明:
TODO
- 类型:
-
minFilter- 类型:
FilterMode - 修饰符:
private final - 源码定位:
L16 - 说明:
TODO
- 类型:
-
magFilter- 类型:
FilterMode - 修饰符:
private final - 源码定位:
L17 - 说明:
TODO
- 类型:
-
maxAnisotropy- 类型:
int - 修饰符:
private final - 源码定位:
L18 - 说明:
TODO
- 类型:
-
maxLod- 类型:
OptionalDouble - 修饰符:
private final - 源码定位:
L19 - 说明:
TODO
- 类型:
-
closed- 类型:
boolean - 修饰符:
private - 源码定位:
L20 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public GlSampler(AddressMode addressModeU, AddressMode addressModeV, FilterMode minFilter, FilterMode magFilter, int maxAnisotropy, OptionalDouble maxLod) @ L22
- 构造器名:GlSampler
- 源码定位:L22
- 修饰符:public
参数:
- addressModeU: AddressMode
- addressModeV: AddressMode
- minFilter: FilterMode
- magFilter: FilterMode
- maxAnisotropy: int
- maxLod: OptionalDouble
说明:
TODO
方法
下面的方法块按源码顺序生成。
public int getId() @ L57
- 方法名:getId
- 源码定位:L57
- 返回类型:int
- 修饰符:public
参数:
- 无
说明:
TODO
public AddressMode getAddressModeU() @ L61
- 方法名:getAddressModeU
- 源码定位:L61
- 返回类型:AddressMode
- 修饰符:public
参数:
- 无
说明:
TODO
public AddressMode getAddressModeV() @ L66
- 方法名:getAddressModeV
- 源码定位:L66
- 返回类型:AddressMode
- 修饰符:public
参数:
- 无
说明:
TODO
public FilterMode getMinFilter() @ L71
- 方法名:getMinFilter
- 源码定位:L71
- 返回类型:FilterMode
- 修饰符:public
参数:
- 无
说明:
TODO
public FilterMode getMagFilter() @ L76
- 方法名:getMagFilter
- 源码定位:L76
- 返回类型:FilterMode
- 修饰符:public
参数:
- 无
说明:
TODO
public int getMaxAnisotropy() @ L81
- 方法名:getMaxAnisotropy
- 源码定位:L81
- 返回类型:int
- 修饰符:public
参数:
- 无
说明:
TODO
public OptionalDouble getMaxLod() @ L86
- 方法名:getMaxLod
- 源码定位:L86
- 返回类型:OptionalDouble
- 修饰符:public
参数:
- 无
说明:
TODO
public void close() @ L91
- 方法名:close
- 源码定位:L91
- 返回类型:void
- 修饰符:public
参数:
- 无
说明:
TODO
public boolean isClosed() @ L99
- 方法名:isClosed
- 源码定位:L99
- 返回类型:boolean
- 修饰符:public
参数:
- 无
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class GlSampler extends GpuSampler {
private final int id;
private final AddressMode addressModeU;
private final AddressMode addressModeV;
private final FilterMode minFilter;
private final FilterMode magFilter;
private final int maxAnisotropy;
private final OptionalDouble maxLod;
private boolean closed;
public GlSampler(AddressMode addressModeU, AddressMode addressModeV, FilterMode minFilter, FilterMode magFilter, int maxAnisotropy, OptionalDouble maxLod) {
this.addressModeU = addressModeU;
this.addressModeV = addressModeV;
this.minFilter = minFilter;
this.magFilter = magFilter;
this.maxAnisotropy = maxAnisotropy;
this.maxLod = maxLod;
this.id = GL33C.glGenSamplers();
GL33C.glSamplerParameteri(this.id, 10242, GlConst.toGl(addressModeU));
GL33C.glSamplerParameteri(this.id, 10243, GlConst.toGl(addressModeV));
if (maxAnisotropy > 1) {
GL33C.glSamplerParameterf(this.id, 34046, maxAnisotropy);
}
switch (minFilter) {
case NEAREST:
GL33C.glSamplerParameteri(this.id, 10241, 9986);
break;
case LINEAR:
GL33C.glSamplerParameteri(this.id, 10241, 9987);
}
switch (magFilter) {
case NEAREST:
GL33C.glSamplerParameteri(this.id, 10240, 9728);
break;
case LINEAR:
GL33C.glSamplerParameteri(this.id, 10240, 9729);
}
if (maxLod.isPresent()) {
GL33C.glSamplerParameterf(this.id, 33083, (float)maxLod.getAsDouble());
}
}
public int getId() {
return this.id;
}
@Override
public AddressMode getAddressModeU() {
return this.addressModeU;
}
@Override
public AddressMode getAddressModeV() {
return this.addressModeV;
}
@Override
public FilterMode getMinFilter() {
return this.minFilter;
}
@Override
public FilterMode getMagFilter() {
return this.magFilter;
}
@Override
public int getMaxAnisotropy() {
return this.maxAnisotropy;
}
@Override
public OptionalDouble getMaxLod() {
return this.maxLod;
}
@Override
public void close() {
if (!this.closed) {
this.closed = true;
GL33C.glDeleteSamplers(this.id);
}
}
public boolean isClosed() {
return this.closed;
}
}引用的其他类
-
- 引用位置:
方法调用 - 关联成员:
GlConst.toGl()
- 引用位置:
-
- 引用位置:
参数/字段/返回值
- 引用位置:
-
- 引用位置:
参数/字段/返回值
- 引用位置:
-
- 引用位置:
继承
- 引用位置: