@Override public R2DepthVarianceBufferType onCreate( final JCGLTextureUnitContextParentType tc, final R2DepthVarianceBufferDescriptionType key) { return R2DepthVarianceBuffer.newDepthVarianceBuffer( this.g.getFramebuffers(), this.g.getTextures(), tc, key); }
@Override public R2LightBufferType onCreate( final JCGLTextureUnitContextParentType tc, final R2LightBufferDescriptionType key) { return R2LightBuffers.newLightBuffer( this.g.getFramebuffers(), this.g.getTextures(), tc, key); }
@Override public R2AmbientOcclusionBufferType onCreate( final JCGLTextureUnitContextParentType tc, final R2AmbientOcclusionBufferDescriptionType key) { return R2AmbientOcclusionBuffer.newAmbientOcclusionBuffer( this.g.getFramebuffers(), this.g.getTextures(), tc, key); }
@Override public R2ImageBufferType onCreate( final JCGLTextureUnitContextParentType tc, final R2ImageBufferDescriptionType key) { return R2ImageBuffer.newImageBuffer( this.g.getFramebuffers(), this.g.getTextures(), tc, key); }
private static void clearFramebuffer( final JCGLInterfaceGL33Type g, final JCGLFramebufferUsableType framebuffer) { final JCGLFramebuffersType g_fb = g.getFramebuffers(); if (!g_fb.framebufferDrawIsBound(framebuffer)) { final StringBuilder sb = new StringBuilder(128); sb.append("Expected a framebuffer to be bound."); sb.append(System.lineSeparator()); sb.append("Framebuffer: "); sb.append(framebuffer); sb.append(System.lineSeparator()); throw new R2RendererExceptionFramebufferNotBound(sb.toString()); } JCGLRenderStates.activate(g, CLEAR_STATE); g.getClear().clear(CLEAR_SPEC); }
@Override public void clearBoundPrimaryFramebuffer( final JCGLInterfaceGL33Type g) throws R2RendererExceptionFramebufferNotBound { final JCGLFramebuffersType g_fb = g.getFramebuffers(); if (!g_fb.framebufferDrawIsBound(this.framebuffer)) { final StringBuilder sb = new StringBuilder(128); sb.append("Expected a framebuffer to be bound."); sb.append(System.lineSeparator()); sb.append("Framebuffer: "); sb.append(this.framebuffer); sb.append(System.lineSeparator()); throw new R2RendererExceptionFramebufferNotBound(sb.toString()); } JCGLRenderStates.activate(g, CLEAR_STATE); g.getClear().clear(CLEAR_SPEC); }
@Override public void clearBoundPrimaryFramebuffer( final JCGLInterfaceGL33Type g) throws R2RendererExceptionFramebufferNotBound { final JCGLFramebuffersType g_fb = g.getFramebuffers(); if (!g_fb.framebufferDrawIsBound(this.framebuffer)) { final StringBuilder sb = new StringBuilder(128); sb.append("Expected a framebuffer to be bound."); sb.append(System.lineSeparator()); sb.append("Framebuffer: "); sb.append(this.framebuffer); sb.append(System.lineSeparator()); throw new R2RendererExceptionFramebufferNotBound(sb.toString()); } JCGLRenderStates.activate(g, CLEAR_STATE); g.getClear().clear(CLEAR_SPEC); }
@Override public void clearBoundPrimaryFramebuffer( final JCGLInterfaceGL33Type g) throws R2RendererExceptionFramebufferNotBound { final JCGLFramebuffersType g_fb = g.getFramebuffers(); if (!g_fb.framebufferDrawIsBound(this.framebuffer)) { final StringBuilder sb = new StringBuilder(128); sb.append("Expected a framebuffer to be bound."); sb.append(System.lineSeparator()); sb.append("Framebuffer: "); sb.append(this.framebuffer); sb.append(System.lineSeparator()); throw new R2RendererExceptionFramebufferNotBound(sb.toString()); } JCGLRenderStates.activate(g, CLEAR_STATE); g.getClear().clear(CLEAR_SPEC); } }
@Override public void clearBoundPrimaryFramebuffer( final JCGLInterfaceGL33Type g) throws R2RendererExceptionFramebufferNotBound { final JCGLFramebuffersType g_fb = g.getFramebuffers(); if (!g_fb.framebufferDrawIsBound(this.framebuffer)) { final StringBuilder sb = new StringBuilder(128); sb.append("Expected a framebuffer to be bound."); sb.append(System.lineSeparator()); sb.append("Framebuffer: "); sb.append(this.framebuffer); sb.append(System.lineSeparator()); throw new R2RendererExceptionFramebufferNotBound(sb.toString()); } JCGLRenderStates.activate(g, CLEAR_STATE); g.getClear().clear(CLEAR_SPEC); }
@Override public void clearBoundPrimaryFramebuffer( final JCGLInterfaceGL33Type g) throws R2RendererExceptionFramebufferNotBound { final JCGLFramebuffersType g_fb = g.getFramebuffers(); if (!g_fb.framebufferDrawIsBound(this.framebuffer)) { final StringBuilder sb = new StringBuilder(128); sb.append("Expected a framebuffer to be bound."); sb.append(System.lineSeparator()); sb.append("Framebuffer: "); sb.append(this.framebuffer); sb.append(System.lineSeparator()); throw new R2RendererExceptionFramebufferNotBound(sb.toString()); } JCGLRenderStates.activate(g, CLEAR_STATE); g.getClear().clear(CLEAR_SPEC); } }
@Override public void delete(final JCGLInterfaceGL33Type g) throws R2Exception { if (!this.isDeleted()) { this.t_depth.delete(g); final JCGLFramebuffersType g_fb = g.getFramebuffers(); g_fb.framebufferDelete(this.framebuffer); } } }
@Override public void delete(final JCGLInterfaceGL33Type g) throws R2Exception { if (!this.isDeleted()) { this.t_occ.delete(g); final JCGLFramebuffersType g_fb = g.getFramebuffers(); g_fb.framebufferDelete(this.framebuffer); } } }
@Override public void delete(final JCGLInterfaceGL33Type g) throws R2Exception { if (!this.isDeleted()) { this.t_depth.delete(g); this.t_variance.delete(g); final JCGLFramebuffersType g_fb = g.getFramebuffers(); g_fb.framebufferDelete(this.framebuffer); } }
@Override public void delete(final JCGLInterfaceGL33Type g) throws R2Exception { if (!this.isDeleted()) { this.t_depth.delete(g); this.t_specular.delete(g); final JCGLFramebuffersType g_fb = g.getFramebuffers(); g_fb.framebufferDelete(this.framebuffer); } }
@Override public void delete(final JCGLInterfaceGL33Type g) throws R2Exception { if (!this.isDeleted()) { this.t_diffuse.delete(g); this.t_depth.delete(g); final JCGLFramebuffersType g_fb = g.getFramebuffers(); g_fb.framebufferDelete(this.framebuffer); } }
@Override public void delete(final JCGLInterfaceGL33Type g) throws R2Exception { if (!this.isDeleted()) { this.t_rgba.delete(g); if (this.t_depth != null) { this.t_depth.delete(g); } final JCGLFramebuffersType g_fb = g.getFramebuffers(); g_fb.framebufferDelete(this.framebuffer); } }
@Override public void delete(final JCGLInterfaceGL33Type g) throws R2Exception { if (!this.isDeleted()) { this.t_rgba.delete(g); if (this.t_depth != null) { this.t_depth.delete(g); } final JCGLFramebuffersType g_fb = g.getFramebuffers(); g_fb.framebufferDelete(this.framebuffer); } }
@Override public void delete(final JCGLInterfaceGL33Type g) throws R2Exception { if (!this.isDeleted()) { this.t_diffuse.delete(g); this.t_depth.delete(g); this.t_specular.delete(g); final JCGLFramebuffersType g_fb = g.getFramebuffers(); g_fb.framebufferDelete(this.framebuffer); } }
/** * Copy the contents of the depth/stencil attachment of the G-Buffer to the * current depth/stencil buffer. */ private void renderCopyDepthStencil( final R2GeometryBufferUsableType gbuffer, final AreaInclusiveUnsignedLType lbuffer_area) { final JCGLFramebufferUsableType gb_fb = gbuffer.primaryFramebuffer(); final JCGLFramebuffersType g_fb = this.g.getFramebuffers(); g_fb.framebufferReadBind(gb_fb); g_fb.framebufferBlit( gbuffer.area(), lbuffer_area, DEPTH_STENCIL, JCGLFramebufferBlitFilter.FRAMEBUFFER_BLIT_FILTER_NEAREST); g_fb.framebufferReadUnbind(); }
@Override public void delete(final JCGLInterfaceGL33Type g) throws R2Exception { if (!this.isDeleted()) { this.t_rgba.delete(g); this.t_depth.delete(g); this.t_norm.delete(g); if (this.t_spec != null) { this.t_spec.delete(g); } final JCGLFramebuffersType g_fb = g.getFramebuffers(); g_fb.framebufferDelete(this.framebuffer); } }