@Override protected void doTask() { // ensure all cameras can see the far side of the skybox float out_radius = (float)skybox.getGeometry().getBoundingSphere().getRadius(); float in_radius = out_radius/(float)Math.sqrt(3); float median_diagonal = in_radius + out_radius; for (int i = 0, j = mCameras.size(); i < j; ++i) if(mCameras.get(i).getFarPlane() < median_diagonal) { mCameras.get(i).setFarPlane(median_diagonal); } } };
@Override public void render(Scene scene, Renderer renderer, ScreenQuad screenQuad, RenderTarget writeTarget, RenderTarget readTarget, long elapsedTime, double deltaTime) { GLES20.glClearColor(0, 0, 0, 1); mDepthPlugin.setFarPlane((float)mCamera.getFarPlane()); mOldCamera = mScene.getCamera(); mScene.switchCamera(mCamera); mScene.render(elapsedTime, deltaTime, writeTarget, mMaterial); mScene.switchCamera(mOldCamera); } }
mCameraLeft.setFieldOfView(getCurrentCamera().getFieldOfView()); mCameraLeft.setNearPlane(getCurrentCamera().getNearPlane()); mCameraLeft.setFarPlane(getCurrentCamera().getFarPlane()); mCameraRight.setFieldOfView(getCurrentCamera().getFieldOfView()); mCameraRight.setNearPlane(getCurrentCamera().getNearPlane()); mCameraRight.setFarPlane(getCurrentCamera().getFarPlane());
@Override public void render(RajawaliScene scene, RajawaliRenderer renderer, ScreenQuad screenQuad, RenderTarget writeTarget, RenderTarget readTarget, long ellapsedTime, double deltaTime) { GLES20.glClearColor(0, 0, 0, 1); mDepthPlugin.setFarPlane((float)mCamera.getFarPlane()); mOldCamera = mScene.getCamera(); mScene.switchCamera(mCamera); mScene.render(ellapsedTime, deltaTime, writeTarget, mMaterial); mScene.switchCamera(mOldCamera); } }
mCameraLeft.setFieldOfView(getCurrentCamera().getFieldOfView()); mCameraLeft.setNearPlane(getCurrentCamera().getNearPlane()); mCameraLeft.setFarPlane(getCurrentCamera().getFarPlane()); mCameraRight.setFieldOfView(getCurrentCamera().getFieldOfView()); mCameraRight.setNearPlane(getCurrentCamera().getNearPlane()); mCameraRight.setFarPlane(getCurrentCamera().getFarPlane());