gpu: fix untextured faces
This commit is contained in:
@@ -324,14 +324,14 @@ class SceneUploader
|
||||
|
||||
if (tile.getTexture() != -1)
|
||||
{
|
||||
float tex = tile.getTexture();
|
||||
uvBuffer.put(tex, 1.0f + 1f, 1.0f + 1f, 0f);
|
||||
uvBuffer.put(tex, 0.0f + 1f, 1.0f + 1f, 0f);
|
||||
uvBuffer.put(tex, 1.0f + 1f, 0.0f + 1f, 0f);
|
||||
float tex = tile.getTexture() + 1f;
|
||||
uvBuffer.put(tex, 1.0f, 1.0f, 0f);
|
||||
uvBuffer.put(tex, 0.0f, 1.0f, 0f);
|
||||
uvBuffer.put(tex, 1.0f, 0.0f, 0f);
|
||||
|
||||
uvBuffer.put(tex, 0.0f + 1f, 0.0f + 1f, 0f);
|
||||
uvBuffer.put(tex, 1.0f + 1f, 0.0f + 1f, 0f);
|
||||
uvBuffer.put(tex, 0.0f + 1f, 1.0f + 1f, 0f);
|
||||
uvBuffer.put(tex, 0.0f, 0.0f, 0f);
|
||||
uvBuffer.put(tex, 1.0f, 0.0f, 0f);
|
||||
uvBuffer.put(tex, 0.0f, 1.0f, 0f);
|
||||
}
|
||||
|
||||
return 6;
|
||||
@@ -396,10 +396,10 @@ class SceneUploader
|
||||
{
|
||||
if (triangleTextures[i] != -1)
|
||||
{
|
||||
float tex = triangleTextures[i];
|
||||
uvBuffer.put(tex, vertexXA / 128f + 1f, vertexZA / 128f + 1f, 0f);
|
||||
uvBuffer.put(tex, vertexXB / 128f + 1f, vertexZB / 128f + 1f, 0f);
|
||||
uvBuffer.put(tex, vertexXC / 128f + 1f, vertexZC / 128f + 1f, 0f);
|
||||
float tex = triangleTextures[i] + 1f;
|
||||
uvBuffer.put(tex, vertexXA / 128f, vertexZA / 128f, 0f);
|
||||
uvBuffer.put(tex, vertexXB / 128f, vertexZB / 128f, 0f);
|
||||
uvBuffer.put(tex, vertexXC / 128f, vertexZC / 128f, 0f);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -531,10 +531,10 @@ class SceneUploader
|
||||
{
|
||||
if (u != null && v != null && (uf = u[face]) != null && (vf = v[face]) != null)
|
||||
{
|
||||
final short texture = faceTextures[face];
|
||||
uvBuffer.put(texture, 1f + uf[0], 1f + vf[0], 0f);
|
||||
uvBuffer.put(texture, 1f + uf[1], 1f + vf[1], 0f);
|
||||
uvBuffer.put(texture, 1f + uf[2], 1f + vf[2], 0f);
|
||||
float texture = faceTextures[face] + 1f;
|
||||
uvBuffer.put(texture, uf[0], vf[0], 0f);
|
||||
uvBuffer.put(texture, uf[1], vf[1], 0f);
|
||||
uvBuffer.put(texture, uf[2], vf[2], 0f);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -34,13 +34,12 @@ out vec4 FragColor;
|
||||
|
||||
void main() {
|
||||
float n = fUv.x;
|
||||
float u = fUv.y;
|
||||
float v = fUv.z;
|
||||
|
||||
if (u > 0.0f && v > 0.0f) {
|
||||
if (n > 0.0) {
|
||||
n -= 1.0;
|
||||
int textureIdx = int(n);
|
||||
|
||||
vec2 uv = vec2(u - 1, v - 1);
|
||||
vec2 uv = fUv.yz;
|
||||
vec2 animatedUv = uv + textureOffsets[textureIdx];
|
||||
|
||||
vec4 textureColor = texture(textures, vec3(animatedUv, n));
|
||||
|
||||
Reference in New Issue
Block a user