Loading libs/rs/java/Fountain/res/raw/fountain.rs +4 −8 Original line number Original line Diff line number Diff line Loading @@ -8,7 +8,6 @@ #include "../../../../scriptc/rs_graphics.rsh" #include "../../../../scriptc/rs_graphics.rsh" static int newPart = 0; static int newPart = 0; static float4 partColor; static float4 partColor; rs_mesh partMesh; rs_mesh partMesh; Loading @@ -19,13 +18,13 @@ typedef struct __attribute__((packed, aligned(4))) Point { } Point_t; } Point_t; Point_t *point; Point_t *point; #pragma rs export_var(point, partColor, partMesh) #pragma rs export_var(point, partMesh) #pragma rs export_func(addParticles) int root() { int root() { rsgClearColor(0.f, 0.f, 0.f, 1.f); rsgClearColor(0.f, 0.f, 0.f, 1.f); float height = rsgGetHeight(); const float height = rsgGetHeight(); rs_allocation alloc = rsGetAllocation(point); const int size = rsAllocationGetDimX(rsGetAllocation(point)); int size = rsAllocationGetDimX(alloc); Point_t * p = point; Point_t * p = point; for (int ct=0; ct < size; ct++) { for (int ct=0; ct < size; ct++) { Loading @@ -37,13 +36,10 @@ int root() { p++; p++; } } rsgUploadToBufferObject(alloc); rsgDrawSimpleMesh(partMesh); rsgDrawSimpleMesh(partMesh); return 1; return 1; } } #pragma rs export_func(addParticles) void addParticles(int rate, float x, float y, int newColor) void addParticles(int rate, float x, float y, int newColor) { { if (newColor) { if (newColor) { Loading libs/rs/java/Fountain/res/raw/fountain_bc.bc −76 B (2.85 KiB) File changed.No diff preview for this file type. View original file View changed file libs/rs/java/Fountain/src/com/android/fountain/ScriptC_Fountain.java +2 −15 Original line number Original line Diff line number Diff line Loading @@ -26,20 +26,7 @@ public class ScriptC_Fountain extends ScriptC { super(rs, resources, id, isRoot); super(rs, resources, id, isRoot); } } private final static int mExportVarIdx_partColor = 0; private final static int mExportVarIdx_partMesh = 0; private Float4 mExportVar_partColor; public void set_partColor(Float4 v) { mExportVar_partColor = v; FieldPacker fp = new FieldPacker(16); fp.addF32(v); setVar(mExportVarIdx_partColor, fp); } public Float4 get_partColor() { return mExportVar_partColor; } private final static int mExportVarIdx_partMesh = 1; private SimpleMesh mExportVar_partMesh; private SimpleMesh mExportVar_partMesh; public void set_partMesh(SimpleMesh v) { public void set_partMesh(SimpleMesh v) { mExportVar_partMesh = v; mExportVar_partMesh = v; Loading @@ -50,7 +37,7 @@ public class ScriptC_Fountain extends ScriptC { return mExportVar_partMesh; return mExportVar_partMesh; } } private final static int mExportVarIdx_point = 2; private final static int mExportVarIdx_point = 1; private ScriptField_Point mExportVar_point; private ScriptField_Point mExportVar_point; public void bind_point(ScriptField_Point v) { public void bind_point(ScriptField_Point v) { mExportVar_point = v; mExportVar_point = v; Loading libs/rs/rsAllocation.h +3 −0 Original line number Original line Diff line number Diff line Loading @@ -78,6 +78,9 @@ public: virtual void uploadCheck(const Context *rsc); virtual void uploadCheck(const Context *rsc); bool getIsTexture() const {return mIsTexture;} bool getIsBufferObject() const {return mIsVertexBuffer;} protected: protected: void sendDirty() const; void sendDirty() const; Loading libs/rs/rsSimpleMesh.cpp +5 −1 Original line number Original line Diff line number Diff line Loading @@ -70,7 +70,11 @@ void SimpleMesh::renderRange(Context *rsc, uint32_t start, uint32_t len) const VertexArray va; VertexArray va; for (uint32_t ct=0; ct < mVertexTypeCount; ct++) { for (uint32_t ct=0; ct < mVertexTypeCount; ct++) { mVertexBuffers[ct]->uploadCheck(rsc); mVertexBuffers[ct]->uploadCheck(rsc); if (mVertexBuffers[ct]->getIsBufferObject()) { va.setActiveBuffer(mVertexBuffers[ct]->getBufferObjectID()); va.setActiveBuffer(mVertexBuffers[ct]->getBufferObjectID()); } else { va.setActiveBuffer(mVertexBuffers[ct]->getPtr()); } mVertexTypes[ct]->enableGLVertexBuffer(&va); mVertexTypes[ct]->enableGLVertexBuffer(&va); } } va.setupGL2(rsc, &rsc->mStateVertexArray, &rsc->mShaderCache); va.setupGL2(rsc, &rsc->mStateVertexArray, &rsc->mShaderCache); Loading Loading
libs/rs/java/Fountain/res/raw/fountain.rs +4 −8 Original line number Original line Diff line number Diff line Loading @@ -8,7 +8,6 @@ #include "../../../../scriptc/rs_graphics.rsh" #include "../../../../scriptc/rs_graphics.rsh" static int newPart = 0; static int newPart = 0; static float4 partColor; static float4 partColor; rs_mesh partMesh; rs_mesh partMesh; Loading @@ -19,13 +18,13 @@ typedef struct __attribute__((packed, aligned(4))) Point { } Point_t; } Point_t; Point_t *point; Point_t *point; #pragma rs export_var(point, partColor, partMesh) #pragma rs export_var(point, partMesh) #pragma rs export_func(addParticles) int root() { int root() { rsgClearColor(0.f, 0.f, 0.f, 1.f); rsgClearColor(0.f, 0.f, 0.f, 1.f); float height = rsgGetHeight(); const float height = rsgGetHeight(); rs_allocation alloc = rsGetAllocation(point); const int size = rsAllocationGetDimX(rsGetAllocation(point)); int size = rsAllocationGetDimX(alloc); Point_t * p = point; Point_t * p = point; for (int ct=0; ct < size; ct++) { for (int ct=0; ct < size; ct++) { Loading @@ -37,13 +36,10 @@ int root() { p++; p++; } } rsgUploadToBufferObject(alloc); rsgDrawSimpleMesh(partMesh); rsgDrawSimpleMesh(partMesh); return 1; return 1; } } #pragma rs export_func(addParticles) void addParticles(int rate, float x, float y, int newColor) void addParticles(int rate, float x, float y, int newColor) { { if (newColor) { if (newColor) { Loading
libs/rs/java/Fountain/res/raw/fountain_bc.bc −76 B (2.85 KiB) File changed.No diff preview for this file type. View original file View changed file
libs/rs/java/Fountain/src/com/android/fountain/ScriptC_Fountain.java +2 −15 Original line number Original line Diff line number Diff line Loading @@ -26,20 +26,7 @@ public class ScriptC_Fountain extends ScriptC { super(rs, resources, id, isRoot); super(rs, resources, id, isRoot); } } private final static int mExportVarIdx_partColor = 0; private final static int mExportVarIdx_partMesh = 0; private Float4 mExportVar_partColor; public void set_partColor(Float4 v) { mExportVar_partColor = v; FieldPacker fp = new FieldPacker(16); fp.addF32(v); setVar(mExportVarIdx_partColor, fp); } public Float4 get_partColor() { return mExportVar_partColor; } private final static int mExportVarIdx_partMesh = 1; private SimpleMesh mExportVar_partMesh; private SimpleMesh mExportVar_partMesh; public void set_partMesh(SimpleMesh v) { public void set_partMesh(SimpleMesh v) { mExportVar_partMesh = v; mExportVar_partMesh = v; Loading @@ -50,7 +37,7 @@ public class ScriptC_Fountain extends ScriptC { return mExportVar_partMesh; return mExportVar_partMesh; } } private final static int mExportVarIdx_point = 2; private final static int mExportVarIdx_point = 1; private ScriptField_Point mExportVar_point; private ScriptField_Point mExportVar_point; public void bind_point(ScriptField_Point v) { public void bind_point(ScriptField_Point v) { mExportVar_point = v; mExportVar_point = v; Loading
libs/rs/rsAllocation.h +3 −0 Original line number Original line Diff line number Diff line Loading @@ -78,6 +78,9 @@ public: virtual void uploadCheck(const Context *rsc); virtual void uploadCheck(const Context *rsc); bool getIsTexture() const {return mIsTexture;} bool getIsBufferObject() const {return mIsVertexBuffer;} protected: protected: void sendDirty() const; void sendDirty() const; Loading
libs/rs/rsSimpleMesh.cpp +5 −1 Original line number Original line Diff line number Diff line Loading @@ -70,7 +70,11 @@ void SimpleMesh::renderRange(Context *rsc, uint32_t start, uint32_t len) const VertexArray va; VertexArray va; for (uint32_t ct=0; ct < mVertexTypeCount; ct++) { for (uint32_t ct=0; ct < mVertexTypeCount; ct++) { mVertexBuffers[ct]->uploadCheck(rsc); mVertexBuffers[ct]->uploadCheck(rsc); if (mVertexBuffers[ct]->getIsBufferObject()) { va.setActiveBuffer(mVertexBuffers[ct]->getBufferObjectID()); va.setActiveBuffer(mVertexBuffers[ct]->getBufferObjectID()); } else { va.setActiveBuffer(mVertexBuffers[ct]->getPtr()); } mVertexTypes[ct]->enableGLVertexBuffer(&va); mVertexTypes[ct]->enableGLVertexBuffer(&va); } } va.setupGL2(rsc, &rsc->mStateVertexArray, &rsc->mShaderCache); va.setupGL2(rsc, &rsc->mStateVertexArray, &rsc->mShaderCache); Loading