Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 815aaebb authored by Jason Sams's avatar Jason Sams
Browse files

Fix line drawing in RS example.

Change-Id: I5a83ac8d943488d19d83af1bd20a15a3c02999da
parent a1b13ed0
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -30,7 +30,8 @@ public class BallsRS {
    private RenderScriptGL mRS;
    private ScriptC_balls mScript;
    private ScriptC_ball_physics mPhysicsScript;
    private ProgramFragment mPF;
    private ProgramFragment mPFLines;
    private ProgramFragment mPFPoints;
    private ProgramVertex mPV;
    private ProgramRaster mPR;
    private ProgramStore mPS;
@@ -89,10 +90,13 @@ public class BallsRS {
        pfb.setTexture(ProgramFragment.Builder.EnvMode.MODULATE,
                           ProgramFragment.Builder.Format.RGBA, 0);
        pfb.setVaryingColor(true);
        mPF = pfb.create();
        rs.contextBindProgramFragment(mPF);
        mPFPoints = pfb.create();

        mPF.bindTexture(loadTexture(R.drawable.flares), 0);
        pfb = new ProgramFragment.Builder(rs);
        pfb.setVaryingColor(true);
        mPFLines = pfb.create();

        mPFPoints.bindTexture(loadTexture(R.drawable.flares), 0);

        mPoints = new ScriptField_Point(mRS, PART_COUNT);
        mArcs = new ScriptField_Point(mRS, PART_COUNT * 2);
@@ -118,7 +122,8 @@ public class BallsRS {
        mScript.bind_balls1(new ScriptField_Ball(mRS, PART_COUNT));
        mScript.bind_balls2(new ScriptField_Ball(mRS, PART_COUNT));

        mScript.set_gPF(mPF);
        mScript.set_gPFLines(mPFLines);
        mScript.set_gPFPoints(mPFPoints);
        createProgramVertex();
        createProgramRaster();

+4 −2
Original line number Diff line number Diff line
@@ -6,7 +6,8 @@

#pragma stateFragment(parent)

rs_program_fragment gPF;
rs_program_fragment gPFPoints;
rs_program_fragment gPFLines;
rs_program_vertex gPV;
rs_program_raster gPR;
rs_program_store gPS;
@@ -93,11 +94,12 @@ int root() {
    }

    frame++;
    rsgBindProgramFragment(gPF);
    rsgBindProgramFragment(gPFLines);
    rsgBindProgramVertex(gPV);
    rsgBindProgramRaster(gPR);
    rsgBindProgramStore(gPS);
    rsgDrawMesh(arcMesh, 0, 0, arcIdx);
    rsgBindProgramFragment(gPFPoints);
    rsgDrawMesh(partMesh);
    rsClearObject(&bc.ain);
    rsClearObject(&bc.aout);