cleanup, less bright buildings
This commit is contained in:
parent
28278ba102
commit
885eec73d5
@ -273,7 +273,7 @@ public class ExtrusionLayer extends Layer {
|
|||||||
vertices[v + 3] = vertices[v + 7] = c;
|
vertices[v + 3] = vertices[v + 7] = c;
|
||||||
color1 = color2;
|
color1 = color2;
|
||||||
|
|
||||||
// check if polygon is convex
|
/* check if polygon is convex */
|
||||||
if (convex) {
|
if (convex) {
|
||||||
// TODO simple polys with only one concave arc
|
// TODO simple polys with only one concave arc
|
||||||
// could be handled without special triangulation
|
// could be handled without special triangulation
|
||||||
@ -286,37 +286,36 @@ public class ExtrusionLayer extends Layer {
|
|||||||
convex = false;
|
convex = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// check if face is within tile
|
/* check if face is within tile */
|
||||||
if (!mClipper.clip((int) cx, (int) cy, (int) nx, (int) ny)) {
|
if (!mClipper.clip((int) cx, (int) cy, (int) nx, (int) ny)) {
|
||||||
even = (even + 1) % 2;
|
even = (even + 1) % 2;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// add ZigZagQuadIndices(tm) for sides
|
/* add ZigZagQuadIndices(tm) for sides */
|
||||||
short[] indices = mCurIndices[even].vertices;
|
|
||||||
// index id relative to mCurIndices item
|
|
||||||
int ind = mCurIndices[even].used;
|
|
||||||
// indices for current face
|
|
||||||
short vert = (short) (vOffset + (i - 2));
|
short vert = (short) (vOffset + (i - 2));
|
||||||
short s0 = vert++;
|
short s0 = vert++;
|
||||||
short s1 = vert++;
|
short s1 = vert++;
|
||||||
short s2 = vert++;
|
short s2 = vert++;
|
||||||
short s3 = vert++;
|
short s3 = vert++;
|
||||||
|
|
||||||
if (ind == VertexPoolItem.SIZE) {
|
|
||||||
//mCurIndices[even].used = VertexPoolItem.SIZE;
|
|
||||||
mCurIndices[even].next = VertexPool.get();
|
|
||||||
mCurIndices[even] = mCurIndices[even].next;
|
|
||||||
indices = mCurIndices[even].vertices;
|
|
||||||
ind = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// connect last to first (when number of faces is even)
|
// connect last to first (when number of faces is even)
|
||||||
if (!addFace && i == len) {
|
if (!addFace && i == len) {
|
||||||
s2 -= len;
|
s2 -= len;
|
||||||
s3 -= len;
|
s3 -= len;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
short[] indices = mCurIndices[even].vertices;
|
||||||
|
// index id relative to mCurIndices item
|
||||||
|
int ind = mCurIndices[even].used;
|
||||||
|
|
||||||
|
if (ind == VertexPoolItem.SIZE) {
|
||||||
|
mCurIndices[even].next = VertexPool.get();
|
||||||
|
mCurIndices[even] = mCurIndices[even].next;
|
||||||
|
indices = mCurIndices[even].vertices;
|
||||||
|
ind = 0;
|
||||||
|
}
|
||||||
|
|
||||||
indices[ind + 0] = s0;
|
indices[ind + 0] = s0;
|
||||||
indices[ind + 1] = s2;
|
indices[ind + 1] = s2;
|
||||||
indices[ind + 2] = s1;
|
indices[ind + 2] = s1;
|
||||||
@ -326,9 +325,9 @@ public class ExtrusionLayer extends Layer {
|
|||||||
indices[ind + 5] = s3;
|
indices[ind + 5] = s3;
|
||||||
|
|
||||||
mCurIndices[even].used += 6;
|
mCurIndices[even].used += 6;
|
||||||
even = (even + 1) % 2;
|
even = (even == 0 ? 1 : 0);
|
||||||
|
|
||||||
// add roof outline indices
|
/* add roof outline indices */
|
||||||
VertexPoolItem it = mCurIndices[IND_OUTLINE];
|
VertexPoolItem it = mCurIndices[IND_OUTLINE];
|
||||||
if (it.used == VertexPoolItem.SIZE) {
|
if (it.used == VertexPoolItem.SIZE) {
|
||||||
it.next = VertexPool.get();
|
it.next = VertexPool.get();
|
||||||
@ -407,10 +406,6 @@ public class ExtrusionLayer extends Layer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void render() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private static boolean initialized = false;
|
private static boolean initialized = false;
|
||||||
private static ShortBuffer sBuf;
|
private static ShortBuffer sBuf;
|
||||||
private static FloatBuffer fBuf;
|
private static FloatBuffer fBuf;
|
||||||
|
@ -256,21 +256,17 @@ public class ExtrusionOverlay extends RenderOverlay {
|
|||||||
|
|
||||||
// draw roof
|
// draw roof
|
||||||
GLES20.glUniform1i(hExtrusionMode, 0);
|
GLES20.glUniform1i(hExtrusionMode, 0);
|
||||||
//GLES20.glUniform4f(hExtrusionColor, 0.81f, 0.8f, 0.8f, 0.9f);
|
|
||||||
GLES20.glUniform4fv(hExtrusionColor, 1, mRoofColor, 0);
|
GLES20.glUniform4fv(hExtrusionColor, 1, mRoofColor, 0);
|
||||||
GLES20.glDrawElements(GLES20.GL_TRIANGLES, el.mIndiceCnt[2],
|
GLES20.glDrawElements(GLES20.GL_TRIANGLES, el.mIndiceCnt[2],
|
||||||
GLES20.GL_UNSIGNED_SHORT, (el.mIndiceCnt[0] + el.mIndiceCnt[1]) * 2);
|
GLES20.GL_UNSIGNED_SHORT, (el.mIndiceCnt[0] + el.mIndiceCnt[1]) * 2);
|
||||||
|
|
||||||
// draw sides 1
|
// draw sides 1
|
||||||
//GLES20.glUniform4f(hExtrusionColor, 0.8f, 0.8f, 0.8f, 1.0f);
|
|
||||||
//GLES20.glUniform4f(hExtrusionColor, 0.9f, 0.905f, 0.9f, 1.0f);
|
|
||||||
GLES20.glUniform4fv(hExtrusionColor, 1, mColor, 0);
|
GLES20.glUniform4fv(hExtrusionColor, 1, mColor, 0);
|
||||||
GLES20.glUniform1i(hExtrusionMode, 1);
|
GLES20.glUniform1i(hExtrusionMode, 1);
|
||||||
GLES20.glDrawElements(GLES20.GL_TRIANGLES, el.mIndiceCnt[0],
|
GLES20.glDrawElements(GLES20.GL_TRIANGLES, el.mIndiceCnt[0],
|
||||||
GLES20.GL_UNSIGNED_SHORT, 0);
|
GLES20.GL_UNSIGNED_SHORT, 0);
|
||||||
|
|
||||||
// draw sides 2
|
// draw sides 2
|
||||||
//GLES20.glUniform4f(hExtrusionColor, 0.9f, 0.9f, 0.905f, 1.0f);
|
|
||||||
GLES20.glUniform4fv(hExtrusionColor, 1, mColor2, 0);
|
GLES20.glUniform4fv(hExtrusionColor, 1, mColor2, 0);
|
||||||
GLES20.glUniform1i(hExtrusionMode, 2);
|
GLES20.glUniform1i(hExtrusionMode, 2);
|
||||||
|
|
||||||
@ -279,7 +275,7 @@ public class ExtrusionOverlay extends RenderOverlay {
|
|||||||
|
|
||||||
GLES20.glDepthFunc(GLES20.GL_LEQUAL);
|
GLES20.glDepthFunc(GLES20.GL_LEQUAL);
|
||||||
GLES20.glUniform1i(hExtrusionMode, 0);
|
GLES20.glUniform1i(hExtrusionMode, 0);
|
||||||
GLES20.glUniform4f(hExtrusionColor, 0.65f, 0.65f, 0.65f, 0.98f);
|
GLES20.glUniform4f(hExtrusionColor, 0.7f, 0.7f, 0.7f, 1.0f);
|
||||||
GLES20.glDrawElements(GLES20.GL_LINES, el.mIndiceCnt[3],
|
GLES20.glDrawElements(GLES20.GL_LINES, el.mIndiceCnt[3],
|
||||||
GLES20.GL_UNSIGNED_SHORT,
|
GLES20.GL_UNSIGNED_SHORT,
|
||||||
(el.mIndiceCnt[0] + el.mIndiceCnt[1] + el.mIndiceCnt[2]) * 2);
|
(el.mIndiceCnt[0] + el.mIndiceCnt[1] + el.mIndiceCnt[2]) * 2);
|
||||||
@ -334,10 +330,10 @@ public class ExtrusionOverlay extends RenderOverlay {
|
|||||||
+ " color = u_color;"
|
+ " color = u_color;"
|
||||||
+ " else if (u_mode == 1)"
|
+ " else if (u_mode == 1)"
|
||||||
// sides 1 - use 0xff00
|
// sides 1 - use 0xff00
|
||||||
+ " color = vec4(u_color.rgb * (a_light.y / ff), 0.8);"
|
+ " color = vec4(u_color.rgb * (a_light.y / ff), 0.85);"
|
||||||
+ " else"
|
+ " else"
|
||||||
// sides 2 - use 0x00ff
|
// sides 2 - use 0x00ff
|
||||||
+ " color = vec4(u_color.rgb * (a_light.x / ff), 0.8);"
|
+ " color = vec4(u_color.rgb * (a_light.x / ff), 0.85);"
|
||||||
+ "}";
|
+ "}";
|
||||||
|
|
||||||
// final static String extrusionVertexAnimShader = ""
|
// final static String extrusionVertexAnimShader = ""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user