Merge change 5983
* changes: Begin adding mesh
This commit is contained in:
@@ -173,6 +173,14 @@ enum RsTexEnvMode {
|
||||
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"
|
||||
|
||||
@@ -31,6 +31,10 @@ int main(int index)
|
||||
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 main(int index)
|
||||
|
||||
//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;
|
||||
|
||||
@@ -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"
|
||||
|
||||
45
libs/rs/rsMesh.cpp
Normal file
45
libs/rs/rsMesh.cpp
Normal file
@@ -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()
|
||||
{
|
||||
}
|
||||
|
||||
83
libs/rs/rsMesh.h
Normal file
83
libs/rs/rsMesh.h
Normal file
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user