AbstractRenderer.java :  » Java-3D » ferox-gl » com » ferox » renderer » impl2 » Java Open Source

Java Open Source » Java 3D » ferox gl 
ferox gl » com » ferox » renderer » impl2 » AbstractRenderer.java
package com.ferox.renderer.impl2;

import com.ferox.math.ReadOnlyVector4f;
import com.ferox.renderer.Renderer;

public abstract class AbstractRenderer implements Renderer {
    private final RendererDelegate delegate;
    private boolean initialized;
    
    public AbstractRenderer(RendererDelegate delegate) {
        if (delegate == null)
            throw new NullPointerException("Delegate cannot be null");
        this.delegate = delegate;
        initialized = false;
    }
    
    @Override
    public void clear(boolean clearColor, boolean clearDepth, boolean clearStencil, ReadOnlyVector4f color, float depth, int stencil) {
        delegate.clear(clearColor, clearDepth, clearStencil, color, depth, stencil);
    }

    @Override
    public void reset() {
        if (!initialized) {
            delegate.init();
            init();
            initialized = true;
        }
        delegate.reset();
    }

    @Override
    public void setBlendColor(ReadOnlyVector4f color) {
        delegate.setBlendColor(color);
    }

    @Override
    public void setBlendMode(BlendFunction function, BlendFactor src, BlendFactor dst) {
        delegate.setBlendMode(function, src, dst);
    }

    @Override
    public void setBlendModeAlpha(BlendFunction function, BlendFactor src, BlendFactor dst) {
        delegate.setBlendModeAlpha(function, src, dst);
    }

    @Override
    public void setBlendModeRgb(BlendFunction function, BlendFactor src, BlendFactor dst) {
        delegate.setBlendModeRgb(function, src, dst);
    }

    @Override
    public void setBlendingEnabled(boolean enable) {
        delegate.setBlendingEnabled(enable);
    }

    @Override
    public void setColorWriteMask(boolean red, boolean green, boolean blue, boolean alpha) {
        delegate.setColorWriteMask(red, green, blue, alpha);
    }

    @Override
    public void setDepthOffsets(float factor, float units) {
        delegate.setDepthOffsets(factor, units);
    }

    @Override
    public void setDepthOffsetsEnabled(boolean enable) {
        delegate.setDepthOffsetsEnabled(enable);
    }

    @Override
    public void setDepthTest(Comparison test) {
        delegate.setDepthTest(test);
    }

    @Override
    public void setDepthWriteMask(boolean mask) {
        delegate.setDepthWriteMask(mask);
    }

    @Override
    public void setDrawStyle(DrawStyle style) {
        delegate.setDrawStyle(style);
    }

    @Override
    public void setDrawStyle(DrawStyle front, DrawStyle back) {
        delegate.setDrawStyle(front, back);
    }

    @Override
    public void setStencilTest(Comparison test, int refValue, int testMask) {
        delegate.setStencilTest(test, refValue, testMask);
    }

    @Override
    public void setStencilTestBack(Comparison test, int refValue, int testMask) {
        delegate.setStencilTestBack(test, refValue, testMask);
    }

    @Override
    public void setStencilTestEnabled(boolean enable) {
        delegate.setStencilTestEnabled(enable);
    }

    @Override
    public void setStencilTestFront(Comparison test, int refValue, int testMask) {
        delegate.setStencilTestFront(test, refValue, testMask);
    }

    @Override
    public void setStencilUpdateOps(StencilOp stencilFail, StencilOp depthFail, StencilOp depthPass) {
        delegate.setStencilUpdateOps(stencilFail, depthFail, depthPass);
    }

    @Override
    public void setStencilUpdateOpsBack(StencilOp stencilFail, StencilOp depthFail, StencilOp depthPass) {
        delegate.setStencilUpdateOpsBack(stencilFail, depthFail, depthPass);
    }

    @Override
    public void setStencilUpdateOpsFront(StencilOp stencilFail, StencilOp depthFail, StencilOp depthPass) {
        delegate.setStencilUpdateOpsFront(stencilFail, depthFail, depthPass);
    }

    @Override
    public void setStencilWriteMask(int mask) {
        delegate.setStencilWriteMask(mask);
    }

    @Override
    public void setStencilWriteMask(int front, int back) {
        delegate.setStencilWriteMask(front, back);
    }

    @Override
    public void setViewport(int x, int y, int width, int height) {
        delegate.setViewport(x, y, width, height);
    }
    
    public void setSurfaceSize(int width, int height) {
        delegate.setSurfaceSize(width, height);
    }
    
    protected abstract void init();
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.