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; }
@Override public void onStep() { GVRLightEstimate lightEstimate = mMixedReality.getLightEstimate(); if (lightEstimate != null) { float light = lightEstimate.getPixelIntensity() * 1.5f; mSceneLight.setAmbientIntensity(light, light, light, 1); mSceneLight.setDiffuseIntensity(light, light, light, 1); mSceneLight.setSpecularIntensity(light, light, light, 1); } }
GVRSceneObject makeEnvironment(GVRContext context) { GVRTexture tex = context.getAssetLoader().loadCubemapTexture(new GVRAndroidResource(context, R.raw.lycksele3)); GVRMaterial material = new GVRMaterial(context, GVRMaterial.GVRShaderType.Cubemap.ID); material.setMainTexture(tex); GVRSphereSceneObject environment = new GVRSphereSceneObject(context, 18, 36, false, material, 4, 4); environment.getTransform().setScale(20.0f, 20.0f, 20.0f); if (!GVRShader.isVulkanInstance()) { GVRDirectLight sunLight = new GVRDirectLight(context); sunLight.setAmbientIntensity(0.4f, 0.4f, 0.4f, 1.0f); sunLight.setDiffuseIntensity(0.6f, 0.6f, 0.6f, 1.0f); environment.attachComponent(sunLight); } return environment; }
void initScene(GVRContext gvrContext) { GVRScene mainScene = gvrContext.getMainScene(); // Camera and light settings were copied from Blender project available in 'extras' // directory mainScene.getMainCameraRig().getHeadTransform().setPosition(0f, 2.4f, 40f); mainScene.getMainCameraRig().setFarClippingDistance(100f); mainScene.getMainCameraRig().setNearClippingDistance(0.1f); GVRSceneObject sunObj = new GVRCubeSceneObject(gvrContext); sunObj.getTransform().setPosition(8f, 3.4f, 41.7f); sunObj.getTransform().setRotation(0.8683812142694567f, -0.3738122646181239f, -0.06100199997212902f, -0.32008938364834f); GVRDirectLight sun = new GVRDirectLight(gvrContext); sun.setDiffuseIntensity(1f, 1f, 1f, 1f); sun.setSpecularIntensity(1f, 1f, 1f, 1f); sunObj.attachComponent(sun); GVRSceneObject sun1Obj = new GVRCubeSceneObject(gvrContext); sun1Obj.getTransform().setPosition(-15f, -1.38f, -32f); sun1Obj.getTransform().setRotation(0.7071067811865476f, -0.7071067811865476f, 0.0f, 0.0f); GVRDirectLight sun1 = new GVRDirectLight(gvrContext); sun1.setDiffuseIntensity(1f, 1f, 1f, 1f); sun1.setSpecularIntensity(1f, 1f, 1f, 1f); sun1Obj.attachComponent(sun1); }
/** * Initialize the MixedReality extension and * provide it with listeners for plane detection * and anchor tracking. * * A headlight is put in the scene to illuminate * objects the camera is pointed at. */ @Override public void onInit(GVRContext gvrContext) { mGVRContext = gvrContext; mainScene = mGVRContext.getMainScene(); helper = new SampleHelper(); mTouchHandler = new DragHandler(); mVirtualObjects = new ArrayList<>(); mVirtObjCount = 0; mSceneLight = new GVRDirectLight(gvrContext); mainScene.getMainCameraRig().getHeadTransformObject().attachComponent(mSceneLight); mixedReality = new GVRMixedReality(mainScene); mixedReality.getEventReceiver().addListener(planeEventsListener); mixedReality.getEventReceiver().addListener(anchorEventsListener); mSelector = new SelectionHandler(gvrContext, mixedReality); mixedReality.resume(); }
GVRSceneObject makeEnvironment(GVRContext context) { GVRTexture tex = context.getAssetLoader().loadCubemapTexture(new GVRAndroidResource(context, R.raw.lycksele3)); GVRMaterial material = new GVRMaterial(context, GVRMaterial.GVRShaderType.Cubemap.ID); material.setMainTexture(tex); GVRSphereSceneObject environment = new GVRSphereSceneObject(context, 18, 36, false, material, 4, 4); environment.getTransform().setScale(20.0f, 20.0f, 20.0f); if (!GVRShader.isVulkanInstance()) { GVRDirectLight sunLight = new GVRDirectLight(context); sunLight.setAmbientIntensity(0.4f, 0.4f, 0.4f, 1.0f); sunLight.setDiffuseIntensity(0.6f, 0.6f, 0.6f, 1.0f); environment.attachComponent(sunLight); } return environment; }
/** * The mixed reality extension runs in the background and does * light estimation. Each frame the intensity of the ambient * lighting is adjusted based on that estimate. */ @Override public void onStep() { super.onStep(); GVRLightEstimate lightEstimate = mixedReality.getLightEstimate(); if (lightEstimate != null) { float light = lightEstimate.getPixelIntensity(); mSceneLight.setAmbientIntensity(light, light, light, 1); mSceneLight.setDiffuseIntensity(0.4f, 0.4f, 0.4f, 1); mSceneLight.setSpecularIntensity(0.2f, 0.2f, 0.2f, 1); } }
GVRDirectLight light = new GVRDirectLight(gvrContext);
public static GVRSceneObject createDirectLight(GVRContext context, float x, float y, float z) { GVRSceneObject lightObject = new GVRSceneObject(context); GVRDirectLight light = new GVRDirectLight(context); light.setCastShadow(true); float ambientIntensity = 0.1f; float diffuseIntensity = 1.0f; light.setAmbientIntensity(1.0f * ambientIntensity, 0.95f * ambientIntensity, 0.83f * ambientIntensity, 0.0f); light.setDiffuseIntensity(1.0f * diffuseIntensity, 0.95f * diffuseIntensity, 0.83f * diffuseIntensity, 0.0f); light.setSpecularIntensity(0.0f, 0.0f, 0.0f, 0.0f); lightObject.getTransform().setPosition(x, y, z); lightObject.attachLight(light); return lightObject; }
GVRSceneObject makeEnvironment(GVRContext context) { GVRTexture tex = context.getAssetLoader().loadCubemapTexture(new GVRAndroidResource(context, R.raw.lycksele3)); GVRMaterial material = new GVRMaterial(context, GVRMaterial.GVRShaderType.Cubemap.ID); material.setMainTexture(tex); GVRSphereSceneObject environment = new GVRSphereSceneObject(context, 18, 36, false, material, 4, 4); environment.getTransform().setScale(20.0f, 20.0f, 20.0f); if (!GVRShader.isVulkanInstance()) { GVRDirectLight sunLight = new GVRDirectLight(context); sunLight.setAmbientIntensity(0.4f, 0.4f, 0.4f, 1.0f); sunLight.setDiffuseIntensity(0.6f, 0.6f, 0.6f, 1.0f); environment.attachComponent(sunLight); } return environment; }
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; }
GVRSceneObject makeEnvironment(GVRContext context) { GVRTexture tex = context.getAssetLoader().loadCubemapTexture(new GVRAndroidResource(context, R.raw.lycksele3)); GVRMaterial material = new GVRMaterial(context, GVRMaterial.GVRShaderType.Cubemap.ID); material.setMainTexture(tex); GVRSphereSceneObject environment = new GVRSphereSceneObject(context, 18, 36, false, material, 4, 4); environment.getTransform().setScale(20.0f, 20.0f, 20.0f); if (!GVRShader.isVulkanInstance()) { GVRDirectLight sunLight = new GVRDirectLight(context); sunLight.setAmbientIntensity(0.4f, 0.4f, 0.4f, 1.0f); sunLight.setDiffuseIntensity(0.6f, 0.6f, 0.6f, 1.0f); environment.attachComponent(sunLight); } return environment; }
mScene = gvrContext.getMainScene(); GVRCameraRig rig = mScene.getMainCameraRig(); GVRDirectLight topLight = new GVRDirectLight(gvrContext); GVRDirectLight headLight = new GVRDirectLight(gvrContext); GVRSceneObject environment = null; headLight.setAmbientIntensity(0, 0, 0, 1f); headLight.setDiffuseIntensity(0.3f, 0.3f, 0.3f, 1f); headLight.setSpecularIntensity(0.3f, 0.3f, 0.3f, 1f); topLight.setSpecularIntensity(0.3f, 0.3f, 0.3f, 1f); topLight.setAmbientIntensity(0.3f, 0.3f, 0.3f, 1f); topLight.setDiffuseIntensity(0.5f, 0.5f, 0.5f, 1f); GVRSceneObject topLightObj = new GVRSceneObject(gvrContext); topLightObj.attachComponent(topLight);
GVRSceneObject makeEnvironment(GVRContext context) { GVRTexture tex = context.getAssetLoader().loadCubemapTexture(new GVRAndroidResource(context, R.raw.lycksele3)); GVRMaterial material = new GVRMaterial(context, GVRMaterial.GVRShaderType.Cubemap.ID); material.setMainTexture(tex); GVRSphereSceneObject environment = new GVRSphereSceneObject(context, 18, 36, false, material, 4, 4); environment.getTransform().setScale(20.0f, 20.0f, 20.0f); if (!GVRShader.isVulkanInstance()) { GVRDirectLight sunLight = new GVRDirectLight(context); sunLight.setAmbientIntensity(0.4f, 0.4f, 0.4f, 1.0f); sunLight.setDiffuseIntensity(0.6f, 0.6f, 0.6f, 1.0f); environment.attachComponent(sunLight); } return environment; }