Project

General

Profile

« Previous | Next » 

Revision cbcf2374

Added by Leszek Koltunski 4 months ago

minor

View differences:

src/main/java/org/distorted/library/effect/FragmentEffect.java
38 38
   */
39 39
  public static final int NUM_INT_UNIFORMS = 4;
40 40

  
41
  static final int VALUES_OFFSET = 0;
42 41
  static final int CENTER_OFFSET = 5;
43 42
  static final int REGION_OFFSET = 8;
44 43
  private static String mGLSL = "";
src/main/java/org/distorted/library/effect/MatrixEffectRotate.java
32 32
  {
33 33
  private final Data1D mAngle;
34 34
  private final Data3D mAxis, mCenter;
35
  private float[] mTmp1 = new float[16];
36
  private float[] mTmp2 = new float[16];
35
  private final float[] mTmp1 = new float[16];
36
  private final float[] mTmp2 = new float[16];
37 37

  
38 38
///////////////////////////////////////////////////////////////////////////////////////////////////
39 39
/**
src/main/java/org/distorted/library/effect/MatrixEffectScale.java
49 49
 * <p>
50 50
 * Here and in Shear we have the whole reason why there are two separate 'P' and 'V' (Point and
51 51
 * Vector) matrices - Scale and Shear have to manipulate Points and Normal Vectors differently.
52
 *
52
 * <p>
53 53
 * Points get multiplied by (sx,sy,sz) - and vectors by (1/sx,1/sy,1/sz) (think about it!) - or
54 54
 * better by sx*sy*sz*(1/sx,1/sy,1/sz) to avoid dividing my zero (vectors are normalized after)
55 55
 *
src/main/java/org/distorted/library/effect/PostprocessEffect.java
147 147
 * At this moment the 'buffer' contains a) preprocessed object b) real object rendered 'on top' of
148 148
 * the preprocessed one.
149 149
 * Postprocess buffer. What this means exactly depends on the effect -
150
 *
150
 * <p>
151 151
 * Only for use by the library itself.
152 152
 *
153 153
 * @y.exclude
......
159 159
   * Do we render the object directly to the final surface, and only postprocess and then blit its
160 160
   * 'halo', or do we render the object along with its halo to the intermediate framebuffer and
161 161
   * postprocess it as well?
162
   *
162
   * <p>
163 163
   * Only for use by the library itself.
164 164
   *
165 165
   * @y.exclude
src/main/java/org/distorted/library/effect/PostprocessEffectBlurred.java
84 84

  
85 85
    if( weightsCache[offset]==0.0f )
86 86
      {
87
      float z, x= 0.0f, P= (float)NUM_GAUSSIAN / (radius>3 ? radius:3);
87
      float z, x= 0.0f, P= (float)NUM_GAUSSIAN / Math.max(radius,3);
88 88
      mWeights[0] = GAUSSIAN[0];
89 89
      float sum   = GAUSSIAN[0];
90 90
      int j;
src/main/java/org/distorted/library/effect/VertexEffect.java
231 231
///////////////////////////////////////////////////////////////////////////////////////////////////
232 232
/**
233 233
 * Set Mesh association.
234
 *
234
 * <p>
235 235
 * This creates an association between a Component of a Mesh and this Vertex Effect.
236 236
 * One can set two types of associations - an 'logical and' and a 'equal' associations and the Effect
237 237
 * will only be active on vertices of Components such that
238
 *
238
 * <p>
239 239
 * (effect andAssoc) & (component andAssoc) != 0 || (effect equAssoc) == (mesh equAssoc)
240
 *
240
 * <p>
241 241
 * (see main_vertex_shader)
242
 *
242
 * <p>
243 243
 * The point: this way we can configure the system so that each Vertex Effect acts only on a certain
244 244
 * subset of a Mesh, thus potentially significantly reducing the number of render calls.
245 245
 */
src/main/java/org/distorted/library/effect/VertexEffectPinch.java
27 27
/**
28 28
 * Pull all points around the center of the Effect towards a line passing through the center
29 29
 * (that's if degree>=1) or push them away from the line (degree<=1).
30
 *
30
 * <p>
31 31
 * Note: this is not a fully 3D effect - the pinching is always within the XY plane; z coordinates
32 32
 * of all vertices remain unaffected. If someone wants a fully 3D Pinch effect, we'd probably need
33 33
 * to write another VertexEffectPinch3D with 2 more arguments (latitude and longitude angles defining
src/main/java/org/distorted/library/effect/VertexEffectPipe.java
26 26
///////////////////////////////////////////////////////////////////////////////////////////////////
27 27

  
28 28
/**
29
 * Pull all points around the center of the Effect towards the center point (if degree>=1) or push them
30
 * away from it (degree<=1).
29
 * Pull (degree>1) or push away from (degree<1) all points of an infinite 'pipe' shaped region.
31 30
 */
32 31
public class VertexEffectPipe extends VertexEffect
33 32
  {
src/main/java/org/distorted/library/effect/VertexEffectSwirl.java
27 27
///////////////////////////////////////////////////////////////////////////////////////////////////
28 28
/**
29 29
 * 'Swirl' part of the Mesh, i.e rotate part of it around a point.
30
 *
30
 * <p>
31 31
 * Note: this is not a fully 3D effect as the swirling happens entirely within the XY plane - z
32 32
 * coordinates of all vertices remain unaffected. If someone wants a fully 3D swirling, we'd
33 33
 * probably need to write another VertixEffectSwirl3D with two additional parameters: latitude and
src/main/java/org/distorted/library/effect/VertexEffectWave.java
27 27
///////////////////////////////////////////////////////////////////////////////////////////////////
28 28
/**
29 29
 * Directional, sinusoidal wave effect.
30
 *
30
 * <p>
31 31
 * Not a fully 3D effect. To achieve a fully 3D one we'd need another parameter making the whole thing
32 32
 * a 6D effect but there's no room in the Vertex Uniforms which assign only 5 floats for interpolated
33 33
 * effect values. Rethink this. ATM fully enough for 2.5D meshes like the MeshCubes.

Also available in: Unified diff