mirror of
https://github.com/webbukkit/dynmap.git
synced 2025-03-12 06:29:32 +01:00
Fix shading=true/false ambiguity with patch cache lookup
This commit is contained in:
parent
861d1f8606
commit
7feb9e6735
@ -144,7 +144,7 @@ public class PatchDefinition implements RenderPatch {
|
|||||||
public void update(double x0, double y0, double z0, double xu,
|
public void update(double x0, double y0, double z0, double xu,
|
||||||
double yu, double zu, double xv, double yv, double zv, double umin,
|
double yu, double zu, double xv, double yv, double zv, double umin,
|
||||||
double umax, double vmin, double vmax, SideVisible sidevis,
|
double umax, double vmin, double vmax, SideVisible sidevis,
|
||||||
int textureids, double vminatumax, double vmaxatumax) {
|
int textureids, double vminatumax, double vmaxatumax, boolean shade) {
|
||||||
this.x0 = x0;
|
this.x0 = x0;
|
||||||
this.y0 = y0;
|
this.y0 = y0;
|
||||||
this.z0 = z0;
|
this.z0 = z0;
|
||||||
@ -162,6 +162,7 @@ public class PatchDefinition implements RenderPatch {
|
|||||||
this.vminatumax = vminatumax;
|
this.vminatumax = vminatumax;
|
||||||
this.sidevis = sidevis;
|
this.sidevis = sidevis;
|
||||||
this.textureindex = textureids;
|
this.textureindex = textureids;
|
||||||
|
this.shade = shade;
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
public void update() {
|
public void update() {
|
||||||
@ -301,7 +302,6 @@ public class PatchDefinition implements RenderPatch {
|
|||||||
// @param textureid - texture ID
|
// @param textureid - texture ID
|
||||||
public void updateModelFace(double[] from, double[] to, BlockSide face, double[] uv, ModelBlockModel.SideRotation rot, boolean shade, int textureid) {
|
public void updateModelFace(double[] from, double[] to, BlockSide face, double[] uv, ModelBlockModel.SideRotation rot, boolean shade, int textureid) {
|
||||||
if (rot == null) rot = ModelBlockModel.SideRotation.DEG0;
|
if (rot == null) rot = ModelBlockModel.SideRotation.DEG0;
|
||||||
this.shade = shade;
|
|
||||||
// Compute corners of the face
|
// Compute corners of the face
|
||||||
Vector3D lowleft;
|
Vector3D lowleft;
|
||||||
Vector3D lowright;
|
Vector3D lowright;
|
||||||
@ -452,6 +452,7 @@ public class PatchDefinition implements RenderPatch {
|
|||||||
txtV.add(txtorig); // And add it to compute full V
|
txtV.add(txtorig); // And add it to compute full V
|
||||||
}
|
}
|
||||||
update(txtorig.x, txtorig.y, txtorig.z, txtU.x, txtU.y, txtU.z, txtV.x, txtV.y, txtV.z,
|
update(txtorig.x, txtorig.y, txtorig.z, txtU.x, txtU.y, txtU.z, txtV.x, txtV.y, txtV.z,
|
||||||
patchuv[0], patchuv[2], patchuv[1], patchuv[3], flipU ? (flipV ? SideVisible.TOPFLIPHV : SideVisible.TOPFLIP) : (flipV ? SideVisible.TOPFLIPV : SideVisible.TOP), textureid, patchuv[1], patchuv[3]);
|
patchuv[0], patchuv[2], patchuv[1], patchuv[3], flipU ? (flipV ? SideVisible.TOPFLIPHV : SideVisible.TOPFLIP) : (flipV ? SideVisible.TOPFLIPV : SideVisible.TOP), textureid,
|
||||||
|
patchuv[1], patchuv[3], shade);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -28,30 +28,30 @@ public class PatchDefinitionFactory implements RenderPatchFactory {
|
|||||||
double yu, double zu, double xv, double yv, double zv, double umin,
|
double yu, double zu, double xv, double yv, double zv, double umin,
|
||||||
double umax, double vmin, double vmax, SideVisible sidevis,
|
double umax, double vmin, double vmax, SideVisible sidevis,
|
||||||
int textureids) {
|
int textureids) {
|
||||||
return getPatch(x0, y0, z0, xu, yu, zu,xv, yv, zv, umin, umax, vmin, vmax, sidevis, textureids, vmin, vmax);
|
return getPatch(x0, y0, z0, xu, yu, zu,xv, yv, zv, umin, umax, vmin, vmax, sidevis, textureids, vmin, vmax, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public RenderPatch getPatch(double x0, double y0, double z0, double xu,
|
public RenderPatch getPatch(double x0, double y0, double z0, double xu,
|
||||||
double yu, double zu, double xv, double yv, double zv,
|
double yu, double zu, double xv, double yv, double zv,
|
||||||
double uplusvmax, SideVisible sidevis, int textureids) {
|
double uplusvmax, SideVisible sidevis, int textureids) {
|
||||||
return getPatch(x0, y0, z0, xu, yu, zu,xv, yv, zv, 0.0, uplusvmax, 0.0, uplusvmax, sidevis, textureids, 0.0, 0.0);
|
return getPatch(x0, y0, z0, xu, yu, zu,xv, yv, zv, 0.0, uplusvmax, 0.0, uplusvmax, sidevis, textureids, 0.0, 0.0, true);
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public PatchDefinition getPatch(double x0, double y0, double z0, double xu,
|
public PatchDefinition getPatch(double x0, double y0, double z0, double xu,
|
||||||
double yu, double zu, double xv, double yv, double zv, double umin,
|
double yu, double zu, double xv, double yv, double zv, double umin,
|
||||||
double umax, double vmin, double vminatumax, double vmax, double vmaxatumax, SideVisible sidevis,
|
double umax, double vmin, double vminatumax, double vmax, double vmaxatumax, SideVisible sidevis,
|
||||||
int textureids) {
|
int textureids) {
|
||||||
return getPatch(x0, y0, z0, xu, yu, zu,xv, yv, zv, umin, umax, vmin, vmax, sidevis, textureids, vminatumax, vmaxatumax);
|
return getPatch(x0, y0, z0, xu, yu, zu,xv, yv, zv, umin, umax, vmin, vmax, sidevis, textureids, vminatumax, vmaxatumax, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public PatchDefinition getPatch(double x0, double y0, double z0, double xu,
|
public PatchDefinition getPatch(double x0, double y0, double z0, double xu,
|
||||||
double yu, double zu, double xv, double yv, double zv, double umin,
|
double yu, double zu, double xv, double yv, double zv, double umin,
|
||||||
double umax, double vmin, double vmax, SideVisible sidevis,
|
double umax, double vmin, double vmax, SideVisible sidevis,
|
||||||
int textureids, double vminatumax, double vmaxatumax) {
|
int textureids, double vminatumax, double vmaxatumax, boolean shade) {
|
||||||
synchronized(lock) {
|
synchronized(lock) {
|
||||||
lookup.update(x0, y0, z0, xu, yu, zu, xv, yv, zv, umin,
|
lookup.update(x0, y0, z0, xu, yu, zu, xv, yv, zv, umin,
|
||||||
umax, vmin, vmax, sidevis, textureids, vminatumax, vmaxatumax);
|
umax, vmin, vmax, sidevis, textureids, vminatumax, vmaxatumax, shade);
|
||||||
if(lookup.validate() == false)
|
if(lookup.validate() == false)
|
||||||
return null;
|
return null;
|
||||||
PatchDefinition pd2 = patches.get(lookup); /* See if in cache already */
|
PatchDefinition pd2 = patches.get(lookup); /* See if in cache already */
|
||||||
|
Loading…
Reference in New Issue
Block a user