ArrayList<GVRMaterial> makeMaterials(GVRContext ctx) { float[][] colors = new float[][] { { 1.0f, 0.0f, 0.0f, 0.8f }, { 0.0f, 1.0f, 0.0f, 0.8f }, { 0.0f, 0.0f, 1.0f, 0.8f }, { 1.0f, 0.0f, 1.0f, 0.8f }, { 1.0f, 1.0f, 0.0f, 0.8f }, { 0.0f, 1.0f, 1.0f, 0.8f } }; ArrayList<GVRMaterial> materials = new ArrayList<GVRMaterial>(); for (int i = 0; i < 6; ++i) { GVRMaterial mtl = new GVRMaterial(ctx, GVRMaterial.GVRShaderType.Phong.ID); mtl.setDiffuseColor(colors[i][0], colors[i][1], colors[i][2], colors[i][3]); materials.add(mtl); } return materials; }
ArrayList<GVRMaterial> makeMaterials(GVRContext ctx) { float[][] colors = new float[][] { { 1.0f, 0.0f, 0.0f, 0.8f }, { 0.0f, 1.0f, 0.0f, 0.8f }, { 0.0f, 0.0f, 1.0f, 0.8f }, { 1.0f, 0.0f, 1.0f, 0.8f }, { 1.0f, 1.0f, 0.0f, 0.8f }, { 0.0f, 1.0f, 1.0f, 0.8f } }; ArrayList<GVRMaterial> materials = new ArrayList<GVRMaterial>(); for (int i = 0; i < 6; ++i) { GVRMaterial mtl = new GVRMaterial(ctx, GVRMaterial.GVRShaderType.Phong.ID); mtl.setDiffuseColor(colors[i][0], colors[i][1], colors[i][2], colors[i][3]); materials.add(mtl); } return materials; }
ArrayList<GVRMaterial> makeMaterials(GVRContext ctx) { float[][] colors = new float[][] { { 1.0f, 0.0f, 0.0f, 0.8f }, { 0.0f, 1.0f, 0.0f, 0.8f }, { 0.0f, 0.0f, 1.0f, 0.8f }, { 1.0f, 0.0f, 1.0f, 0.8f }, { 1.0f, 1.0f, 0.0f, 0.8f }, { 0.0f, 1.0f, 1.0f, 0.8f } }; ArrayList<GVRMaterial> materials = new ArrayList<GVRMaterial>(); for (int i = 0; i < 6; ++i) { GVRMaterial mtl = new GVRMaterial(ctx, GVRMaterial.GVRShaderType.Phong.ID); mtl.setDiffuseColor(colors[i][0], colors[i][1], colors[i][2], colors[i][3]); materials.add(mtl); } return materials; }
public void onTouchEvent(MotionEvent event) { switch (event.getAction() & MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_DOWN: if (mPickHandler.PickedObject != null) { mPickHandler.PickedObject.getRenderData().getMaterial().setDiffuseColor(0, 0, 1, 1); } break; default: break; } }
public void onNoPick(GVRPicker picker) { if (PickedObject != null) { PickedObject.getRenderData().getMaterial().setDiffuseColor(1, 0, 0, 0.5f); } PickedObject = null; } public void onPick(GVRPicker picker)
public void onPick(GVRPicker picker) { GVRPickedObject picked = picker.getPicked()[0]; PickedObject = picked.hitObject; PickedObject.getRenderData().getMaterial().setDiffuseColor(1, 0, 1, 0.5f); }
@Override public boolean visit(GVRComponent comp) { GVRRenderData rd = (GVRRenderData) comp; GVRMaterial mtl = rd.getMaterial(); if (mtl.hasUniform("u_opacity")) { rd.getMaterial().setOpacity(0.0f); } else if (mtl.hasUniform("diffuse_color")) { float[] c = mtl.getDiffuseColor(); mtl.setDiffuseColor(c[0], c[1], c[2], 0.0f); } return true; } };
GVRSceneObject makeBalloon(GVRContext context) { GVRSceneObject sphere = new GVRSphereSceneObject(context, true); GVRRenderData rdata = sphere.getRenderData(); GVRMaterial mtl = new GVRMaterial(context, GVRMaterial.GVRShaderType.Phong.ID); mtl.setDiffuseColor(1.0f, 0.0f, 1.0f, 0.5f); sphere.setName("balloon"); rdata.setAlphaBlend(true); rdata.setMaterial(mtl); rdata.setRenderingOrder(GVRRenderingOrder.TRANSPARENT); sphere.getTransform().setPositionZ(-3.0f); return sphere; }
GVRSceneObject makeBalloon(GVRContext context) { GVRSceneObject sphere = new GVRSphereSceneObject(context, true); GVRRenderData rdata = sphere.getRenderData(); GVRMaterial mtl = new GVRMaterial(context, GVRMaterial.GVRShaderType.Phong.ID); GVRSphereCollider collider = new GVRSphereCollider(context); collider.setRadius(1.0f); sphere.attachComponent(collider); mtl.setDiffuseColor(1.0f, 0.0f, 1.0f, 0.5f); sphere.setName("balloon"); rdata.setAlphaBlend(true); rdata.setMaterial(mtl); rdata.setRenderingOrder(GVRRenderingOrder.TRANSPARENT); sphere.getTransform().setPositionZ(-3.0f); return sphere; }
public GVRSceneObject createPlane(GVRContext gvrContext) { GVRSceneObject plane = new GVRSceneObject(gvrContext); GVRMesh mesh = GVRMesh.createQuad(gvrContext, "float3 a_position", 1.0f, 1.0f); GVRMaterial mat = new GVRMaterial(gvrContext, GVRMaterial.GVRShaderType.Phong.ID); GVRSceneObject polygonObject = new GVRSceneObject(gvrContext, mesh, mat); Vector4f color = mColors[mPlaneIndex % mColors.length]; plane.setName("Plane" + mPlaneIndex); polygonObject.setName("PlaneGeometry" + mPlaneIndex); mPlaneIndex++; mat.setDiffuseColor(color.x, color.y, color.x, color.w); polygonObject.getRenderData().setAlphaBlend(true); polygonObject.getRenderData().disableLight(); polygonObject.getTransform().setRotationByAxis(-90, 1, 0, 0); plane.addChildObject(polygonObject); return plane; }
redMat.setDiffuseColor(1f, 0f, 0f, 1f); GVRSceneObject box1 = new GVRCubeSceneObject(gvrContext, true, redMat); box1.getTransform().setPosition(5f, 5f, 10f); whiteMat.setDiffuseColor(1f, 1f, 1f, 1f); GVRSceneObject box2 = new GVRCubeSceneObject(gvrContext, true, whiteMat); box2.getTransform().setPosition(5f, 10f, 10f); blueMat.setDiffuseColor(0f, 0f, 1f, 1f); GVRSceneObject box3 = new GVRCubeSceneObject(gvrContext, true, blueMat); box3.getTransform().setPosition(-5f, 10f, 10f); greenMat.setDiffuseColor(0f, 1f, 0f, 1f); GVRSceneObject box4 = new GVRCubeSceneObject(gvrContext, true, greenMat); box4.getTransform().setPosition(-10f, 10f, 10f); yellowMat.setDiffuseColor(1f, 1f, 0f, 1f); GVRSceneObject box5 = new GVRCubeSceneObject(gvrContext, true, yellowMat); box5.getTransform().setPosition(-4.5f, 5f, 10.5f); orangeMat.setDiffuseColor(0.7f, 0.3f, 0f, 1f); GVRSceneObject floor = new GVRSceneObject(gvrContext, 100f, 100f); floor.getTransform().setPosition(0f, -10f, 0f);
GVRMaterial green = new GVRMaterial(gvrContext, new GVRShaderId(GVRPhongShader.class)); GVRMaterial alphaRed = new GVRMaterial(gvrContext, new GVRShaderId(GVRPhongShader.class)); red.setDiffuseColor(1, 0, 0, 1); blue.setDiffuseColor(0, 0, 1, 1); green.setDiffuseColor(0, 1, 0, 1); alphaRed.setDiffuseColor(1, 0, 0, 0.5f);
public GVRSceneObject createQuadPlane(GVRContext gvrContext) { GVRSceneObject plane = new GVRSceneObject(gvrContext); GVRMesh mesh = GVRMesh.createQuad(gvrContext, "float3 a_position", 1.0f, 1.0f); GVRMaterial mat = new GVRMaterial(gvrContext, GVRMaterial.GVRShaderType.Phong.ID); GVRSceneObject polygonObject = new GVRSceneObject(gvrContext, mesh, mat); Vector4f color = mColors[mPlaneIndex % mColors.length]; plane.setName("Plane" + mPlaneIndex); polygonObject.setName("PlaneGeometry" + mPlaneIndex); mPlaneIndex++; mat.setDiffuseColor(color.x, color.y, color.x, color.w); polygonObject.getRenderData().disableLight(); polygonObject.getRenderData().setAlphaBlend(true); polygonObject.getRenderData().setRenderingOrder(GVRRenderData.GVRRenderingOrder.TRANSPARENT); polygonObject.getTransform().setRotationByAxis(-90, 1, 0, 0); plane.addChildObject(polygonObject); return plane; }
red.setDiffuseColor(1, 0, 0, 1); blue.setDiffuseColor(0, 0, 1, 1); cube.setName("cube"); sphere.setName("sphere");
GVRRenderData rd = new GVRRenderData(gvrContext); redMaterial.setDiffuseColor(1, 0, 0, 1); redMaterial.setLineWidth(4.0f); blueMaterial.setDiffuseColor(0, 0, 1, 0.5f); blueMaterial.setLineWidth(8.0f);