Project

General

Profile

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

library / src / main / java / org / distorted / library / GridObject.java @ d333eb6b

1
///////////////////////////////////////////////////////////////////////////////////////////////////
2
// Copyright 2016 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;
21

    
22
import java.nio.FloatBuffer;
23

    
24
import android.opengl.GLES20;
25

    
26
///////////////////////////////////////////////////////////////////////////////////////////////////
27

    
28
abstract class GridObject 
29
   {
30
   protected static final int BYTES_PER_FLOAT   = 4; //
31
   protected static final int POSITION_DATA_SIZE= 3; // Size of the position data in elements
32
   protected static final int COLOR_DATA_SIZE   = 4; // Size of the color data in elements 
33
   protected static final int NORMAL_DATA_SIZE  = 3; // Size of the normal data in elements.
34
   protected static final int TEX_DATA_SIZE     = 2; // Size of the texture coordinate data in elements. 
35

    
36
   protected int dataLength;                       
37
      
38
   protected FloatBuffer mGridPositions,mGridColors,mGridNormals,mGridTexture;
39
 
40
///////////////////////////////////////////////////////////////////////////////////////////////////
41
   
42
   void draw()
43
     { 
44
     GLES20.glVertexAttribPointer(Distorted.mPositionH    , POSITION_DATA_SIZE, GLES20.GL_FLOAT, false, 0, mGridPositions);          
45
     GLES20.glVertexAttribPointer(Distorted.mColorH       , COLOR_DATA_SIZE   , GLES20.GL_FLOAT, false, 0, mGridColors   );   
46
     GLES20.glVertexAttribPointer(Distorted.mNormalH      , NORMAL_DATA_SIZE  , GLES20.GL_FLOAT, false, 0, mGridNormals  );
47
     GLES20.glVertexAttribPointer(Distorted.mTextureCoordH, TEX_DATA_SIZE     , GLES20.GL_FLOAT, false, 0, mGridTexture  );  
48

    
49
     GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, dataLength); 
50
     }
51
   }
52

    
53
///////////////////////////////////////////////////////////////////////////////////////////////////
(24-24/30)