Revision e54bfada
Added by Leszek Koltunski almost 4 years ago
src/main/java/org/distorted/library/mesh/MeshQuad.java | ||
---|---|---|
30 | 30 |
{ |
31 | 31 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
32 | 32 |
|
33 |
private void addVertex( float x, float y, float[] attribs, int index) |
|
33 |
private void addVertex( float x, float y, float[] attribs1, float[] attribs2, int index)
|
|
34 | 34 |
{ |
35 |
attribs[VERT_ATTRIBS*index + POS_ATTRIB ] = x-0.5f;
|
|
36 |
attribs[VERT_ATTRIBS*index + POS_ATTRIB+1] = 0.5f-y;
|
|
37 |
attribs[VERT_ATTRIBS*index + POS_ATTRIB+2] = 0.0f;
|
|
35 |
attribs1[VERT1_ATTRIBS*index + POS_ATTRIB ] = x-0.5f;
|
|
36 |
attribs1[VERT1_ATTRIBS*index + POS_ATTRIB+1] = 0.5f-y;
|
|
37 |
attribs1[VERT1_ATTRIBS*index + POS_ATTRIB+2] = 0.0f;
|
|
38 | 38 |
|
39 |
attribs[VERT_ATTRIBS*index + NOR_ATTRIB ] = 0.0f;
|
|
40 |
attribs[VERT_ATTRIBS*index + NOR_ATTRIB+1] = 0.0f;
|
|
41 |
attribs[VERT_ATTRIBS*index + NOR_ATTRIB+2] = 1.0f;
|
|
39 |
attribs1[VERT1_ATTRIBS*index + NOR_ATTRIB ] = 0.0f;
|
|
40 |
attribs1[VERT1_ATTRIBS*index + NOR_ATTRIB+1] = 0.0f;
|
|
41 |
attribs1[VERT1_ATTRIBS*index + NOR_ATTRIB+2] = 1.0f;
|
|
42 | 42 |
|
43 |
attribs[VERT_ATTRIBS*index + INF_ATTRIB ] = (x-0.5f);
|
|
44 |
attribs[VERT_ATTRIBS*index + INF_ATTRIB+1] = (0.5f-y);
|
|
45 |
attribs[VERT_ATTRIBS*index + INF_ATTRIB+2] = 0.01f ; // Inflated surface needs to be slightly in front
|
|
43 |
attribs1[VERT1_ATTRIBS*index + INF_ATTRIB ] = (x-0.5f);
|
|
44 |
attribs1[VERT1_ATTRIBS*index + INF_ATTRIB+1] = (0.5f-y);
|
|
45 |
attribs1[VERT1_ATTRIBS*index + INF_ATTRIB+2] = 0.01f ; // Inflated surface needs to be slightly in front
|
|
46 | 46 |
|
47 |
attribs[VERT_ATTRIBS*index + TEX_ATTRIB ] = x;
|
|
48 |
attribs[VERT_ATTRIBS*index + TEX_ATTRIB+1] = 1.0f-y;
|
|
47 |
attribs2[VERT2_ATTRIBS*index + TEX_ATTRIB ] = x;
|
|
48 |
attribs2[VERT2_ATTRIBS*index + TEX_ATTRIB+1] = 1.0f-y;
|
|
49 | 49 |
} |
50 | 50 |
|
51 | 51 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
57 | 57 |
public MeshQuad() |
58 | 58 |
{ |
59 | 59 |
super(); |
60 |
float[] attribs= new float[VERT_ATTRIBS*4]; |
|
61 | 60 |
|
62 |
addVertex(0.0f,0.0f, attribs,0); |
|
63 |
addVertex(0.0f,1.0f, attribs,1); |
|
64 |
addVertex(1.0f,0.0f, attribs,2); |
|
65 |
addVertex(1.0f,1.0f, attribs,3); |
|
61 |
float[] attribs1= new float[VERT1_ATTRIBS*4]; |
|
62 |
float[] attribs2= new float[VERT2_ATTRIBS*4]; |
|
66 | 63 |
|
67 |
setAttribs(attribs); |
|
64 |
addVertex(0.0f,0.0f, attribs1, attribs2, 0); |
|
65 |
addVertex(0.0f,1.0f, attribs1, attribs2, 1); |
|
66 |
addVertex(1.0f,0.0f, attribs1, attribs2, 2); |
|
67 |
addVertex(1.0f,1.0f, attribs1, attribs2, 3); |
|
68 |
|
|
69 |
setAttribs(attribs1,attribs2); |
|
68 | 70 |
} |
69 | 71 |
|
70 | 72 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
Also available in: Unified diff
Have VERTEX_QUATERNION, VERTEX_ROTATE and VERTEX_SHEAR modify inflate vectors.
Split Vertex attribute array into two (the one modified by preapply effects and the one not)