Revision 667884b0
Added by Leszek Koltunski over 5 years ago
| src/main/java/org/distorted/library/main/DistortedLibrary.java | ||
|---|---|---|
| 305 | 305 |
String enabledEffectV= VertexEffect.getAllGLSL(); |
| 306 | 306 |
String enabledEffectF= "{}";
|
| 307 | 307 |
|
| 308 |
fullVertHeader += "#define PREAPPLY\n"; |
|
| 309 |
|
|
| 308 | 310 |
String[] feedback = { "v_Position", "v_endPosition" };
|
| 309 | 311 |
|
| 310 | 312 |
try |
| src/main/java/org/distorted/library/mesh/MeshBase.java | ||
|---|---|---|
| 290 | 290 |
{
|
| 291 | 291 |
for(int vertex=0; vertex<mNumVertices; vertex++) |
| 292 | 292 |
{
|
| 293 |
posX = feedback.get(6*vertex ); |
|
| 294 |
posY = feedback.get(6*vertex+1); |
|
| 295 |
posZ = feedback.get(6*vertex+2); |
|
| 296 |
norX = feedback.get(6*vertex+3) - posX; |
|
| 297 |
norY = feedback.get(6*vertex+4) - posY; |
|
| 298 |
norZ = feedback.get(6*vertex+5) - posZ; |
|
| 299 |
|
|
| 300 |
mVertAttribs[vertex*VERT_ATTRIBS + POS_ATTRIB ] = posX; |
|
| 301 |
mVertAttribs[vertex*VERT_ATTRIBS + POS_ATTRIB + 1 ] = posY; |
|
| 302 |
mVertAttribs[vertex*VERT_ATTRIBS + POS_ATTRIB + 2 ] = posZ; |
|
| 303 |
|
|
| 304 |
mVertAttribs[vertex*VERT_ATTRIBS + NOR_ATTRIB ] = norX; |
|
| 305 |
mVertAttribs[vertex*VERT_ATTRIBS + NOR_ATTRIB + 1 ] = norY; |
|
| 306 |
mVertAttribs[vertex*VERT_ATTRIBS + NOR_ATTRIB + 2 ] = norZ; |
|
| 293 |
mVertAttribs[vertex*VERT_ATTRIBS + POS_ATTRIB ] = feedback.get(6*vertex ); |
|
| 294 |
mVertAttribs[vertex*VERT_ATTRIBS + POS_ATTRIB + 1 ] = feedback.get(6*vertex+1); |
|
| 295 |
mVertAttribs[vertex*VERT_ATTRIBS + POS_ATTRIB + 2 ] = feedback.get(6*vertex+2); |
|
| 296 |
mVertAttribs[vertex*VERT_ATTRIBS + NOR_ATTRIB ] = feedback.get(6*vertex+3); |
|
| 297 |
mVertAttribs[vertex*VERT_ATTRIBS + NOR_ATTRIB + 1 ] = feedback.get(6*vertex+4); |
|
| 298 |
mVertAttribs[vertex*VERT_ATTRIBS + NOR_ATTRIB + 2 ] = feedback.get(6*vertex+5); |
|
| 307 | 299 |
} |
| 308 | 300 |
|
| 309 | 301 |
mVBO.update(mVertAttribs); |
| src/main/res/raw/main_vertex_shader.glsl | ||
|---|---|---|
| 107 | 107 |
#endif |
| 108 | 108 |
|
| 109 | 109 |
v_Position = v; |
| 110 |
v_endPosition = v + n; |
|
| 110 |
|
|
| 111 |
#ifdef PREAPPLY |
|
| 112 |
v_endPosition = n; |
|
| 113 |
#else |
|
| 114 |
v_endPosition = v + 0.5*n; |
|
| 115 |
#endif |
|
| 116 |
|
|
| 111 | 117 |
v_TexCoordinate = a_TexCoordinate; |
| 112 | 118 |
v_Normal = normalize(vec3(u_MVMatrix*vec4(n,0.0))); |
| 113 | 119 |
gl_Position = u_MVPMatrix*vec4(v,1.0); |
Also available in: Unified diff
Speedup for preapply