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; }
public void setAppleRenderData(GVRContext gvrContext) { GVRMesh mesh = gvrContext.getAssetLoader().loadMesh(new GVRAndroidResource(gvrContext, R.raw.apple)); GVRMaterial material = new GVRMaterial(gvrContext, new GVRShaderId(ColorSwapShader.class)); GVRRenderData renderData = new GVRRenderData(gvrContext); renderData.setMesh(mesh); renderData.setMaterial(material); this.attachRenderData(renderData); getRenderData().setRenderingOrder(RenderingOrder.APPLE); }
for (GVRRenderData rdata : renderDatas) { GVRMaterial noMaterial = new GVRMaterial(getGVRContext(), new GVRShaderId(NoTextureShader.class)); rdata.setMaterial(noMaterial);
private void build(int meshResId, int textureResId) { GVRContext gvrContext = getGVRContext(); GVRMesh mesh = gvrContext.getAssetLoader().loadMesh( new GVRAndroidResource(gvrContext, meshResId)); GVRTexture texture = gvrContext.getAssetLoader().loadTexture( new GVRAndroidResource(gvrContext, textureResId)); segment = new GVRSceneObject(gvrContext, mesh, texture, new GVRShaderId(ColorSwapShader.class)); segment.getRenderData().setRenderingOrder(RenderingOrder.WORM); applyShader(gvrContext, segment, color); addChildObject(segment); }
ArrayList<GVRRenderData> renderDatas = currentDisplayedModel.getModel(context) .getAllComponents(GVRRenderData.getComponentType()); GVRMaterial outlineMaterial = new GVRMaterial(context, new GVRShaderId(OutlineShader.class)); case 1: for (GVRRenderData rdata : renderDatas) { GVRMaterial noMaterial = new GVRMaterial(context, new GVRShaderId(NoTextureShader.class)); rdata.setMaterial(noMaterial); rdata.setDrawMode(4);
public ColorsButton(GVRContext gvrContext, Color color) { super(gvrContext); this.color = color; GVRMesh sMesh = getGVRContext().createQuad(BUTTON_SIZE, BUTTON_SIZE); attachRenderData(new GVRRenderData(gvrContext)); getRenderData().setMaterial( new GVRMaterial(gvrContext, new GVRShaderId(ColorSwapShader.class))); getRenderData().setMesh(sMesh); setTextures(gvrContext); attachComponent(new GVRMeshCollider(gvrContext, false)); createCheckObject(); createHoverObject(); }
private void applyShader(GVRSceneObject object) { if (object != null && object.getRenderData() != null && object.getRenderData().getMaterial() != null) { GVRMaterial shader = new GVRMaterial(gvrContext, new GVRShaderId(AccessibilitySceneShader.class)); GVRTexture texture = object.getRenderData().getMaterial().getMainTexture(); object.getRenderData().setMaterial(shader); object.getRenderData().getMaterial().setFloat(AccessibilitySceneShader.BLUR_INTENSITY, 1); object.getRenderData().getMaterial().setTexture(AccessibilitySceneShader.TEXTURE_KEY, texture); } }
private void addCustomMovableCube(GVRContext gvrContext) { GVRSceneObject root = new GVRSceneObject(gvrContext); GVRMaterial red = new GVRMaterial(gvrContext, new GVRShaderId(GVRPhongShader.class)); GVRMaterial blue = new GVRMaterial(gvrContext, new GVRShaderId(GVRPhongShader.class)); 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);
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 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 void createTeaPotObject() { try { //modelShader = new ModelShader(gvrContext); GVRMesh teapotMesh = gvrContext.getAssetLoader().loadMesh( new GVRAndroidResource(gvrContext, "teapot.obj")); GVRTexture teapotTexture = gvrContext.getAssetLoader().loadTexture( new GVRAndroidResource(gvrContext.getContext(), "teapot_tex1.jpg")); teapot = new GVRSceneObject(gvrContext, teapotMesh); GVRMaterial material = new GVRMaterial(gvrContext, new GVRShaderId(ModelShader.class)); material.setTexture(ModelShader.TEXTURE_KEY, teapotTexture); teapot.getRenderData().setMaterial(material); teapot.getRenderData().setDepthTest(false); teapot.getRenderData().setRenderingOrder(GVRRenderingOrder.OVERLAY); teapot.getRenderData().setCullFace(GVRRenderPass.GVRCullFaceEnum.None); } catch (IOException e) { e.printStackTrace(); } }
public AnimReplaybutton(GVRContext gvrContext) { super(gvrContext); GVRMesh sMesh = getGVRContext().createQuad(0.3f, 0.3f); attachRenderData(new GVRRenderData(gvrContext)); getRenderData().setMaterial( new GVRMaterial(gvrContext, new GVRShaderId(ButtonShader.class))); getRenderData().setMesh(sMesh); createTextures(gvrContext); getRenderData().getMaterial().setFloat(ButtonShader.TEXTURE_SWITCH, IDLE_STATE); getRenderData().setRenderingOrder(RenderingOrder.MOVE_BUTON); attachComponent(new GVRMeshCollider(gvrContext, false)); }
public MenuCloseButton(GVRContext gvrContext) { super(gvrContext); GVRMesh sMesh = getGVRContext().createQuad(0.4f, 0.4f); attachRenderData(new GVRRenderData(gvrContext)); getRenderData().setMaterial(new GVRMaterial(gvrContext, new GVRShaderId(ButtonShader.class))); getRenderData().setMesh(sMesh); createTextures(gvrContext); getRenderData().getMaterial().setFloat(ButtonShader.TEXTURE_SWITCH, IDLE_STATE); getRenderData().setRenderingOrder(RenderingOrder.MENU_FRAME_TEXT + 1); attachComponent(new GVRMeshCollider(gvrContext, false)); }
public MenuHeaderItem(GVRContext gvrContext, String title, headerType type, ItemSelectedListener onTapListener) { super(gvrContext); this.onTapListener = onTapListener; this.type = type; GVRMesh sMesh = getGVRContext().createQuad(quadWidth, quadHeigth); WIDTH = (int)(100.0f * quadWidth); HEIGHT = (int) (100.0f * quadHeigth); attachRenderData(new GVRRenderData(gvrContext)); getRenderData().setMaterial(new GVRMaterial(gvrContext, new GVRShaderId(ButtonShader.class))); getRenderData().setMesh(sMesh); createTextures(gvrContext, title); getRenderData().getMaterial().setFloat(ButtonShader.TEXTURE_SWITCH, IDLE_STATE); attachComponent(new GVRMeshCollider(getGVRContext(), false)); }
public AnimCleanButton(GVRContext gvrContext, String title) { super(gvrContext); this.title = title; GVRMesh sMesh = getGVRContext().createQuad(quadWidth, quadHeigth); WIDTH = (int) (100.0f * quadWidth); HEIGHT = (int) (100.0f * quadHeigth); attachRenderData(new GVRRenderData(gvrContext)); getRenderData().setMaterial( new GVRMaterial(gvrContext, new GVRShaderId(ButtonShader.class))); getRenderData().setMesh(sMesh); createTextures(); getRenderData().getMaterial().setFloat(ButtonShader.TEXTURE_SWITCH, IDLE_STATE); getRenderData().setRenderingOrder(RenderingOrder.MOVE_BUTON); attachComponent(new GVRMeshCollider(gvrContext, false)); }
public MotionButton(GVRContext gvrContext, String title, Motion motion) { super(gvrContext); this.motion = motion; this.title = title; GVRMesh sMesh = getGVRContext().createQuad(quadWidth, quadHeigth); WIDTH = (int)(100.0f * quadWidth); HEIGHT = (int) (100.0f * quadHeigth); attachRenderData(new GVRRenderData(gvrContext)); getRenderData().setMaterial(new GVRMaterial(gvrContext, new GVRShaderId(ButtonShader.class))); getRenderData().setMesh(sMesh); createTextures(); getRenderData().getMaterial().setFloat(ButtonShader.TEXTURE_SWITCH, IDLE_STATE); getRenderData().setRenderingOrder(RenderingOrder.MENU_FRAME_TEXT); attachComponent(new GVRMeshCollider(gvrContext, false)); }
private GVRMaterial getMaterial() { GVRMaterial material = new GVRMaterial(gvrContext, new GVRShaderId(SphereShader.class)); material.setTexture(SphereShader.TEXTURE_KEY, gvrContext.getAssetLoader().loadTexture(new GVRAndroidResource(gvrContext, mTexture))); material.setFloat("blur", 0); material.setFloat(SphereShader.ANIM_TEXTURE, 0.0f); material.setTexture(SphereShader.SECUNDARY_TEXTURE_KEY, gvrContext.getAssetLoader().loadTexture(new GVRAndroidResource(gvrContext, mResultTexture))); material.setVec3(SphereShader.TRANSITION_COLOR, 1, 1, 1); material.setVec3(SphereShader.EYE_KEY, 0, 0, 0); // Light config GVRTexture hdriTexture = gvrContext.getAssetLoader().loadTexture(new GVRAndroidResource(gvrContext, R.drawable.hdri_reflex)); material.setTexture(SphereShader.HDRI_TEXTURE_KEY, hdriTexture); return material; }
public RadioButtonSceneObject(GVRContext gvrContext, String title, float second) { super(gvrContext); this.title = title; this.second = second; GVRMesh sMesh = getGVRContext().createQuad(quadWidth, quadHeigth); WIDTH = (int) (100.0f * quadWidth); HEIGHT = (int) (100.0f * quadHeigth); attachRenderData(new GVRRenderData(gvrContext)); getRenderData().setMaterial( new GVRMaterial(gvrContext, new GVRShaderId(ButtonShader.class))); getRenderData().setMesh(sMesh); createTextures(); getRenderData().getMaterial().setFloat(ButtonShader.TEXTURE_SWITCH, IDLE_STATE); getRenderData().setRenderingOrder(RenderingOrder.MENU_FRAME_TEXT); attachComponent(new GVRMeshCollider(gvrContext, false)); }
public void createTextures() { GVRRenderData renderData = new GVRRenderData(getGVRContext()); GVRMesh mesh = new GVRMesh(getGVRContext(), "float3 a_position float2 a_texcoord"); mesh.createQuad( Util.convertPixelToVRFloatValue(styleItem.getSizeQuadWidth()), Util.convertPixelToVRFloatValue(styleItem.getSizeQuadHeight())); GVRMaterial mat = new GVRMaterial(getGVRContext(), new GVRShaderId(TransparentButtonShaderThreeStates.class));//dif.getShaderId()); renderData.setMesh(mesh); renderData.setMaterial(mat); attachRenderData(renderData); getRenderData().setRenderingOrder(RenderingOrder.KEYBOARD); getRenderData().getMaterial().setFloat(TransparentButtonShaderThreeStates.OPACITY, styleItem.getOpacityTarget()); }
private GVRSceneObject createCursor() { GVRSceneObject cursor = new GVRSphereSceneObject(context); GVRRenderData cursorRenderData = cursor.getRenderData(); mShaderID = new GVRShaderId(CustomShaderManager.class); mShaderMaterial = new GVRMaterial(getGVRContext(), mShaderID); mShaderMaterial.setVec4(CustomShaderManager.COLOR_KEY, 1.0f, 0.0f, 0.0f, 0.5f); cursor.getTransform().setScale(-0.015f, -0.015f, -0.015f); cursorRenderData.setMaterial(mShaderMaterial); cursorRenderData.setDepthTest(false); cursorRenderData.setRenderingOrder(GVRRenderData.GVRRenderingOrder.OVERLAY); cursorModel = cursor; return cursor; }