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); }
public void addGammaCorrection() { // add a custom post effect for dynamically adjusting gamma GVRShaderId gammaShader = new GVRShaderId(GammaShader.class); postEffect = new GVRMaterial(gvrContext, gammaShader); postEffect.setFloat("u_gamma", 2.2f); GVRCameraRig rig = gvrContext.getMainScene().getMainCameraRig(); rig.getLeftCamera().addPostEffect(postEffect); rig.getRightCamera().addPostEffect(postEffect); }
private void addCursorPosition() { GVRSceneObject headTracker = new GVRSceneObject(mGVRContext, mGVRContext.createQuad(0.5f, 0.5f), mGVRContext.getAssetLoader().loadTexture(new GVRAndroidResource( mGVRContext, R.drawable.head_tracker))); headTracker.getTransform().setPositionZ(-9.0f); headTracker.getRenderData().setRenderingOrder( GVRRenderData.GVRRenderingOrder.OVERLAY); headTracker.getRenderData().setDepthTest(false); headTracker.getRenderData().setRenderingOrder(100000); mGVRContext.getMainScene().getMainCameraRig().getRightCamera() .addChildObject(headTracker); }
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); }
public static GVRSceneObject createGaze(GVRContext context, float x, float y, float z) { GVRMesh mesh = new GVRMesh(context, "float3 a_position float2 a_texcoord"); mesh.createQuad(0.1f, 0.1f); GVRSceneObject gaze = new GVRSceneObject(context, mesh, context.getAssetLoader().loadTexture(new GVRAndroidResource(context, R.drawable.gaze))); gaze.getTransform().setPosition(x, y, z); gaze.getRenderData().setDepthTest(false); gaze.getRenderData().setRenderingOrder(100000); gaze.getRenderData().disableLight(); return gaze; }
private GVRSceneObject createPlaySide() { playedSide = new GVRSceneObject(gvrContext, gvrContext.createQuad(1.0f, HEIGHT / 2), gvrContext.getAssetLoader().loadTexture(new GVRAndroidResource( gvrContext.getActivity(), R.drawable.timeline_watched))); playedSide.getRenderData().setRenderingOrder(GVRRenderingOrder.TRANSPARENT + 2); playedSide.getRenderData().setOffset(true); playedSide.getRenderData().setOffsetFactor(-2.0f); playedSide.getRenderData().setOffsetUnits(-2.0f); playedSide.getTransform().setPositionZ(.1f); return playedSide; }
private GVRRenderData createRenderData(GVRContext gvrContext) { GVRMaterial material = new GVRMaterial(gvrContext); GVRMesh mesh = gvrContext.createQuad(NORMAL_CURSOR_SIZE, NORMAL_CURSOR_SIZE); material.setMainTexture(gvrContext.getAssetLoader().loadTexture(new GVRAndroidResource(gvrContext, R.drawable.head_tracker))); GVRRenderData renderData = new GVRRenderData(gvrContext); renderData.setMaterial(material); renderData.setMesh(mesh); renderData.setDepthTest(false); renderData.setRenderingOrder(CURSOR_RENDER_ORDER); return renderData; }
private GVRSceneObject getColorMesh(float scale, GVRMesh mesh) { GVRMaterial material = new GVRMaterial(mGVRContext, GVRMaterial.GVRShaderType.Color.ID); material.setVec4("u_color", UNPICKED_COLOR_R, UNPICKED_COLOR_G, UNPICKED_COLOR_B, UNPICKED_COLOR_A); GVRSceneObject meshObject = null; meshObject = new GVRSceneObject(mGVRContext, mesh); meshObject.getTransform().setScale(scale, scale, scale); meshObject.getRenderData().setMaterial(material); // material.setVec4("u_color", UNPICKED_COLOR_R, // UNPICKED_COLOR_G, UNPICKED_COLOR_B, UNPICKED_COLOR_A); return meshObject; }
public GVRSceneObject createBlurScene(GVRScene scene, GVRTexture texture) { final GVRSceneObject blurryQuad = new GVRSceneObject(mContext, 2.0f, 2.0f, texture, GVRMaterial.GVRShaderType.OES.ID); GVRCamera camera = scene.getMainCameraRig().getCenterCamera(); GVRMaterial horzBlurMtl = new GVRMaterial(mContext, new GVRShaderId(HorzBlurShader.class)); horzBlurMtl.setFloat("u_resolution", 1024.0f); camera.addPostEffect(horzBlurMtl); GVRMaterial vertBlurMtl = new GVRMaterial(mContext, new GVRShaderId(VertBlurShader.class)); vertBlurMtl.setFloat("u_resolution", 1024.0f); camera.addPostEffect(vertBlurMtl); blurryQuad.getTransform().setPositionZ(-0.1f); return blurryQuad; }
private GVRMaterial createCustomMaterial(GVRContext context, String textureFile) throws IOException { GVRMaterial litMaterial = new GVRMaterial(context, GVRMaterial.GVRShaderType.Phong.ID); litMaterial.setVec4("diffuse_color", 1.0f, 1.0f, 1.0f, 1.0f); litMaterial.setVec4("ambient_color", 0.5f, 0.5f, 0.5f, 0.0f); litMaterial.setVec4("specular_color", 1.0f, 1.0f, 1.0f, 1.0f); litMaterial.setVec4("emissive_color", 0.0f, 0.0f, 0.0f, 0.0f); litMaterial.setFloat("specular_exponent", 10.0f); GVRTexture texture = context.getAssetLoader().loadTexture(new GVRAndroidResource(context, textureFile)); litMaterial.setTexture("diffuseTexture", texture); return litMaterial; }
private GVRRenderData getRenderData(GVRMaterial material) { GVRRenderData renderData = new GVRRenderData(gvrContext); renderData.setMesh(gvrContext.getAssetLoader().loadMesh(new GVRAndroidResource(gvrContext, R.raw.sphere_uv_flag))); renderData.setMaterial(material); renderData.setRenderingOrder(100); renderData.setAlphaBlend(true); return renderData; }
private static boolean hasEmptyTexture(GVRContext gvrContext, GVRSceneObject object) { return object.getRenderData().getMaterial().getMainTexture() != null && object.getRenderData().getMaterial().getMainTexture() .equals(gvrContext.getAssetLoader().loadTexture(new GVRAndroidResource(gvrContext, R.drawable.empty))); }
void loadAndAddCollider(GVRContext gvrContext, String fname) throws IOException { GVRSceneObject model = gvrContext.getAssetLoader().loadModel(fname, gvrContext.getMainScene()); // This approach works fine for simple objects exported as FBX GVRSceneObject object = model.getChildByIndex(0).getChildByIndex(0); object.attachComponent(new GVRMeshCollider(object.getGVRContext(), true)); }
public void moveToPosition(float x, float y, float z) { if (x != 0 || y != 0) { buttonHover.getRenderData().getMaterial().setOpacity(1); } else { buttonHover.getRenderData().getMaterial().setOpacity(0); } buttonHover.getTransform().setPosition(x * 0.14f, y * -0.14f, evPositionZ); buttonNormal.getTransform().setPosition(x * 0.02f, y * -0.02f, evPositionZ); }
private void loadFiles() { accessibilityIcon = gvrContext.getAssetLoader().loadTexture(new GVRAndroidResource(gvrContext, R.drawable.ico_accessibility)); backIcon = gvrContext.getAssetLoader().loadTexture(new GVRAndroidResource(gvrContext, R.drawable.ico_back)); spaceTexture = gvrContext.getAssetLoader().loadTexture(new GVRAndroidResource(gvrContext, R.drawable.circle_normal)); talkBackMore = gvrContext.getAssetLoader().loadTexture(new GVRAndroidResource(gvrContext, R.drawable.ico_talkback_mais)); talkBackLess = gvrContext.getAssetLoader().loadTexture(new GVRAndroidResource(gvrContext, R.drawable.ico_talkback_menos)); zoomIn = gvrContext.getAssetLoader().loadTexture(new GVRAndroidResource(gvrContext, R.drawable.ico_zoom_mais)); invertedColorsIcon = gvrContext.getAssetLoader().loadTexture(new GVRAndroidResource(gvrContext, R.drawable.ico_inverted)); zoomOut = gvrContext.getAssetLoader().loadTexture(new GVRAndroidResource(gvrContext, R.drawable.ico_zoom_menos)); speechIcon = gvrContext.getAssetLoader().loadTexture(new GVRAndroidResource(gvrContext, R.drawable.ico_speech)); emptyIcon = gvrContext.getAssetLoader().loadTexture(new GVRAndroidResource(gvrContext, R.drawable.empty)); }
public void renderTextureButton(String textureID, GVRSceneObject sceneObject) { sceneObject .getRenderData() .getMaterial() .setMainTexture( sceneObject.getRenderData().getMaterial() .getTexture(textureID)); }
public void onEnter(GVRSceneObject sceneObj, GVRPicker.GVRPickedObject pickInfo) { sceneObj.getRenderData().getMaterial().setVec4("u_color", PICKED_COLOR_R, PICKED_COLOR_G, PICKED_COLOR_B, PICKED_COLOR_A); }
public void endTouch() { GVRPointLight light = (GVRPointLight) mSelectionLight.getComponent(GVRLight.getComponentType()); light.setDiffuseIntensity(PICKED_COLOR[0], PICKED_COLOR[1], PICKED_COLOR[1], PICKED_COLOR[2]); mSelected = null; mSelectionMode = UNTOUCHED; } }
public void onExit(GVRSceneObject sceneObj, GVRPicker.GVRPickedObject pickInfo) { if ((mSelected == sceneObj) || (mSelected == null)) { mSelectionLight.getComponent(GVRLight.getComponentType()).disable(); mSelected = null; } }
public void onEnter(GVRSceneObject sceneObj, GVRPicker.GVRPickedObject pickInfo) { sceneObj.getRenderData().getMaterial().setVec4("u_color", PICKED_COLOR_R, PICKED_COLOR_G, PICKED_COLOR_B, PICKED_COLOR_A); } public void onExit(GVRSceneObject sceneObj)