@Override public void render(RenderManager renderManager, Shader shader, Geometry geometry, LightList lights, int lastTexUnit) { Renderer renderer = renderManager.getRenderer(); Matrix4f viewMatrix = renderManager.getCurrentCamera().getViewMatrix(); updateLightListUniforms(viewMatrix, shader, lights); renderer.setShader(shader); renderMeshFromGeometry(renderer, geometry); }
capture = false; Camera curCamera = rm.getCurrentCamera(); int viewX = (int) (curCamera.getViewPortLeft() * curCamera.getWidth()); int viewY = (int) (curCamera.getViewPortBottom() * curCamera.getHeight());
public void postQueue(RenderQueue rq) { Camera sceneCam = rm.getCurrentCamera(); //update refraction cam refractionCam.setLocation(sceneCam.getLocation()); refractionCam.setRotation(sceneCam.getRotation()); refractionCam.setFrustum(sceneCam.getFrustumNear(), sceneCam.getFrustumFar(), sceneCam.getFrustumLeft(), sceneCam.getFrustumRight(), sceneCam.getFrustumTop(), sceneCam.getFrustumBottom()); refractionCam.setParallelProjection(sceneCam.isParallelProjection()); //update reflection cam WaterUtils.updateReflectionCam(reflectionCam, plane, sceneCam); //Rendering reflection and refraction rm.renderViewPort(reflectionView, savedTpf); rm.renderViewPort(refractionView, savedTpf); rm.getRenderer().setFrameBuffer(vp.getOutputFrameBuffer()); rm.setCamera(sceneCam, false); }
rm.getCurrentCamera().getViewMatrix().mult(tmpVec, tmpVec); float invRadius = pl.getInvRadius(); tmpVec.set(pos.getX(), pos.getY(), pos.getZ(), 1.0f); rm.getCurrentCamera().getViewMatrix().mult(tmpVec, tmpVec); float spotAngleCos = sl.getPackedAngleCos(); tmpVec.set(pos2.getX(), pos2.getY(), pos2.getZ(), 1.0f); rm.getCurrentCamera().getViewMatrix().mult(tmpVec, tmpVec); rm.getCurrentCamera().getViewMatrix().mult(tmpVec, tmpVec); tmpVec.normalizeLocal(); lightData.setVector4InArray(tmpVec.getX(), tmpVec.getY(), tmpVec.getZ(), spotAngleCos, lightDataIndex);
renderManager.getCurrentCamera().getViewMatrix().mult(tmpVec, tmpVec); tmpLightDirection.set(tmpVec.getX(), tmpVec.getY(), tmpVec.getZ(), spotAngleCos);
@Override public void render(RenderManager renderManager, Shader shader, Geometry geometry, LightList lights, int lastTexUnit) { Renderer renderer = renderManager.getRenderer(); Matrix4f viewMatrix = renderManager.getCurrentCamera().getViewMatrix(); updateLightListUniforms(viewMatrix, shader, lights); renderer.setShader(shader); renderMeshFromGeometry(renderer, geometry); }
@Override public void postFrame(FrameBuffer out) { if (capture) { capture = false; Camera curCamera = rm.getCurrentCamera(); int viewX = (int) (curCamera.getViewPortLeft() * curCamera.getWidth()); int viewY = (int) (curCamera.getViewPortBottom() * curCamera.getHeight()); int viewWidth = (int) ((curCamera.getViewPortRight() - curCamera.getViewPortLeft()) * curCamera.getWidth()); int viewHeight = (int) ((curCamera.getViewPortTop() - curCamera.getViewPortBottom()) * curCamera.getHeight()); renderer.setViewPort(0, 0, width, height); renderer.readFrameBuffer(out, outBuf); renderer.setViewPort(viewX, viewY, viewWidth, viewHeight); for (int i = 0; i < width*height*4; i+=4) { byte r = outBuf.get(i); byte g = outBuf.get(i + 1); byte b = outBuf.get(i + 2); byte a = outBuf.get(i + 3); imgBuf.put(i, b); // r imgBuf.put(i + 1, g); // g imgBuf.put(i + 2, r); // b imgBuf.put(i + 3, a); // a } image = new Image(Image.Format.RGBA8, width, height, imgBuf); } }
capture = false; Camera curCamera = rm.getCurrentCamera(); int viewX = (int) (curCamera.getViewPortLeft() * curCamera.getWidth()); int viewY = (int) (curCamera.getViewPortBottom() * curCamera.getHeight());
private void process2(FrameBuffer fb) { Camera cam = renderManager.getCurrentCamera(); Camera curCamera = viewPort.getCamera(); float viewX = curCamera.getViewPortLeft(); float viewY = curCamera.getViewPortBottom(); float viewWidth = curCamera.getViewPortRight(); float viewHeight = curCamera.getViewPortTop(); float xFactor = (float) cam.getWidth() / (float) curCamera.getWidth(); float yFactor = (float) cam.getHeight() / (float) curCamera.getHeight(); viewPort.getCamera().setViewPort(0, 1 * xFactor, 0, 1 * yFactor); renderManager.getRenderer().readFrameBuffer(fb, outBuf); viewPort.getCamera().setViewPort(viewX, viewWidth, viewY, viewHeight); }
Camera curCamera = renderManager.getCurrentCamera(); int viewX = (int) (curCamera.getViewPortLeft() * curCamera.getWidth()); int viewY = (int) (curCamera.getViewPortBottom() * curCamera.getHeight());
Camera curCamera = renderManager.getCurrentCamera(); int viewX = (int) (curCamera.getViewPortLeft() * curCamera.getWidth()); int viewY = (int) (curCamera.getViewPortBottom() * curCamera.getHeight());
public void postQueue(RenderQueue rq) { Camera sceneCam = rm.getCurrentCamera(); //update refraction cam refractionCam.setLocation(sceneCam.getLocation()); refractionCam.setRotation(sceneCam.getRotation()); refractionCam.setFrustum(sceneCam.getFrustumNear(), sceneCam.getFrustumFar(), sceneCam.getFrustumLeft(), sceneCam.getFrustumRight(), sceneCam.getFrustumTop(), sceneCam.getFrustumBottom()); refractionCam.setParallelProjection(sceneCam.isParallelProjection()); //update reflection cam WaterUtils.updateReflectionCam(reflectionCam, plane, sceneCam); //Rendering reflection and refraction rm.renderViewPort(reflectionView, savedTpf); rm.renderViewPort(refractionView, savedTpf); rm.getRenderer().setFrameBuffer(vp.getOutputFrameBuffer()); rm.setCamera(sceneCam, false); }
public void postQueue(RenderQueue rq) { Camera sceneCam = rm.getCurrentCamera(); //update refraction cam refractionCam.setLocation(sceneCam.getLocation()); refractionCam.setRotation(sceneCam.getRotation()); refractionCam.setFrustum(sceneCam.getFrustumNear(), sceneCam.getFrustumFar(), sceneCam.getFrustumLeft(), sceneCam.getFrustumRight(), sceneCam.getFrustumTop(), sceneCam.getFrustumBottom()); refractionCam.setParallelProjection(sceneCam.isParallelProjection()); //update reflection cam WaterUtils.updateReflectionCam(reflectionCam, plane, sceneCam); //Rendering reflection and refraction rm.renderViewPort(reflectionView, savedTpf); rm.renderViewPort(refractionView, savedTpf); rm.getRenderer().setFrameBuffer(vp.getOutputFrameBuffer()); rm.setCamera(sceneCam, false); }
rm.getCurrentCamera().getViewMatrix().mult(tmpVec, tmpVec); float invRadius = pl.getInvRadius(); tmpVec.set(pos.getX(), pos.getY(), pos.getZ(), 1.0f); rm.getCurrentCamera().getViewMatrix().mult(tmpVec, tmpVec); float spotAngleCos = sl.getPackedAngleCos(); tmpVec.set(pos2.getX(), pos2.getY(), pos2.getZ(), 1.0f); rm.getCurrentCamera().getViewMatrix().mult(tmpVec, tmpVec); rm.getCurrentCamera().getViewMatrix().mult(tmpVec, tmpVec); tmpVec.normalizeLocal(); lightData.setVector4InArray(tmpVec.getX(), tmpVec.getY(), tmpVec.getZ(), spotAngleCos, lightDataIndex);
renderManager.getCurrentCamera().getViewMatrix().mult(tmpVec, tmpVec); tmpLightDirection.set(tmpVec.getX(), tmpVec.getY(), tmpVec.getZ(), spotAngleCos);
rm.getCurrentCamera().getViewMatrix().mult(tmpVec, tmpVec); tmpLightDirection.set(tmpVec.getX(), tmpVec.getY(), tmpVec.getZ(), spotAngleCos);
public void postQueue(RenderQueue rq) { Camera sceneCam = rm.getCurrentCamera();