public void render(float t) { shader.bind(); shader.updateUniforms(L,N,t); glBindImageTexture(0, imageDyCoeficcients.getHandle(), 0, false, 0, GL_READ_WRITE, GL_RGBA32F); glBindImageTexture(1, imageDxCoefficients.getHandle(), 0, false, 0, GL_READ_WRITE, GL_RGBA32F); glBindImageTexture(2, imageDzCoefficients.getHandle(), 0, false, 0, GL_READ_WRITE, GL_RGBA32F); glBindImageTexture(3, imageH0k.getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA32F); glBindImageTexture(4, imageH0minusK.getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA32F); glDispatchCompute(N/16,N/16,1); glFinish(); } }
public void allocateStorage2D(int levels, int internalFormat){ glTexStorage2D(target, levels, internalFormat, metaData.getWidth(), metaData.getHeight()); }
public void allocateStorage3D(int levels, int layers, int internalFormat){ glTexStorage3D(target,levels,internalFormat,metaData.getWidth(),metaData.getHeight(),layers); }
OpenGL40 = ext.contains("OpenGL40") && checkExtension("OpenGL40", GL40.isAvailable(this)); OpenGL41 = ext.contains("OpenGL41") && checkExtension("OpenGL41", GL41.isAvailable(this)); OpenGL42 = ext.contains("OpenGL42") && checkExtension("OpenGL42", GL42.isAvailable(this)); OpenGL43 = ext.contains("OpenGL43") && checkExtension("OpenGL43", GL43.isAvailable(this)); OpenGL44 = ext.contains("OpenGL44") && checkExtension("OpenGL44", GL44.isAvailable(this));
public void render(GLTexture sampleCoverageMask, GLTexture ssaoBlurTexture, GLTexture pssm, GLTexture offScreenAlbedoTexture, GLTexture offScreenWorldPositionTexture, GLTexture offScreenNormalTexture, GLTexture offScreenSpecularEmissionTexture, boolean ssaoFlag){ shader.bind(); glBindImageTexture(0, deferredLightingSceneTexture.getHandle(), 0, false, 0, GL_WRITE_ONLY, GL_RGBA16F); glBindImageTexture(2, offScreenAlbedoTexture.getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA16F); glBindImageTexture(3, offScreenWorldPositionTexture.getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA32F); glBindImageTexture(4, offScreenNormalTexture.getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA32F); glBindImageTexture(5, offScreenSpecularEmissionTexture.getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA16F); glBindImageTexture(6, sampleCoverageMask.getHandle(), 0, false, 0, GL_READ_ONLY, GL_R16F); glBindImageTexture(7, ssaoBlurTexture.getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA32F); shader.updateUniforms(pssm, ssaoFlag); glDispatchCompute(BaseContext.getWindow().getWidth()/16, BaseContext.getWindow().getHeight()/16,1); }
public void render(){ shader.bind(); glBindImageTexture(0, deferredLightingSceneTexture.getHandle(), 0, false, 0, GL_WRITE_ONLY, GL_RGBA16F); glBindImageTexture(1, gbuffer.getAlbedoTexture().getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA16F); glBindImageTexture(2, gbuffer.getNormalTexture().getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA32F); shader.updateUniforms(); glDispatchCompute(width/8, height/8,1); }
public void render(GLTexture worldPositionTexture, GLTexture LightScatteringMaskMS) { shader.bind(); glBindImageTexture(0, sampleCoverageMask.getHandle(), 0, false, 0, GL_WRITE_ONLY, GL_R16F); glBindImageTexture(1, worldPositionTexture.getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA32F); glBindImageTexture(2, lightScatteringMaskDownSampled.getHandle(), 0, false, 0, GL_WRITE_ONLY, GL_RGBA16F); glBindImageTexture(3, LightScatteringMaskMS.getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA16F); shader.updateUniforms(); glDispatchCompute(BaseContext.getWindow().getWidth()/16, BaseContext.getWindow().getHeight()/16, 1); }
public void render(GLTexture opaqueScene, GLTexture opaqueSceneDepthMap, GLTexture opaqueSceneLightScatteringTexture, GLTexture transparencyLayer, GLTexture transparencyLayerDepthMap, GLTexture alphaMap, GLTexture transparencyLayerLightScatteringTexture){ shader.bind(); glBindImageTexture(0, blendedSceneTexture.getHandle(), 0, false, 0, GL_WRITE_ONLY, GL_RGBA16F); glBindImageTexture(1, blendedLightScatteringTexture.getHandle(), 0, false, 0, GL_WRITE_ONLY, GL_RGBA16F); glBindImageTexture(2, opaqueSceneDepthMap.getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA32F); glBindImageTexture(3, transparencyLayerDepthMap.getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA32F); shader.updateUniforms(opaqueScene, opaqueSceneLightScatteringTexture, transparencyLayer, alphaMap, transparencyLayerLightScatteringTexture); glDispatchCompute(BaseContext.getWindow().getWidth()/16, BaseContext.getWindow().getHeight()/16, 1); }
public void render(GLTexture worldPositionSceneTexture, GLTexture normalSceneTexture){ ssaoShader.bind(); glBindImageTexture(0, ssaoSceneTexture.getHandle(), 0, false, 0, GL_WRITE_ONLY, GL_RGBA32F); glBindImageTexture(1, worldPositionSceneTexture.getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA32F); glBindImageTexture(2, normalSceneTexture.getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA32F); glBindImageTexture(3, noiseTexture.getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA32F); ssaoShader.updateUniforms(BaseContext.getCamera().getViewMatrix(), BaseContext.getCamera().getProjectionMatrix(), width, height, kernel); glDispatchCompute(width/16,height/16,1); blurShader.bind(); glBindImageTexture(0, ssaoBlurSceneTexture.getHandle(), 0, false, 0, GL_WRITE_ONLY, GL_RGBA32F); glBindImageTexture(1, ssaoSceneTexture.getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA32F); blurShader.updateUniforms(width, height); glDispatchCompute(width/16,height/16,1); }
public void render() { shader.bind(); bitReversedSSBO.bindBufferBase(1); shader.updateUniforms(N); glBindImageTexture(0, texture.getHandle(), 0, false, 0, GL_WRITE_ONLY, GL_RGBA32F); glDispatchCompute(log_2_N,N/16,1); }
public void render(GLTexture sceneSampler) { contrastShader.bind(); glBindImageTexture(0, sceneSampler.getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA16F); glBindImageTexture(1, contrastTexture.getHandle(), 0, false, 0, GL_WRITE_ONLY, GL_RGBA16F); contrastShader.updateUniforms(contrastFactor, brightnessFactor); glDispatchCompute(BaseContext.getWindow().getWidth()/16, BaseContext.getWindow().getHeight()/16, 1); glFinish(); }
public void render(GLTexture sceneSampler, GLTexture lightScatteringMask) { lightScatteringShader.bind(); glBindImageTexture(0, lightScatteringMask.getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA16F); glBindImageTexture(1, sunLightScatteringTexture.getHandle(), 0, false, 0, GL_WRITE_ONLY, GL_RGBA16F); lightScatteringShader.updateUniforms(BaseContext.getWindow().getWidth(), BaseContext.getWindow().getHeight(), BaseContext.getCamera().getViewProjectionMatrix()); glDispatchCompute(BaseContext.getWindow().getWidth()/8, BaseContext.getWindow().getHeight()/8, 1); glFinish(); additiveBlendShader.bind(); glBindImageTexture(0, sunLightScatteringTexture.getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA16F); glBindImageTexture(1, sceneSampler.getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA16F); glBindImageTexture(2, sunLightScatteringSceneTexture.getHandle(), 0, false, 0, GL_WRITE_ONLY, GL_RGBA16F); glDispatchCompute(BaseContext.getWindow().getWidth()/8, BaseContext.getWindow().getHeight()/8, 1); glFinish(); }
public void render(GLTexture sceneTexture, GLTexture sceneDepthMap) { underWaterShader.bind(); glBindImageTexture(0, sceneTexture.getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA16F); glBindImageTexture(1, underwaterSceneTexture.getHandle(), 0, false, 0, GL_WRITE_ONLY, GL_RGBA16F); underWaterShader.updateUniforms(sceneDepthMap); glDispatchCompute(BaseContext.getWindow().getWidth()/8, BaseContext.getWindow().getHeight()/8, 1); glFinish(); distortion += distortion_delta; GLContext.getResources().setUnderwaterDistortion(distortion); }
public void render(GLTexture depthmap, GLTexture lightScatteringMask, GLTexture sceneSampler, int width, int height) { getLowResFbo().bind(); fullScreenQuad.setTexture(sceneSampler); glViewport(0,0,(int)(width/1.2f),(int)(height/1.2f)); fullScreenQuad.render(); getLowResFbo().unbind(); glViewport(0,0, width, height); horizontalBlurShader.bind(); glBindImageTexture(0, sceneSampler.getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA16F); glBindImageTexture(1, lowResSceneSampler.getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA16F); glBindImageTexture(2, lightScatteringMask.getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA16F); glBindImageTexture(3, horizontalBlurSceneTexture.getHandle(), 0, false, 0, GL_WRITE_ONLY, GL_RGBA16F); horizontalBlurShader.updateUniforms(depthmap); glDispatchCompute(BaseContext.getWindow().getWidth()/8, BaseContext.getWindow().getHeight()/8, 1); glFinish(); verticalBlurShader.bind(); glBindImageTexture(0, horizontalBlurSceneTexture.getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA16F); glBindImageTexture(1, lightScatteringMask.getHandle(), 0, false, 0, GL_READ_ONLY, GL_RGBA16F); glBindImageTexture(2, verticalBlurSceneTexture.getHandle(), 0, false, 0, GL_WRITE_ONLY, GL_RGBA16F); verticalBlurShader.updateUniforms(depthmap); glDispatchCompute(BaseContext.getWindow().getWidth()/8, BaseContext.getWindow().getHeight()/8, 1); glFinish(); }
public void render(GLTexture heightmap){ computeShader.bind(); computeShader.updateUniforms(heightmap, N, strength); glBindImageTexture(0, normalmap.getHandle(), 0, false, 0, GL_WRITE_ONLY, GL_RGBA32F); glDispatchCompute(N/16,N/16,1); glFinish(); normalmap.bind(); normalmap.trilinearFilter(); }
public void render(GLTexture normalmap, GLTexture heightmap, float yScale){ shader.bind(); shader.updateUniforms(normalmap, heightmap, N, yScale); glBindImageTexture(0, splatmap.getHandle(), 0, false, 0, GL_WRITE_ONLY, GL_RGBA16F); glDispatchCompute(N/16,N/16,1); glFinish(); splatmap.bind(); splatmap.bilinearFilter(); }
public void render(List<FractalMap> fractals){ shader.bind(); shader.updateUniforms(fractals, N); glBindImageTexture(0, fractalmap.getHandle(), 0, false, 0, GL_WRITE_ONLY, GL_RGBA32F); glDispatchCompute(N/16,N/16,1); glFinish(); fractalmap.bind(); fractalmap.bilinearFilter(); }
public void render() { shader.bind(); shader.updateUniforms(N, L, amplitude, direction, intensity, capillarSupressFactor); glActiveTexture(GL_TEXTURE0); noise0.bind(); glActiveTexture(GL_TEXTURE1); noise1.bind(); glActiveTexture(GL_TEXTURE2); noise2.bind(); glActiveTexture(GL_TEXTURE3); noise3.bind(); shader.updateUniforms(0, 1, 2, 3); glBindImageTexture(0, imageH0k.getHandle(), 0, false, 0, GL_WRITE_ONLY, GL_RGBA32F); glBindImageTexture(1, imageH0minusK.getHandle(), 0, false, 0, GL_WRITE_ONLY, GL_RGBA32F); glDispatchCompute(N/16,N/16,1); }
glBindImageTexture(0, noiseTexture.getHandle(), 0, false, 0, GL_WRITE_ONLY, GL_RGBA32F); noiseTextureShader.updateUniforms(randomx, randomy); glDispatchCompute(1,1,1);
public void render(GLTexture sceneTexture){ shader.bind(); glBindImageTexture(0, fxaaSceneTexture.getHandle(), 0, false, 0, GL_WRITE_ONLY, GL_RGBA16F); shader.updateUniforms(sceneTexture); glDispatchCompute(BaseContext.getWindow().getWidth()/16, BaseContext.getWindow().getHeight()/16, 1); }