Revision 16b22aab
Added by Leszek Koltunski about 5 years ago
src/main/java/org/distorted/examples/mirror/MirrorRenderer.java | ||
---|---|---|
102 | 102 |
{ |
103 | 103 |
mX = pos; |
104 | 104 |
|
105 |
float headW = (HEAD_SCALE *mScreenH* mHeadW) / (mScreenW* mHeadH); |
|
105 |
float headWdivScreenW = mScreenW >0 ? (float)mHeadW/mScreenW : 0.0f; |
|
106 |
float left = headWdivScreenW -0.5f + MIRROR_MARGIN; |
|
107 |
float right= -left; |
|
106 | 108 |
|
107 |
mHeadPosition.set1(mX*(1.0f-2*MIRROR_MARGIN-headW)*mScreenW / 100.0f + MIRROR_MARGIN*mScreenW);
|
|
109 |
mHeadPosition.set1( ((right-left)*(mX/100.0f) + left) * mScreenW );
|
|
108 | 110 |
} |
109 | 111 |
|
110 | 112 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
138 | 140 |
if( mOffScreen1!=null ) mOffScreen1.markForDeletion(); |
139 | 141 |
if( mOffScreen2!=null ) mOffScreen2.markForDeletion(); |
140 | 142 |
|
141 |
mOffScreen1 = new DistortedFramebuffer( mScreenW, mScreenH, 1, DistortedFramebuffer.NO_DEPTH_NO_STENCIL );
|
|
143 |
mOffScreen1 = new DistortedFramebuffer( mScreenW , mScreenH , 1, DistortedFramebuffer.NO_DEPTH_NO_STENCIL );
|
|
142 | 144 |
mOffScreen2 = new DistortedFramebuffer( (int)(MIRROR_SCALE*mScreenW), (int)(MIRROR_SCALE*mScreenH), 1, DistortedFramebuffer.NO_DEPTH_NO_STENCIL ); |
143 | 145 |
|
144 |
mScaleMirror.set( (float)mScreenW/mMirrorW, (float)mScreenH/mMirrorH, 1.0f); |
|
145 |
mMoveOffscreen2.set( MIRROR_MOVE_H*mScreenW, MIRROR_MOVE_V*mScreenH*mMirrorW/mMirrorH, 0); |
|
146 |
|
|
147 | 146 |
float headScale = HEAD_SCALE *mScreenH/ mHeadH; |
148 | 147 |
mScaleHead.set(headScale,headScale,headScale); |
149 |
mHeadPosition.set2( mScreenH*MIRROR_MARGIN*mMirrorW/mMirrorH ); |
|
148 |
|
|
149 |
float scaleW = (float)mScreenW/mMirrorW; |
|
150 |
float scaleH = (float)mScreenH/mMirrorH; |
|
151 |
|
|
152 |
mScaleMirror.set( scaleW, scaleH, 1.0f); |
|
153 |
|
|
154 |
mMoveOffscreen2.set( (MIRROR_MOVE_H-0.5f+0.5f*MIRROR_SCALE)*mScreenW, (MIRROR_MOVE_V-0.5f+0.5f*MIRROR_SCALE)*mScreenH*mMirrorW/mMirrorH, 0); |
|
155 |
mHeadPosition.set2( (0.5f*HEAD_SCALE - 0.5f + MIRROR_MARGIN*mMirrorW/mMirrorH)*mScreenH ); |
|
156 |
|
|
150 | 157 |
setPosition(mX); |
151 | 158 |
|
152 | 159 |
mOffScreen1.attach( mTextureMirror, mEffectsMirror , mQuad ); |
Also available in: Unified diff
Fix several more apps for the 'center-of-matrix-effects-in-screen-center' change.