VertexConsumer.java
com.mojang.blaze3d.vertex.VertexConsumer
信息
- 全限定名:com.mojang.blaze3d.vertex.VertexConsumer
- 类型:public interface
- 包:com.mojang.blaze3d.vertex
- 源码路径:src/main/java/com/mojang/blaze3d/vertex/VertexConsumer.java
- 起始行号:L15
- 职责:
TODO
字段/常量
- 无
内部类/嵌套类型
- 无
构造器
- 无
方法
下面的方法块按源码顺序生成。
VertexConsumer addVertex(float x, float y, float z) @ L16
- 方法名:addVertex
- 源码定位:L16
- 返回类型:VertexConsumer
- 修饰符:package-private
参数:
- x: float
- y: float
- z: float
说明:
TODO
VertexConsumer setColor(int r, int g, int b, int a) @ L18
- 方法名:setColor
- 源码定位:L18
- 返回类型:VertexConsumer
- 修饰符:package-private
参数:
- r: int
- g: int
- b: int
- a: int
说明:
TODO
VertexConsumer setColor(int color) @ L20
- 方法名:setColor
- 源码定位:L20
- 返回类型:VertexConsumer
- 修饰符:package-private
参数:
- color: int
说明:
TODO
VertexConsumer setUv(float u, float v) @ L22
- 方法名:setUv
- 源码定位:L22
- 返回类型:VertexConsumer
- 修饰符:package-private
参数:
- u: float
- v: float
说明:
TODO
VertexConsumer setUv1(int u, int v) @ L24
- 方法名:setUv1
- 源码定位:L24
- 返回类型:VertexConsumer
- 修饰符:package-private
参数:
- u: int
- v: int
说明:
TODO
VertexConsumer setUv2(int u, int v) @ L26
- 方法名:setUv2
- 源码定位:L26
- 返回类型:VertexConsumer
- 修饰符:package-private
参数:
- u: int
- v: int
说明:
TODO
VertexConsumer setNormal(float x, float y, float z) @ L28
- 方法名:setNormal
- 源码定位:L28
- 返回类型:VertexConsumer
- 修饰符:package-private
参数:
- x: float
- y: float
- z: float
说明:
TODO
VertexConsumer setLineWidth(float width) @ L30
- 方法名:setLineWidth
- 源码定位:L30
- 返回类型:VertexConsumer
- 修饰符:package-private
参数:
- width: float
说明:
TODO
default void addVertex(float x, float y, float z, int color, float u, float v, int overlayCoords, int lightCoords, float nx, float ny, float nz) @ L32
- 方法名:addVertex
- 源码定位:L32
- 返回类型:void
- 修饰符:default
参数:
- x: float
- y: float
- z: float
- color: int
- u: float
- v: float
- overlayCoords: int
- lightCoords: int
- nx: float
- ny: float
- nz: float
说明:
TODO
default VertexConsumer setColor(float r, float g, float b, float a) @ L41
- 方法名:setColor
- 源码定位:L41
- 返回类型:VertexConsumer
- 修饰符:default
参数:
- r: float
- g: float
- b: float
- a: float
说明:
TODO
default VertexConsumer setLight(int packedLightCoords) @ L45
- 方法名:setLight
- 源码定位:L45
- 返回类型:VertexConsumer
- 修饰符:default
参数:
- packedLightCoords: int
说明:
TODO
default VertexConsumer setOverlay(int packedOverlayCoords) @ L49
- 方法名:setOverlay
- 源码定位:L49
- 返回类型:VertexConsumer
- 修饰符:default
参数:
- packedOverlayCoords: int
说明:
TODO
default void putBlockBakedQuad(float x, float y, float z, BakedQuad quad, QuadInstance instance) @ L53
- 方法名:putBlockBakedQuad
- 源码定位:L53
- 返回类型:void
- 修饰符:default
参数:
- x: float
- y: float
- z: float
- quad: BakedQuad
- instance: QuadInstance
说明:
TODO
default void putBakedQuad(PoseStack.Pose pose, BakedQuad quad, QuadInstance instance) @ L68
- 方法名:putBakedQuad
- 源码定位:L68
- 返回类型:void
- 修饰符:default
参数:
- pose: PoseStack.Pose
- quad: BakedQuad
- instance: QuadInstance
说明:
TODO
default VertexConsumer addVertex(Vector3fc position) @ L86
- 方法名:addVertex
- 源码定位:L86
- 返回类型:VertexConsumer
- 修饰符:default
参数:
- position: Vector3fc
说明:
TODO
default VertexConsumer addVertex(PoseStack.Pose pose, Vector3fc position) @ L90
- 方法名:addVertex
- 源码定位:L90
- 返回类型:VertexConsumer
- 修饰符:default
参数:
- pose: PoseStack.Pose
- position: Vector3fc
说明:
TODO
default VertexConsumer addVertex(PoseStack.Pose pose, float x, float y, float z) @ L94
- 方法名:addVertex
- 源码定位:L94
- 返回类型:VertexConsumer
- 修饰符:default
参数:
- pose: PoseStack.Pose
- x: float
- y: float
- z: float
说明:
TODO
default VertexConsumer addVertex(Matrix4fc pose, float x, float y, float z) @ L98
- 方法名:addVertex
- 源码定位:L98
- 返回类型:VertexConsumer
- 修饰符:default
参数:
- pose: Matrix4fc
- x: float
- y: float
- z: float
说明:
TODO
default VertexConsumer addVertexWith2DPose(Matrix3x2fc pose, float x, float y) @ L103
- 方法名:addVertexWith2DPose
- 源码定位:L103
- 返回类型:VertexConsumer
- 修饰符:default
参数:
- pose: Matrix3x2fc
- x: float
- y: float
说明:
TODO
default VertexConsumer setNormal(PoseStack.Pose pose, float x, float y, float z) @ L108
- 方法名:setNormal
- 源码定位:L108
- 返回类型:VertexConsumer
- 修饰符:default
参数:
- pose: PoseStack.Pose
- x: float
- y: float
- z: float
说明:
TODO
default VertexConsumer setNormal(PoseStack.Pose pose, Vector3fc normal) @ L113
- 方法名:setNormal
- 源码定位:L113
- 返回类型:VertexConsumer
- 修饰符:default
参数:
- pose: PoseStack.Pose
- normal: Vector3fc
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public interface VertexConsumer {
VertexConsumer addVertex(float x, float y, float z);
VertexConsumer setColor(int r, int g, int b, int a);
VertexConsumer setColor(int color);
VertexConsumer setUv(float u, float v);
VertexConsumer setUv1(int u, int v);
VertexConsumer setUv2(int u, int v);
VertexConsumer setNormal(float x, float y, float z);
VertexConsumer setLineWidth(float width);
default void addVertex(float x, float y, float z, int color, float u, float v, int overlayCoords, int lightCoords, float nx, float ny, float nz) {
this.addVertex(x, y, z);
this.setColor(color);
this.setUv(u, v);
this.setOverlay(overlayCoords);
this.setLight(lightCoords);
this.setNormal(nx, ny, nz);
}
default VertexConsumer setColor(float r, float g, float b, float a) {
return this.setColor((int)(r * 255.0F), (int)(g * 255.0F), (int)(b * 255.0F), (int)(a * 255.0F));
}
default VertexConsumer setLight(int packedLightCoords) {
return this.setUv2(packedLightCoords & 65535, packedLightCoords >> 16 & 65535);
}
default VertexConsumer setOverlay(int packedOverlayCoords) {
return this.setUv1(packedOverlayCoords & 65535, packedOverlayCoords >> 16 & 65535);
}
default void putBlockBakedQuad(float x, float y, float z, BakedQuad quad, QuadInstance instance) {
Vector3fc normal = quad.direction().getUnitVec3f();
int lightEmission = quad.materialInfo().lightEmission();
for (int vertex = 0; vertex < 4; vertex++) {
Vector3fc pos = quad.position(vertex);
long packedUv = quad.packedUV(vertex);
int vertexColor = instance.getColor(vertex);
int light = instance.getLightCoordsWithEmission(vertex, lightEmission);
float u = UVPair.unpackU(packedUv);
float v = UVPair.unpackV(packedUv);
this.addVertex(pos.x() + x, pos.y() + y, pos.z() + z, vertexColor, u, v, instance.overlayCoords(), light, normal.x(), normal.y(), normal.z());
}
}
default void putBakedQuad(PoseStack.Pose pose, BakedQuad quad, QuadInstance instance) {
Vector3fc normalVec = quad.direction().getUnitVec3f();
Matrix4f matrix = pose.pose();
Vector3f normal = pose.transformNormal(normalVec, new Vector3f());
int lightEmission = quad.materialInfo().lightEmission();
for (int vertex = 0; vertex < 4; vertex++) {
Vector3fc position = quad.position(vertex);
long packedUv = quad.packedUV(vertex);
int vertexColor = instance.getColor(vertex);
int light = instance.getLightCoordsWithEmission(vertex, lightEmission);
Vector3f pos = matrix.transformPosition(position, new Vector3f());
float u = UVPair.unpackU(packedUv);
float v = UVPair.unpackV(packedUv);
this.addVertex(pos.x(), pos.y(), pos.z(), vertexColor, u, v, instance.overlayCoords(), light, normal.x(), normal.y(), normal.z());
}
}
default VertexConsumer addVertex(Vector3fc position) {
return this.addVertex(position.x(), position.y(), position.z());
}
default VertexConsumer addVertex(PoseStack.Pose pose, Vector3fc position) {
return this.addVertex(pose, position.x(), position.y(), position.z());
}
default VertexConsumer addVertex(PoseStack.Pose pose, float x, float y, float z) {
return this.addVertex(pose.pose(), x, y, z);
}
default VertexConsumer addVertex(Matrix4fc pose, float x, float y, float z) {
Vector3f pos = pose.transformPosition(x, y, z, new Vector3f());
return this.addVertex(pos.x(), pos.y(), pos.z());
}
default VertexConsumer addVertexWith2DPose(Matrix3x2fc pose, float x, float y) {
Vector2f pos = pose.transformPosition(x, y, new Vector2f());
return this.addVertex(pos.x(), pos.y(), 0.0F);
}
default VertexConsumer setNormal(PoseStack.Pose pose, float x, float y, float z) {
Vector3f normal = pose.transformNormal(x, y, z, new Vector3f());
return this.setNormal(normal.x(), normal.y(), normal.z());
}
default VertexConsumer setNormal(PoseStack.Pose pose, Vector3fc normal) {
return this.setNormal(pose, normal.x(), normal.y(), normal.z());
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
UVPair.unpackU(), UVPair.unpackV()
- 引用位置:
-
- 引用位置:
参数
- 引用位置: