public void render() { if (BaseContext.getConfig().isRenderRefraction() && !BaseContext.getConfig().isRenderUnderwater()){ return; } else { super.render(); } } }
public void render() { if (!BaseContext.getConfig().isRenderUnderwater() && !BaseContext.getConfig().isRenderWireframe()){ super.render(); } } }
public void updateUniforms(Renderable object) { bindUniformBlock("Camera", Constants.CameraUniformBlockBinding); bindUniformBlock("DirectionalLight", Constants.DirectionalLightUniformBlockBinding); bindUniformBlock("LightViewProjections",Constants.LightMatricesUniformBlockBinding); setUniformi("isReflection", BaseContext.getConfig().isRenderReflection() ? 1 : 0); setUniformi("isRefraction", BaseContext.getConfig().isRenderRefraction() ? 1 : 0); setUniformi("isCameraUnderWater", BaseContext.getConfig().isRenderUnderwater() ? 1 : 0); ((GLInstancedCluster) object.getParentNode()).getWorldMatricesBuffer().bindBufferBase(0); bindUniformBlock("worldMatrices", 0); ((GLInstancedCluster) object.getParentNode()).getModelMatricesBuffer().bindBufferBase(1); bindUniformBlock("modelMatrices", 1); setUniform("clipplane", BaseContext.getConfig().getClipplane()); setUniform("scalingMatrix", new Matrix4f().Scaling(object.getWorldTransform().getScaling())); @SuppressWarnings("unchecked") Material<GLTexture> material = (Material<GLTexture>) object.getComponent(NodeComponentType.MATERIAL0); glActiveTexture(GL_TEXTURE0); material.getDiffusemap().bind(); setUniformi("material.diffusemap", 0); List<Integer> indices = ((InstancedCluster) object.getParentNode()).getHighPolyIndices(); for (int i=0; i<indices.size(); i++) { setUniformi("matrixIndices[" + i +"]", indices.get(i)); } }
setUniformi("isCameraUnderWater", BaseContext.getConfig().isRenderUnderwater() ? 1 : 0);
setUniformi("isCameraUnderWater", BaseContext.getConfig().isRenderUnderwater() ? 1 : 0);
if (BaseContext.getConfig().isRenderUnderwater()){ underWaterRenderer.render(displayTexture, opaqueSceneFbo.getAttachmentTexture(Attachment.DEPTH));
setUniformf("specular", configuration.getSpecular()); setUniformf("motion", ocean.getMotion()); setUniformi("isCameraUnderWater", BaseContext.getConfig().isRenderUnderwater() ? 1 : 0);