Begin adding mesh
diff --git a/libs/rs/RenderScript.h b/libs/rs/RenderScript.h
index 734fba7..5f551df 100644
--- a/libs/rs/RenderScript.h
+++ b/libs/rs/RenderScript.h
@@ -173,6 +173,14 @@
RS_TEX_ENV_MODE_DECAL
};
+enum RsPrimitive {
+ RS_PRIMITIVE_POINT,
+ RS_PRIMITIVE_LINE,
+ RS_PRIMITIVE_LINE_STRIP,
+ RS_PRIMITIVE_TRIANGLE,
+ RS_PRIMITIVE_TRIANGLE_STRIP,
+ RS_PRIMITIVE_TRIANGLE_FAN
+};
#include "rsgApiFuncDecl.h"
diff --git a/libs/rs/java/Film/res/raw/filmstrip.c b/libs/rs/java/Film/res/raw/filmstrip.c
index a3b3d90..1687a31 100644
--- a/libs/rs/java/Film/res/raw/filmstrip.c
+++ b/libs/rs/java/Film/res/raw/filmstrip.c
@@ -31,6 +31,10 @@
int trans; // float
int rot; // float
int x;
+ float focusPos; // float
+ int focusID;
+ int lastFocusID;
+ int imgCount;
float_2 = intToFloat(2);
float_1 = intToFloat(1);
@@ -58,15 +62,17 @@
//int imgId = 0;
-/*
- contextBindProgramFragmentStore(env->fsImages);
- contextBindProgramFragment(env->fpImages);
+ contextBindProgramFragmentStore(NAMED_PFImages);
+ contextBindProgramFragment(NAMED_PFSImages);
+
+ //focusPos = loadF(1, 2);
+ //focusID = 0;
+ //lastFocusID = loadI32(2, 0);
+ //imgCount = 13;
+
+ /*
disable(GL_LIGHTING);
- float focusPos = loadEnvF(1, 2);
- int focusID = 0;
- int lastFocusID = loadEnvI32(2, 0);
- int imgCount = 13;
if (trans > (-.3)) {
focusID = -1.0 - focusPos;
diff --git a/libs/rs/rsContext.h b/libs/rs/rsContext.h
index d98bfd9..f555090 100644
--- a/libs/rs/rsContext.h
+++ b/libs/rs/rsContext.h
@@ -21,6 +21,7 @@
#include "rsMatrix.h"
#include "rsAllocation.h"
#include "rsTriangleMesh.h"
+#include "rsMesh.h"
#include "rsDevice.h"
#include "rsScriptC.h"
#include "rsAllocation.h"
diff --git a/libs/rs/rsMesh.cpp b/libs/rs/rsMesh.cpp
new file mode 100644
index 0000000..6eb95fc
--- /dev/null
+++ b/libs/rs/rsMesh.cpp
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "rsContext.h"
+
+using namespace android;
+using namespace android::renderscript;
+
+#include <GLES/gl.h>
+#include <GLES/glext.h>
+
+Mesh::Mesh()
+{
+ mSources = NULL;
+ mPrimitives = NULL;
+ mPrimitiveCount = 0;
+}
+
+Mesh::~Mesh()
+{
+}
+
+
+
+MeshContext::MeshContext()
+{
+}
+
+MeshContext::~MeshContext()
+{
+}
+
diff --git a/libs/rs/rsMesh.h b/libs/rs/rsMesh.h
new file mode 100644
index 0000000..c6d3bc9
--- /dev/null
+++ b/libs/rs/rsMesh.h
@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ANDROID_RS_MESH_H
+#define ANDROID_RS_MESH_H
+
+
+#include "RenderScript.h"
+
+// ---------------------------------------------------------------------------
+namespace android {
+namespace renderscript {
+
+
+// An element is a group of Components that occupies one cell in a structure.
+class Mesh : public ObjectBase
+{
+public:
+ Mesh();
+ ~Mesh();
+
+ struct VertexSource_t
+ {
+ const Element * mVertexElement;
+ void * mVertexData;
+ size_t mVertexDataSize;
+
+ size_t mOffsetCoord;
+ size_t mOffsetTex;
+ size_t mOffsetNorm;
+
+ size_t mSizeCoord;
+ size_t mSizeTex;
+ size_t mSizeNorm;
+
+ uint32_t mBufferObject;
+ };
+
+ struct Primitive_t
+ {
+ RsPrimitive mType;
+ const Element * mIndexElement;
+ void * mVertexData;
+ size_t mIndexDataSize;
+
+ uint32_t mBufferObject;
+ };
+
+ VertexSource_t * mSources;
+ Primitive_t * mPrimitives;
+ uint32_t mPrimitiveCount;
+
+ void analyzeElement();
+protected:
+};
+
+class MeshContext
+{
+public:
+ MeshContext();
+ ~MeshContext();
+
+};
+
+
+}
+}
+#endif //ANDROID_RS_TRIANGLE_MESH_H
+
+