Project

General

Profile

Download (3.38 KB) Statistics
| Branch: | Revision:

library / src / main / java / org / distorted / library / effect / MatrixEffect.java @ 5ec42229

1
///////////////////////////////////////////////////////////////////////////////////////////////////
2
// Copyright 2017 Leszek Koltunski                                                               //
3
//                                                                                               //
4
// This file is part of Distorted.                                                               //
5
//                                                                                               //
6
// Distorted is free software: you can redistribute it and/or modify                             //
7
// it under the terms of the GNU General Public License as published by                          //
8
// the Free Software Foundation, either version 2 of the License, or                             //
9
// (at your option) any later version.                                                           //
10
//                                                                                               //
11
// Distorted is distributed in the hope that it will be useful,                                  //
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of                                //
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                 //
14
// GNU General Public License for more details.                                                  //
15
//                                                                                               //
16
// You should have received a copy of the GNU General Public License                             //
17
// along with Distorted.  If not, see <http://www.gnu.org/licenses/>.                            //
18
///////////////////////////////////////////////////////////////////////////////////////////////////
19

    
20
package org.distorted.library.effect;
21

    
22
import org.distorted.library.effectqueue.EffectQueue;
23

    
24
///////////////////////////////////////////////////////////////////////////////////////////////////
25
/**
26
 * Abstract class that represents an Effect that works by modifying the ModelView matrix.
27
 */
28
public abstract class MatrixEffect extends Effect
29
  {
30
  /**
31
   * 7: 4 per-effect interpolated values + 3 dimensional center.
32
   */
33
  public static final int NUM_FLOAT_UNIFORMS = 7;
34
  /**
35
   * 0: nothing
36
   */
37
  public static final int NUM_INT_UNIFORMS = 1;
38

    
39
  static final int CENTER_OFFSET = 4;
40

    
41
///////////////////////////////////////////////////////////////////////////////////////////////////
42
/**
43
 * Only for use by the library itself.
44
 *
45
 * @y.exclude
46
 */
47
  public abstract void apply(float[] matrixP, float[] matrixV, float[] uniforms, int index);
48

    
49
///////////////////////////////////////////////////////////////////////////////////////////////////
50
/**
51
 * Only for use by the library itself.
52
 *
53
 * @y.exclude
54
 */
55
  public void addQueue(EffectQueue queue)
56
    {
57
    // NO OP
58
    }
59

    
60
///////////////////////////////////////////////////////////////////////////////////////////////////
61
/**
62
 * Only for use by the library itself.
63
 *
64
 * @y.exclude
65
 */
66
  public void remQueue(EffectQueue queue)
67
    {
68
    // NO OP
69
    }
70

    
71
///////////////////////////////////////////////////////////////////////////////////////////////////
72
// empty function for completeness
73

    
74
  static void destroyStatics()
75
    {
76

    
77
    }
78

    
79
///////////////////////////////////////////////////////////////////////////////////////////////////
80

    
81
  MatrixEffect(EffectName name)
82
    {
83
    super(name);
84
    }
85
  }
(11-11/32)