Revision e0b6c593
Added by Leszek Koltunski almost 9 years ago
| src/main/java/org/distorted/library/DistortedFramebuffer.java | ||
|---|---|---|
| 31 | 31 |
* <p> |
| 32 | 32 |
* User is able to create either Framebuffers from objects already constructed outside |
| 33 | 33 |
* of the library (the first constructor; primary use case: the screen) or an offscreen |
| 34 |
* FBOs (used by the DistortedTree, but also can be used by external users of the library)
|
|
| 34 |
* FBOs.
|
|
| 35 | 35 |
* <p> |
| 36 |
* Also, keep all objects created in a static LinkedList. The point: we need to be able to mark
|
|
| 36 |
* Keep all objects created in a static LinkedList. The point: we need to be able to mark
|
|
| 37 | 37 |
* Framebuffers for deletion, and delete all marked objects later at a convenient time (that's |
| 38 | 38 |
* because we can only delete from a thread that holds the OpenGL context so here we provide a |
| 39 | 39 |
* framework where one is able to mark for deletion at any time and actual deletion takes place |
| src/main/java/org/distorted/library/DistortedTexture.java | ||
|---|---|---|
| 28 | 28 |
import java.util.LinkedList; |
| 29 | 29 |
|
| 30 | 30 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 31 |
|
|
| 31 |
/** |
|
| 32 |
* Class which represents a OpenGL Texture object. |
|
| 33 |
* <p> |
|
| 34 |
* Create a Texture of arbitrary size and feed some pixels to it via the setTexture() method. |
|
| 35 |
* <p> |
|
| 36 |
* Keep all objects created in a static LinkedList. The point: we need to be able to mark |
|
| 37 |
* Textures for deletion, and delete all marked objects later at a convenient time (that's |
|
| 38 |
* because we can only delete from a thread that holds the OpenGL context so here we provide a |
|
| 39 |
* framework where one is able to mark for deletion at any time and actual deletion takes place |
|
| 40 |
* on the next render). |
|
| 41 |
*/ |
|
| 32 | 42 |
public class DistortedTexture |
| 33 | 43 |
{
|
| 34 | 44 |
private static boolean mListMarked = false; |
| src/main/java/org/distorted/library/GridCubes.java | ||
|---|---|---|
| 24 | 24 |
import java.util.ArrayList; |
| 25 | 25 |
|
| 26 | 26 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 27 |
|
|
| 27 |
/** |
|
| 28 |
* Create a 3D grid composed of Cubes. |
|
| 29 |
* <p> |
|
| 30 |
* Any subset of a MxNx1 cuboid is possible. |
|
| 31 |
*/ |
|
| 28 | 32 |
public class GridCubes extends GridObject |
| 29 | 33 |
{
|
| 30 | 34 |
private static final float R = 0.0f;//0.2f; |
| ... | ... | |
| 740 | 744 |
// PUBLIC API |
| 741 | 745 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 742 | 746 |
/** |
| 743 |
* Creates the underlying grid of vertices, normals, texture coords and colors.
|
|
| 747 |
* Creates the underlying grid of vertices, normals, texture coords. |
|
| 744 | 748 |
* |
| 745 | 749 |
* @param cols Integer helping to parse the next parameter. |
| 746 | 750 |
* @param desc String describing the subset of a MxNx1 cuboid that we want to create. |
| src/main/java/org/distorted/library/GridFlat.java | ||
|---|---|---|
| 23 | 23 |
import java.nio.ByteOrder; |
| 24 | 24 |
|
| 25 | 25 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 26 |
|
|
| 26 |
/** |
|
| 27 |
* Create a flat, rectangular Grid. |
|
| 28 |
* <p> |
|
| 29 |
* Perfect if you just want to display a flat Texture. If you are not planning to apply any VERTEX |
|
| 30 |
* effects to it, use GridFlat(1,1), i.e. a Quad. Otherwise, create more vertices for more realistic effects! |
|
| 31 |
*/ |
|
| 27 | 32 |
public class GridFlat extends GridObject |
| 28 | 33 |
{
|
| 29 | 34 |
private int mCols, mRows; |
| src/main/java/org/distorted/library/GridObject.java | ||
|---|---|---|
| 24 | 24 |
import android.opengl.GLES20; |
| 25 | 25 |
|
| 26 | 26 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 27 |
|
|
| 27 |
/** |
|
| 28 |
* Abstract class which represents a Grid, ie 3 arrays of Vertex attributes: 1) positions |
|
| 29 |
* 2) normals 3) texture coordinates. |
|
| 30 |
* <p> |
|
| 31 |
* If you want to render to a particular shape, extend from here, construct the three FloatBuffers and |
|
| 32 |
* provide correct dataLength, i.e. the number of vertices. |
|
| 33 |
*/ |
|
| 28 | 34 |
public abstract class GridObject |
| 29 | 35 |
{
|
| 30 | 36 |
protected static final int BYTES_PER_FLOAT = 4; // |
Also available in: Unified diff
Javadoc