UniformValue.java
net.minecraft.client.renderer.UniformValue
信息
- 全限定名:net.minecraft.client.renderer.UniformValue
- 类型:public interface
- 包:net.minecraft.client.renderer
- 源码路径:src/main/java/net/minecraft/client/renderer/UniformValue.java
- 起始行号:L18
- 职责:
TODO
字段/常量
CODEC- 类型:
Codec<UniformValue> - 修饰符:
package-private - 源码定位:
L19 - 说明:
TODO
- 类型:
内部类/嵌套类型
-
net.minecraft.client.renderer.UniformValue.FloatUniform- 类型:
record - 修饰符:
public - 源码定位:
L28 - 说明:
TODO
- 类型:
-
net.minecraft.client.renderer.UniformValue.IVec3Uniform- 类型:
record - 修饰符:
public - 源码定位:
L48 - 说明:
TODO
- 类型:
-
net.minecraft.client.renderer.UniformValue.IntUniform- 类型:
record - 修饰符:
public - 源码定位:
L69 - 说明:
TODO
- 类型:
-
net.minecraft.client.renderer.UniformValue.Matrix4x4Uniform- 类型:
record - 修饰符:
public - 源码定位:
L89 - 说明:
TODO
- 类型:
-
net.minecraft.client.renderer.UniformValue.Type- 类型:
enum - 修饰符:
public static - 源码定位:
L110 - 说明:
TODO
- 类型:
-
net.minecraft.client.renderer.UniformValue.Vec2Uniform- 类型:
record - 修饰符:
public - 源码定位:
L135 - 说明:
TODO
- 类型:
-
net.minecraft.client.renderer.UniformValue.Vec3Uniform- 类型:
record - 修饰符:
public - 源码定位:
L155 - 说明:
TODO
- 类型:
-
net.minecraft.client.renderer.UniformValue.Vec4Uniform- 类型:
record - 修饰符:
public - 源码定位:
L175 - 说明:
TODO
- 类型:
构造器
- 无
方法
下面的方法块按源码顺序生成。
void writeTo(Std140Builder builder) @ L21
- 方法名:writeTo
- 源码定位:L21
- 返回类型:void
- 修饰符:package-private
参数:
- builder: Std140Builder
说明:
TODO
void addSize(Std140SizeCalculator calculator) @ L23
- 方法名:addSize
- 源码定位:L23
- 返回类型:void
- 修饰符:package-private
参数:
- calculator: Std140SizeCalculator
说明:
TODO
UniformValue.Type type() @ L25
- 方法名:type
- 源码定位:L25
- 返回类型:UniformValue.Type
- 修饰符:package-private
参数:
- 无
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public interface UniformValue {
Codec<UniformValue> CODEC = UniformValue.Type.CODEC.dispatch(UniformValue::type, t -> t.valueCodec);
void writeTo(Std140Builder builder);
void addSize(Std140SizeCalculator calculator);
UniformValue.Type type();
@OnlyIn(Dist.CLIENT)
public record FloatUniform(float value) implements UniformValue {
public static final Codec<UniformValue.FloatUniform> CODEC = Codec.FLOAT.xmap(UniformValue.FloatUniform::new, UniformValue.FloatUniform::value);
@Override
public void writeTo(Std140Builder builder) {
builder.putFloat(this.value);
}
@Override
public void addSize(Std140SizeCalculator calculator) {
calculator.putFloat();
}
@Override
public UniformValue.Type type() {
return UniformValue.Type.FLOAT;
}
}
@OnlyIn(Dist.CLIENT)
public record IVec3Uniform(Vector3ic value) implements UniformValue {
public static final Codec<UniformValue.IVec3Uniform> CODEC = ExtraCodecs.VECTOR3I
.xmap(UniformValue.IVec3Uniform::new, UniformValue.IVec3Uniform::value);
@Override
public void writeTo(Std140Builder builder) {
builder.putIVec3(this.value);
}
@Override
public void addSize(Std140SizeCalculator calculator) {
calculator.putIVec3();
}
@Override
public UniformValue.Type type() {
return UniformValue.Type.IVEC3;
}
}
@OnlyIn(Dist.CLIENT)
public record IntUniform(int value) implements UniformValue {
public static final Codec<UniformValue.IntUniform> CODEC = Codec.INT.xmap(UniformValue.IntUniform::new, UniformValue.IntUniform::value);
@Override
public void writeTo(Std140Builder builder) {
builder.putInt(this.value);
}
@Override
public void addSize(Std140SizeCalculator calculator) {
calculator.putInt();
}
@Override
public UniformValue.Type type() {
return UniformValue.Type.INT;
}
}
@OnlyIn(Dist.CLIENT)
public record Matrix4x4Uniform(Matrix4fc value) implements UniformValue {
public static final Codec<UniformValue.Matrix4x4Uniform> CODEC = ExtraCodecs.MATRIX4F
.xmap(UniformValue.Matrix4x4Uniform::new, UniformValue.Matrix4x4Uniform::value);
@Override
public void writeTo(Std140Builder builder) {
builder.putMat4f(this.value);
}
@Override
public void addSize(Std140SizeCalculator calculator) {
calculator.putMat4f();
}
@Override
public UniformValue.Type type() {
return UniformValue.Type.MATRIX4X4;
}
}
@OnlyIn(Dist.CLIENT)
public static enum Type implements StringRepresentable {
INT("int", UniformValue.IntUniform.CODEC),
IVEC3("ivec3", UniformValue.IVec3Uniform.CODEC),
FLOAT("float", UniformValue.FloatUniform.CODEC),
VEC2("vec2", UniformValue.Vec2Uniform.CODEC),
VEC3("vec3", UniformValue.Vec3Uniform.CODEC),
VEC4("vec4", UniformValue.Vec4Uniform.CODEC),
MATRIX4X4("matrix4x4", UniformValue.Matrix4x4Uniform.CODEC);
public static final Codec<UniformValue.Type> CODEC = StringRepresentable.fromEnum(UniformValue.Type::values);
private final String name;
private final MapCodec<? extends UniformValue> valueCodec;
private Type(String name, Codec<? extends UniformValue> valueCodec) {
this.name = name;
this.valueCodec = valueCodec.fieldOf("value");
}
@Override
public String getSerializedName() {
return this.name;
}
}
@OnlyIn(Dist.CLIENT)
public record Vec2Uniform(Vector2fc value) implements UniformValue {
public static final Codec<UniformValue.Vec2Uniform> CODEC = ExtraCodecs.VECTOR2F.xmap(UniformValue.Vec2Uniform::new, UniformValue.Vec2Uniform::value);
@Override
public void writeTo(Std140Builder builder) {
builder.putVec2(this.value);
}
@Override
public void addSize(Std140SizeCalculator calculator) {
calculator.putVec2();
}
@Override
public UniformValue.Type type() {
return UniformValue.Type.VEC2;
}
}
@OnlyIn(Dist.CLIENT)
public record Vec3Uniform(Vector3fc value) implements UniformValue {
public static final Codec<UniformValue.Vec3Uniform> CODEC = ExtraCodecs.VECTOR3F.xmap(UniformValue.Vec3Uniform::new, UniformValue.Vec3Uniform::value);
@Override
public void writeTo(Std140Builder builder) {
builder.putVec3(this.value);
}
@Override
public void addSize(Std140SizeCalculator calculator) {
calculator.putVec3();
}
@Override
public UniformValue.Type type() {
return UniformValue.Type.VEC3;
}
}
@OnlyIn(Dist.CLIENT)
public record Vec4Uniform(Vector4fc value) implements UniformValue {
public static final Codec<UniformValue.Vec4Uniform> CODEC = ExtraCodecs.VECTOR4F.xmap(UniformValue.Vec4Uniform::new, UniformValue.Vec4Uniform::value);
@Override
public void writeTo(Std140Builder builder) {
builder.putVec4(this.value);
}
@Override
public void addSize(Std140SizeCalculator calculator) {
calculator.putVec4();
}
@Override
public UniformValue.Type type() {
return UniformValue.Type.VEC4;
}
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
StringRepresentable.fromEnum()
- 引用位置: