public void onAction(String name, boolean keyPressed, float tpf) { if (name.equals("toggle") && keyPressed) { if(active){ active=false; viewPort.removeProcessor(fpp); }else{ active=true; viewPort.addProcessor(fpp); } } } };
private ViewPort setupViewBuffers(Camera cam, String viewName) { // TODO this function is identical to that in VRViewManagerOpenVR; merge the two. if (environment != null) { if (environment.getApplication() != null) { ViewPort viewPort = environment.getApplication().getRenderManager().createPreView(viewName, cam); viewPort.setClearFlags(true, true, true); viewPort.setBackgroundColor(ColorRGBA.Black); Iterator<Spatial> spatialIter = environment.getApplication().getViewPort().getScenes().iterator(); while (spatialIter.hasNext()) { viewPort.attachScene(spatialIter.next()); } // The viewbuffer to render into will be set during prerender. return viewPort; } else { throw new IllegalStateException("This VR environment is not attached to any application."); } } else { throw new IllegalStateException("This VR view manager is not attached to any VR environment."); } } }
@Override protected void postFrame(RenderManager renderManager, ViewPort viewPort, FrameBuffer prevFilterBuffer, FrameBuffer sceneBuffer) { renderManager.setCamera(viewPort.getCamera(), false); if (prevFilterBuffer != sceneBuffer) { renderManager.getRenderer().copyFrameBuffer(prevFilterBuffer, sceneBuffer, false); } renderManager.getRenderer().setFrameBuffer(sceneBuffer); viewPort.getQueue().renderQueue(RenderQueue.Bucket.Translucent, renderManager, viewPort.getCamera()); }
@Override public Object call() throws Exception { guiViewPort.clearScenes(); guiViewPort.attachScene(node); guiNode = node; return null; }
/** * creates an offsceen VP * * @param name * @param offCamera * @return */ protected ViewPort createOffViewPort(final String name, final Camera offCamera) { final ViewPort offView = new ViewPort(name, offCamera); offView.setClearFlags(true, true, true); offView.setBackgroundColor(backGroundColor); return offView; }
if (!vp.isEnabled()) { return; SafeArrayList<SceneProcessor> processors = vp.getProcessors(); if (processors.isEmpty()) { processors = null; renderer.setFrameBuffer(vp.getOutputFrameBuffer()); setCamera(vp.getCamera(), false); if (vp.isClearDepth() || vp.isClearColor() || vp.isClearStencil()) { if (vp.isClearColor()) { renderer.setBackgroundColor(vp.getBackgroundColor()); renderer.clearBuffers(vp.isClearColor(), vp.isClearDepth(), vp.isClearStencil()); List<Spatial> scenes = vp.getScenes(); for (int i = scenes.size() - 1; i >= 0; i--) { renderScene(scenes.get(i), vp); for (SceneProcessor proc : processors.getArray()) { if (prof != null) prof.spStep(SpStep.ProcPostQueue, proc.getClass().getSimpleName()); proc.postQueue(vp.getQueue()); for (SceneProcessor proc : processors.getArray()) { if (prof != null) prof.spStep(SpStep.ProcPostFrame, proc.getClass().getSimpleName()); proc.postFrame(vp.getOutputFrameBuffer());
@Override protected void getReceivers(GeometryList lightReceivers) { lightReceivers.clear(); Camera[] cameras = new Camera[1]; cameras[0] = shadowCam; for (Spatial scene : viewPort.getScenes()) { ShadowUtil.getLitGeometriesInViewPort(scene, viewPort.getCamera(), cameras, RenderQueue.ShadowMode.Receive, lightReceivers); } }
public void initialize(RenderManager rm, ViewPort vp) { reshape(vp, vp.getCamera().getWidth(), vp.getCamera().getHeight()); viewPort.setOutputFrameBuffer(fb); guiViewPort.setClearFlags(true, true, true); guiNode.attachChild(display); // guiNode.attachChild(display1); guiNode.attachChild(display2); // guiNode.attachChild(display3); // guiNode.attachChild(display4); guiNode.updateGeometricState(); }
public void simpleInitApp() { ViewPort niftyView = renderManager.createPreView("NiftyView", new Camera(1024, 768)); niftyView.setClearFlags(true, true, true); NiftyJmeDisplay niftyDisplay = new NiftyJmeDisplay(assetManager, inputManager, nifty = niftyDisplay.getNifty(); nifty.fromXml("all/intro.xml", "start"); niftyView.addProcessor(niftyDisplay); niftyView.setClearFlags(true, true, true); niftyView.setOutputFrameBuffer(fb);
/** * Internal use only. * Updates the resolution of all on-screen cameras to match * the given width and height. */ public void notifyReshape(int w, int h) { for (ViewPort vp : preViewPorts) { if (vp.getOutputFrameBuffer() == null) { Camera cam = vp.getCamera(); cam.resize(w, h, true); } notifyReshape(vp, w, h); } for (ViewPort vp : viewPorts) { if (vp.getOutputFrameBuffer() == null) { Camera cam = vp.getCamera(); cam.resize(w, h, true); } notifyReshape(vp, w, h); } for (ViewPort vp : postViewPorts) { if (vp.getOutputFrameBuffer() == null) { Camera cam = vp.getCamera(); cam.resize(w, h, true); } notifyReshape(vp, w, h); } }
public void attachTo(boolean overrideMainFramebuffer, ViewPort... vps) { if (viewPorts.size() > 0) { for (ViewPort vp : viewPorts) { vp.setOutputFrameBuffer(null); } viewPorts.get(viewPorts.size() - 1).removeProcessor(this); } viewPorts.addAll(Arrays.asList(vps)); viewPorts.get(viewPorts.size() - 1).addProcessor(this); this.attachAsMain = overrideMainFramebuffer; }
public void setupBasicShadow(){ if (renderer.getCaps().contains(Caps.GLSL100)){ dlsr = new DirectionalLightShadowRenderer(assetManager, 1024, 1); viewPort.addProcessor(dlsr); } }
/** * Initialize this state prior to its 1st update. Should be invoked only by * a subclass or by the AppStateManager. * * @param stateManager the manager for this state (not null) * @param app the application which owns this state (not null) */ @Override public void initialize(AppStateManager stateManager, Application app) { super.initialize(stateManager, app); this.app = app; this.rm = app.getRenderManager(); this.assetManager = app.getAssetManager(); setupMaterials(app); physicsDebugRootNode.setCullHint(Spatial.CullHint.Never); viewPort = rm.createMainView("Physics Debug Overlay", app.getCamera()); viewPort.setClearFlags(false, true, false); viewPort.attachScene(physicsDebugRootNode); }
/** * Set the background color for both left and right view ports. * @param clr the background color. */ public void setBackgroundColors(ColorRGBA clr) { if( viewmanager == null ) { getViewPort().setBackgroundColor(clr); } else if( viewmanager.getLeftViewPort() != null ) { viewmanager.getLeftViewPort().setBackgroundColor(clr); if( viewmanager.getRightViewPort() != null ) viewmanager.getRightViewPort().setBackgroundColor(clr); } }
public void preFrame(float tpf) { if (filters.isEmpty() || lastFilterIndex == -1) { //If the camera is initialized and there are no filter to render, the camera viewport is restored as it was if (cameraInit) { viewPort.getCamera().resize(originalWidth, originalHeight, true); viewPort.getCamera().setViewPort(left, right, bottom, top); viewPort.setOutputFrameBuffer(outputBuffer); cameraInit = false; } } else { setupViewPortFrameBuffer(); //if we are ina multiview situation we need to resize the camera //to the viewportsize so that the backbuffer is rendered correctly if (multiView) { viewPort.getCamera().resize(width, height, false); viewPort.getCamera().setViewPort(0, 1, 0, 1); viewPort.getCamera().update(); renderManager.setCamera(viewPort.getCamera(), false); } } for (Filter filter : filters.getArray()) { if (filter.isEnabled()) { if (prof != null) prof.spStep(SpStep.ProcPreFrame, FPP, filter.getName()); filter.preFrame(tpf); } } }
public void postQueue(RenderQueue rq) { for (Spatial scene : viewPort.getScenes()) { ShadowUtil.getGeometriesInCamFrustum(scene, viewPort.getCamera(), ShadowMode.Receive, lightReceivers); Camera viewCam = viewPort.getCamera(); ShadowUtil.updateFrustumPoints(viewCam, viewCam.getFrustumNear(), viewPort.getQueue().renderShadowQueue(shadowOccluders, renderManager, shadowCam, true); r.setFrameBuffer(viewPort.getOutputFrameBuffer());
vp.setOutputFrameBuffer(fb); vp.getCamera().resize(width, height, true); for (SceneProcessor sp : vp.getProcessors()) { sp.reshape(vp, width, height);
getLeftViewPort().clearProcessors(); getRightViewPort().clearProcessors(); if( sourceViewport.getProcessors().isEmpty() ) return; getLeftViewPort().addProcessor(leftPostProcessor); getRightViewPort().addProcessor(rightPostProcessor); for(SceneProcessor sceneProcessor : sourceViewport.getProcessors()) { if (sceneProcessor instanceof FilterPostProcessor) { for(Filter f : ((FilterPostProcessor)sceneProcessor).getFilterList() ) { VRDirectionalLightShadowRenderer dlsrRight = dlsr.clone(); dlsrRight.setLight(dlsr.getLight()); getRightViewPort().getProcessors().add(0, dlsrRight); getLeftViewPort().getProcessors().add(0, sceneProcessor);
@Override public void initialize(){ super.initialize(); System.out.println("Initialize"); RootNodeState state = new RootNodeState(); viewPort.attachScene(state.getRootNode()); stateManager.attach(state); Spatial model = assetManager.loadModel("Models/Teapot/Teapot.obj"); model.scale(3); model.setMaterial(assetManager.loadMaterial("Interface/Logo/Logo.j3m")); state.getRootNode().attachChild(model); NiftyJmeDisplay niftyDisplay = new NiftyJmeDisplay(assetManager, inputManager, audioRenderer, guiViewPort); niftyDisplay.getNifty().fromXml("Interface/Nifty/HelloJme.xml", "start"); guiViewPort.addProcessor(niftyDisplay); }