Revision 051f00eb
Added by Leszek Koltunski over 5 years ago
| src/main/java/org/distorted/examples/glow/GlowRenderer.java | ||
|---|---|---|
| 46 | 46 |
|
| 47 | 47 |
class GlowRenderer implements GLSurfaceView.Renderer |
| 48 | 48 |
{
|
| 49 |
private static final int LEAF_SIZE = 100; |
|
| 50 | 49 |
private static final float HALO_TO_RADIUS = 0.2f; |
| 51 | 50 |
|
| 52 | 51 |
private GLSurfaceView mView; |
| 53 | 52 |
private DistortedTexture mLeaf; |
| 54 | 53 |
private DistortedScreen mScreen; |
| 55 | 54 |
private PostprocessEffectGlow mGlow; |
| 56 |
private int mRootW, mRootH; |
|
| 57 | 55 |
private Static3D mScale; |
| 58 | 56 |
private Static2D mHaloRadius; |
| 59 | 57 |
private Static4D mColor; |
| ... | ... | |
| 64 | 62 |
{
|
| 65 | 63 |
mView = v; |
| 66 | 64 |
|
| 67 |
mRootW = LEAF_SIZE; |
|
| 68 |
mRootH = LEAF_SIZE; |
|
| 69 | 65 |
mLeaf = new DistortedTexture(); |
| 70 | 66 |
mScale = new Static3D(1,1,1); |
| 71 | 67 |
mHaloRadius= new Static2D(25*HALO_TO_RADIUS,25); |
| ... | ... | |
| 78 | 74 |
effects.apply(mGlow); |
| 79 | 75 |
|
| 80 | 76 |
MeshQuad quad = new MeshQuad(); |
| 81 |
quad.setStretch(mRootW,mRootH,0); |
|
| 82 | 77 |
|
| 83 | 78 |
mScreen = new DistortedScreen(); |
| 84 | 79 |
mScreen.attach(mLeaf, effects, quad ); |
| ... | ... | |
| 122 | 117 |
|
| 123 | 118 |
public void onSurfaceChanged(GL10 glUnused, int width, int height) |
| 124 | 119 |
{
|
| 125 |
float qw = (float)width /mRootW; |
|
| 126 |
float qh = (float)height/mRootH; |
|
| 127 |
float factor = 0.8f* (qw<qh ? qw:qh); |
|
| 128 |
|
|
| 120 |
float factor = 0.8f* (Math.min(width, height)); |
|
| 129 | 121 |
mScale.set( factor,factor,factor ); |
| 130 | 122 |
mScreen.resize(width, height); |
| 131 | 123 |
} |
| ... | ... | |
| 147 | 139 |
{
|
| 148 | 140 |
is.close(); |
| 149 | 141 |
} |
| 150 |
catch(IOException e) { }
|
|
| 142 |
catch(IOException ignored) { }
|
|
| 151 | 143 |
} |
| 152 | 144 |
|
| 153 | 145 |
mLeaf.setTexture(leaf); |
Also available in: Unified diff
Convert Glow to stretchless API.