Revision 698ad0a8
Added by Leszek Koltunski over 4 years ago
src/main/java/org/distorted/examples/mirror/MirrorRenderer.java | ||
---|---|---|
32 | 32 |
import org.distorted.library.main.DistortedFramebuffer; |
33 | 33 |
import org.distorted.library.main.DistortedScreen; |
34 | 34 |
import org.distorted.library.main.DistortedTexture; |
35 |
import org.distorted.library.mesh.MeshRectangles;
|
|
35 |
import org.distorted.library.mesh.MeshQuad;
|
|
36 | 36 |
import org.distorted.library.type.Static1D; |
37 | 37 |
import org.distorted.library.type.Static3D; |
38 | 38 |
|
... | ... | |
60 | 60 |
private DistortedTexture mTextureMirror, mTextureHead; |
61 | 61 |
private DistortedFramebuffer mOffScreen1, mOffScreen2; |
62 | 62 |
private DistortedScreen mScreen; |
63 |
private MeshRectangles mQuad;
|
|
63 |
private MeshQuad mQuad1, mQuad2, mQuadMirror, mQuadHead;
|
|
64 | 64 |
private Static3D mHeadPosition, mScaleMirror, mMoveOffscreen2, mScaleHead; |
65 | 65 |
|
66 | 66 |
private int mX; |
... | ... | |
72 | 72 |
MirrorRenderer(GLSurfaceView view) |
73 | 73 |
{ |
74 | 74 |
mView = view; |
75 |
mQuad = new MeshRectangles(1,1); |
|
76 | 75 |
mScreen = new DistortedScreen(); |
77 | 76 |
|
78 |
mEffectsMirror = new DistortedEffects(1); |
|
79 |
mEffectsHead = new DistortedEffects(1); |
|
80 |
mEffectsOffscreen1= new DistortedEffects(1); |
|
81 |
mEffectsOffscreen2= new DistortedEffects(1); |
|
82 |
mEffectsScreen = new DistortedEffects(1); |
|
77 |
mQuad1 = new MeshQuad(); |
|
78 |
mQuad2 = new MeshQuad(); |
|
79 |
mQuadMirror= new MeshQuad(); |
|
80 |
mQuadHead = new MeshQuad(); |
|
81 |
|
|
82 |
mEffectsMirror = new DistortedEffects(); |
|
83 |
mEffectsHead = new DistortedEffects(); |
|
84 |
mEffectsOffscreen1= new DistortedEffects(); |
|
85 |
mEffectsOffscreen2= new DistortedEffects(); |
|
86 |
mEffectsScreen = new DistortedEffects(); |
|
83 | 87 |
|
84 | 88 |
mX = MirrorActivity.INIT_POSITION; |
85 | 89 |
|
... | ... | |
143 | 147 |
int offscreen2W = (int)(MIRROR_SCALE*mScreenW); |
144 | 148 |
int offscreen2H = (int)(MIRROR_SCALE*mScreenH); |
145 | 149 |
|
146 |
mEffectsOffscreen1.setStretch(offscreen1W, offscreen1H, 0); |
|
147 |
mEffectsOffscreen2.setStretch(offscreen2W, offscreen2H, 0); |
|
148 |
mEffectsScreen.setStretch(offscreen1W, offscreen1H, 0); |
|
150 |
mQuad1.setStretch(offscreen1W, offscreen1H, 0); |
|
151 |
mQuad2.setStretch(offscreen2W, offscreen2H, 0); |
|
149 | 152 |
|
150 | 153 |
mOffScreen1 = new DistortedFramebuffer( offscreen1W, offscreen1H, 1, DistortedFramebuffer.NO_DEPTH_NO_STENCIL ); |
151 | 154 |
mOffScreen2 = new DistortedFramebuffer( offscreen2W, offscreen2H, 1, DistortedFramebuffer.NO_DEPTH_NO_STENCIL ); |
... | ... | |
158 | 161 |
mHeadPosition.set1( mScreenH*MIRROR_MARGIN*mMirrorW/mMirrorH ); |
159 | 162 |
setPosition(mX); |
160 | 163 |
|
161 |
mOffScreen1.attach( mTextureMirror, mEffectsMirror , mQuad ); |
|
162 |
mOffScreen1.attach( mOffScreen2 , mEffectsOffscreen2, mQuad ); |
|
163 |
mOffScreen1.attach( mTextureHead , mEffectsHead , mQuad ); |
|
164 |
mOffScreen2.attach( mOffScreen1 , mEffectsOffscreen1, mQuad ); |
|
164 |
mOffScreen1.attach( mTextureMirror, mEffectsMirror , mQuadMirror );
|
|
165 |
mOffScreen1.attach( mOffScreen2 , mEffectsOffscreen2, mQuad2 );
|
|
166 |
mOffScreen1.attach( mTextureHead , mEffectsHead , mQuadHead );
|
|
167 |
mOffScreen2.attach( mOffScreen1 , mEffectsOffscreen1, mQuad1 );
|
|
165 | 168 |
|
166 | 169 |
mScreen.detachAll(); |
167 |
mScreen.attach ( mOffScreen1 , mEffectsScreen , mQuad ); |
|
170 |
mScreen.attach ( mOffScreen1 , mEffectsScreen , mQuad1 );
|
|
168 | 171 |
mScreen.resize(mScreenW,mScreenH); |
169 | 172 |
} |
170 | 173 |
} |
... | ... | |
198 | 201 |
mHeadW = bitmapH.getWidth(); |
199 | 202 |
mHeadH = bitmapH.getHeight(); |
200 | 203 |
|
201 |
mEffectsMirror.setStretch(mMirrorW,mMirrorH,0);
|
|
202 |
mEffectsHead.setStretch(mHeadW, mHeadH,0);
|
|
204 |
mQuadMirror.setStretch(mMirrorW,mMirrorH,0);
|
|
205 |
mQuadHead.setStretch(mHeadW, mHeadH,0);
|
|
203 | 206 |
|
204 | 207 |
if( mTextureMirror==null ) mTextureMirror = new DistortedTexture(); |
205 | 208 |
if( mTextureHead ==null ) mTextureHead = new DistortedTexture(); |
Also available in: Unified diff
Move the Effects.setStretch to Meshbase.setStretch