GVRSceneObject makeBalloon(GVRContext context) { GVRSceneObject balloon = new GVRSceneObject(context, mSphereMesh); GVRRenderData rdata = balloon.getRenderData(); GVRSphereCollider collider = new GVRSphereCollider(context); Random rand = new Random(); int mtlIndex = rand.nextInt(mMaterials.size() - 1); balloon.setName("balloon"); rdata.setAlphaBlend(true); rdata.setMaterial(mMaterials.get(mtlIndex)); rdata.setRenderingOrder(GVRRenderingOrder.TRANSPARENT); collider.setRadius(0.8f); balloon.attachComponent(collider); return balloon; }
GVRSceneObject makeBalloon(GVRContext context) { GVRSceneObject balloon = new GVRSceneObject(context, mSphereMesh); GVRRenderData rdata = balloon.getRenderData(); GVRSphereCollider collider = new GVRSphereCollider(context); Random rand = new Random(); int mtlIndex = rand.nextInt(mMaterials.size() - 1); balloon.setName("balloon"); rdata.setAlphaBlend(true); rdata.setMaterial(mMaterials.get(mtlIndex)); rdata.setRenderingOrder(GVRRenderingOrder.TRANSPARENT); collider.setRadius(0.8f); balloon.attachComponent(collider); return balloon; }
GVRSceneObject makeBalloon(GVRContext context) { GVRSceneObject balloon = new GVRSceneObject(context, mSphereMesh); GVRRenderData rdata = balloon.getRenderData(); GVRSphereCollider collider = new GVRSphereCollider(context); Random rand = new Random(); int mtlIndex = rand.nextInt(mMaterials.size() - 1); balloon.setName("balloon"); rdata.setAlphaBlend(true); rdata.setMaterial(mMaterials.get(mtlIndex)); rdata.setRenderingOrder(GVRRenderingOrder.TRANSPARENT); collider.setRadius(0.8f); balloon.attachComponent(collider); return balloon; }
private GVRSceneObject getAsset(String[] meshes, String[] textures, boolean useMesh) { GVRSceneObject root = new GVRSceneObject(gvrContext); GVRMeshCollider collider = new GVRMeshCollider(gvrContext, true); collider.setMesh(meshMap.get(meshes[0])); root.setName(meshes[0]); root.attachCollider(collider); for (int state = SelectableBehavior.ObjectState.DEFAULT.ordinal(); state <= SelectableBehavior.ObjectState.CLICKED.ordinal(); ++state) { GVRMesh mesh = meshMap.get(meshes[state]); GVRSceneObject child = new GVRSceneObject(gvrContext, mesh); child.getRenderData().setMaterial(materialMap.get(textures[state])); child.setName(meshes[state]); root.addChildObject(child); } return root; }
public SelectionHandler(GVRContext ctx, IMixedReality mr) { super(); mMixedReality = mr; mSelectionLight = new GVRSceneObject(ctx); mSelectionLight.setName("SelectionLight"); GVRPointLight light = new GVRPointLight(ctx); light.setSpecularIntensity(0.1f, 0.1f, 0.1f, 0.1f); mSelectionLight.attachComponent(light); mSelectionLight.getTransform().setPositionZ(1.0f); }
public GVRDirectLight makeSceneLight(GVRContext ctx) { GVRSceneObject lightOwner = new GVRSceneObject(ctx); GVRDirectLight light = new GVRDirectLight(ctx); lightOwner.setName("SceneLight"); light.setAmbientIntensity(0.2f, 0.2f, 0.2f, 1); light.setDiffuseIntensity(0.2f, 0.2f, 0.2f, 1); light.setSpecularIntensity(0.2f, 0.2f, 0.2f, 1); lightOwner.attachComponent(light); return light; }
private void addCube(GVRScene scene, float size, float x, float y, float z) throws IOException { cubeObject = new GVRCubeSceneObject(mGVRContext, true, createCustomMaterial(mGVRContext, "cube.jpg")); cubeObject.getTransform().setPosition(x, y, z); cubeObject.getTransform().setScale(size, size, size); cubeObject.setName("cube"); scene.addSceneObject(cubeObject); }
private void addSphere(GVRScene scene, float radius, float x, float y, float z) throws IOException { GVRSceneObject sphereObject = new GVRSphereSceneObject(mGVRContext, true, createCustomMaterial(mGVRContext, "sphere.jpg")); sphereObject.setName("sphere"); sphereObject.getTransform().setPosition(x, y, z); sphereObject.getTransform().setScale(radius, radius, radius); scene.addSceneObject(sphereObject); }
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; }
private void getSpheres(GVRContext gvrContext, int array) { listFlag = new ArrayList<GVRSceneObject>(); Resources res = gvrContext.getContext().getResources(); TypedArray spheres = res.obtainTypedArray(array); for (int i = 0; i < spheres.length(); i++) { int type = spheres.getResourceId(i, -1); TypedArray sphere = res.obtainTypedArray(type); SphereFlag objectSphere = new SphereFlag(gvrContext, sphere); Vector3D parentPosition = objectSphere.getInitialPositionVector(); GVRSceneObject parent = new GVRSceneObject(gvrContext, new GVRAndroidResource( gvrContext, R.raw.hit_area_half), new GVRAndroidResource(gvrContext, R.raw.empty)); parent.setName(SceneObjectNames.SPHERE_FLAG_PARENT); parent.getTransform().setPosition((float) parentPosition.getX(), (float) parentPosition.getY(), (float) parentPosition.getZ()); parent.addChildObject(objectSphere); listFlag.add(parent); } }
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; }
public GamepadVirtual(GVRContext gvrContext) { super(gvrContext); res = gvrContext.getContext().getResources(); GVRMesh gamepadMesh = gvrContext.getAssetLoader().loadMesh(new GVRAndroidResource( gvrContext, R.raw.gamepad_dev)); //Log.e("Texture:","in gamepad constructor"); gamepadTexture = gvrContext.getAssetLoader().loadTexture(new GVRAndroidResource( gvrContext, R.drawable.gamepad_diffuse)); GVRSceneObject sceneObject = new GVRSceneObject(getGVRContext(), gamepadMesh, gamepadTexture); sceneObject.setName("gamepad"); addChildObject(sceneObject); sceneObject.getRenderData().setRenderingOrder(RenderingOrder.ORDER_RENDERING_GAMEPAD); attachButtons(); }
private void createSkybox() { GVRMesh mesh = mGVRContext.getAssetLoader().loadMesh( new GVRAndroidResource(mGVRContext, R.raw.skybox)); GVRTexture texture = mGVRContext.getAssetLoader().loadTexture( new GVRAndroidResource(mGVRContext, R.drawable.skybox)); skybox = new GVRSceneObject(mGVRContext, mesh, texture); skybox.getTransform().setScale(SKYBOX_SIZE, SKYBOX_SIZE, SKYBOX_SIZE); skybox.getRenderData().setRenderingOrder(RenderingOrder.SKYBOX); skybox.setName("skybox"); scene.addSceneObject(skybox); }
private GVRSceneObject createDirectLight(GVRContext context) { GVRSceneObject lightNode = new GVRSceneObject(context); GVRDirectLight light = new GVRDirectLight(context); light.setCastShadow(true); lightNode.attachLight(light); light.setShadowRange(1.0f, 150.0f); lightNode.getTransform().setRotationByAxis(-70, 1, 0, 0); light.setAmbientIntensity(0.3f, 0.3f, 0.3f, 1); light.setDiffuseIntensity(1, 1, 1, 1); light.setSpecularIntensity(1, 1, 1, 1); light.setShadowRange(1f, 150.0f); lightNode.setName("DirectLight"); return lightNode; }
private void createSun() { GVRMesh mesh = mGVRContext.createQuad(SUN_SIZE, SUN_SIZE); GVRTexture texture = mGVRContext.getAssetLoader().loadTexture( new GVRAndroidResource(mGVRContext, R.drawable.sun)); sun = new GVRSceneObject(mGVRContext, mesh, texture); sun.getTransform().setRotationByAxis(90, 1, 0, 0); sun.getTransform().setPositionY(SUN_Y_POSITION); sun.getTransform().rotateByAxisWithPivot(SUN_ANGLE_POSITION, 1, 0, 0, 0, 0, 0); sun.getRenderData().setRenderingOrder(RenderingOrder.SUN); sun.setName("sun"); scene.addSceneObject(sun); }
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; }
private GVRSceneObject createSpotLight(GVRContext context) { GVRSceneObject lightNode = new GVRSceneObject(context); GVRSpotLight light = new GVRSpotLight(context); light.setCastShadow(true); lightNode.attachLight(light); lightNode.getTransform().setRotationByAxis(-35, 1, 0, 0); lightNode.getTransform().setPosition(-4, 7, 10); light.setAmbientIntensity(0.3f, 0.3f, 0.3f, 1); light.setDiffuseIntensity(1, 1, 1, 1); light.setSpecularIntensity(1, 1, 1, 1); light.setInnerConeAngle(40); light.setOuterConeAngle(55); light.setShadowRange(0.2f, 100.0f); lightNode.setName("SpotLight"); return lightNode; }
private void createFence() { GVRMesh mesh = mGVRContext.getAssetLoader().loadMesh( new GVRAndroidResource(mGVRContext, R.raw.fence)); GVRTexture texture = mGVRContext.getAssetLoader().loadTexture( new GVRAndroidResource(mGVRContext, R.drawable.atlas01)); fence = new GVRSceneObject(mGVRContext, mesh, texture); fence.getTransform().setPositionY(GROUND_Y_POSITION); fence.getTransform().setScale(SCENE_SIZE, SCENE_SIZE, SCENE_SIZE); fence.getRenderData().setCullFace(GVRCullFaceEnum.None); fence.getRenderData().setRenderingOrder(RenderingOrder.FENCE); fence.setName("fence"); scene.addSceneObject(fence); }
private GVRSceneObject createBackdrop(GVRContext context) throws IOException { GVRTexture tex = context.getAssetLoader().loadTexture(new GVRAndroidResource(mGVRContext, "floor.jpg")); GVRSceneObject backdrop = new GVRSceneObject(context, 100.0f, 100.0f, tex); GVRRenderData rdata = backdrop.getRenderData(); GVRMaterial material = new GVRMaterial(context,new GVRShaderId(GVRPhongShader.class)); material.setVec4("diffuse_color", 0.8f, 0.8f, 0.8f, 1.0f); material.setVec4("ambient_color", 0.3f, 0.3f, 0.3f, 1.0f); material.setVec4("specular_color", 1.0f, 1.0f, 1.0f, 1.0f); material.setVec4("emissive_color", 0.0f, 0.0f, 0.0f, 0.0f); material.setFloat("specular_exponent", 10.0f); material.setTexture("diffuseTexture", tex); backdrop.setName("Backdrop"); rdata.setMaterial(material); return backdrop; }
private GVRSceneObject createBackdrop(GVRContext context) { GVRTexture tex = context.getAssetLoader().loadTexture(new GVRAndroidResource(mGVRContext, R.drawable.gearvrflogo)); GVRSceneObject backdrop = new GVRSceneObject(context, 10.0f, 4.0f, tex); GVRRenderData rdata = backdrop.getRenderData(); GVRMaterial material = new GVRMaterial(context, GVRMaterial.GVRShaderType.Phong.ID); material.setVec4("diffuse_color", 0.8f, 0.8f, 0.8f, 1.0f); material.setVec4("ambient_color", 0.3f, 0.3f, 0.3f, 1.0f); material.setVec4("specular_color", 1.0f, 1.0f, 1.0f, 1.0f); material.setVec4("emissive_color", 0.0f, 0.0f, 0.0f, 0.0f); material.setFloat("specular_exponent", 10.0f); material.setTexture("diffuseTexture", tex); backdrop.setName("Backdrop"); backdrop.getTransform().setPositionZ(-2.0f); rdata.setMaterial(material); return backdrop; }