mirror of
https://github.com/FabricMC/fabric.git
synced 2024-11-23 16:18:29 -05:00
Renderer API quads overloads for joml interfaces (#3875)
This commit is contained in:
parent
3dccd3438c
commit
0ae0b97da7
2 changed files with 46 additions and 0 deletions
|
@ -18,7 +18,9 @@ package net.fabricmc.fabric.api.renderer.v1.mesh;
|
|||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.joml.Vector2f;
|
||||
import org.joml.Vector2fc;
|
||||
import org.joml.Vector3f;
|
||||
import org.joml.Vector3fc;
|
||||
|
||||
import net.minecraft.client.render.model.BakedQuad;
|
||||
import net.minecraft.client.texture.Sprite;
|
||||
|
@ -111,6 +113,13 @@ public interface MutableQuadView extends QuadView {
|
|||
* Same as {@link #pos(int, float, float, float)} but accepts vector type.
|
||||
*/
|
||||
default MutableQuadView pos(int vertexIndex, Vector3f pos) {
|
||||
return pos(vertexIndex, pos.x, pos.y, pos.z);
|
||||
}
|
||||
|
||||
/**
|
||||
* Same as {@link #pos(int, float, float, float)} but accepts vector type.
|
||||
*/
|
||||
default MutableQuadView pos(int vertexIndex, Vector3fc pos) {
|
||||
return pos(vertexIndex, pos.x(), pos.y(), pos.z());
|
||||
}
|
||||
|
||||
|
@ -145,6 +154,16 @@ public interface MutableQuadView extends QuadView {
|
|||
return uv(vertexIndex, uv.x, uv.y);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set texture coordinates.
|
||||
*
|
||||
* <p>Only use this function if you already have a {@link Vector2fc}.
|
||||
* Otherwise, see {@link MutableQuadView#uv(int, float, float)}.
|
||||
*/
|
||||
default MutableQuadView uv(int vertexIndex, Vector2fc uv) {
|
||||
return uv(vertexIndex, uv.x(), uv.y());
|
||||
}
|
||||
|
||||
/**
|
||||
* Assigns sprite atlas u,v coordinates to this quad for the given sprite.
|
||||
* Can handle UV locking, rotation, interpolation, etc. Control this behavior
|
||||
|
@ -190,6 +209,13 @@ public interface MutableQuadView extends QuadView {
|
|||
* Same as {@link #normal(int, float, float, float)} but accepts vector type.
|
||||
*/
|
||||
default MutableQuadView normal(int vertexIndex, Vector3f normal) {
|
||||
return normal(vertexIndex, normal.x, normal.y, normal.z);
|
||||
}
|
||||
|
||||
/**
|
||||
* Same as {@link #normal(int, float, float, float)} but accepts vector type.
|
||||
*/
|
||||
default MutableQuadView normal(int vertexIndex, Vector3fc normal) {
|
||||
return normal(vertexIndex, normal.x(), normal.y(), normal.z());
|
||||
}
|
||||
|
||||
|
|
|
@ -18,7 +18,9 @@ package net.fabricmc.fabric.api.renderer.v1.mesh;
|
|||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.joml.Vector2f;
|
||||
import org.joml.Vector2fc;
|
||||
import org.joml.Vector3f;
|
||||
import org.joml.Vector3fc;
|
||||
|
||||
import net.minecraft.client.render.model.BakedQuad;
|
||||
import net.minecraft.client.texture.Sprite;
|
||||
|
@ -50,6 +52,12 @@ public interface QuadEmitter extends MutableQuadView {
|
|||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
default QuadEmitter pos(int vertexIndex, Vector3fc pos) {
|
||||
MutableQuadView.super.pos(vertexIndex, pos);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
QuadEmitter color(int vertexIndex, int color);
|
||||
|
||||
|
@ -68,6 +76,12 @@ public interface QuadEmitter extends MutableQuadView {
|
|||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
default QuadEmitter uv(int vertexIndex, Vector2fc uv) {
|
||||
MutableQuadView.super.uv(vertexIndex, uv);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
QuadEmitter spriteBake(Sprite sprite, int bakeFlags);
|
||||
|
||||
|
@ -97,6 +111,12 @@ public interface QuadEmitter extends MutableQuadView {
|
|||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
default QuadEmitter normal(int vertexIndex, Vector3fc normal) {
|
||||
MutableQuadView.super.normal(vertexIndex, normal);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
QuadEmitter cullFace(@Nullable Direction face);
|
||||
|
||||
|
|
Loading…
Reference in a new issue