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

Commit c930e1f7 authored by Jason Sams's avatar Jason Sams Committed by Android (Google) Code Review
Browse files

Merge "Fix line drawing in RS example."

parents 7194a7ba 815aaebb
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);