Package com.ardor3d.renderer.state.record

Examples of com.ardor3d.renderer.state.record.RendererRecord


    public void setDepthRange(final double depthRangeNear, final double depthRangeFar) {
        GL11.glDepthRange(depthRangeNear, depthRangeFar);
    }

    public void setDrawBuffer(final DrawBufferTarget target) {
        final RendererRecord record = ContextManager.getCurrentContext().getRendererRecord();
        if (record.getDrawBufferTarget() != target) {
            int buffer = GL11.GL_BACK;
            switch (target) {
                case Back:
                    break;
                case Front:
                    buffer = GL11.GL_FRONT;
                    break;
                case BackLeft:
                    buffer = GL11.GL_BACK_LEFT;
                    break;
                case BackRight:
                    buffer = GL11.GL_BACK_RIGHT;
                    break;
                case FrontLeft:
                    buffer = GL11.GL_FRONT_LEFT;
                    break;
                case FrontRight:
                    buffer = GL11.GL_FRONT_RIGHT;
                    break;
                case FrontAndBack:
                    buffer = GL11.GL_FRONT_AND_BACK;
                    break;
                case Left:
                    buffer = GL11.GL_LEFT;
                    break;
                case Right:
                    buffer = GL11.GL_RIGHT;
                    break;
                case Aux0:
                    buffer = GL11.GL_AUX0;
                    break;
                case Aux1:
                    buffer = GL11.GL_AUX1;
                    break;
                case Aux2:
                    buffer = GL11.GL_AUX2;
                    break;
                case Aux3:
                    buffer = GL11.GL_AUX3;
                    break;
            }

            GL11.glDrawBuffer(buffer);
            record.setDrawBufferTarget(target);
        }
    }
View Full Code Here


        GL11.glCallList(displayListID);
    }

    public void clearClips() {
        final RenderContext context = ContextManager.getCurrentContext();
        final RendererRecord record = context.getRendererRecord();
        record.getScissorClips().clear();

        LwjglRendererUtil.applyScissors(record);
    }
View Full Code Here

        LwjglRendererUtil.applyScissors(record);
    }

    public void popClip() {
        final RenderContext context = ContextManager.getCurrentContext();
        final RendererRecord record = context.getRendererRecord();
        record.getScissorClips().pop();

        LwjglRendererUtil.applyScissors(record);
    }
View Full Code Here

        LwjglRendererUtil.applyScissors(record);
    }

    public void pushClip(final ReadOnlyRectangle2 rectangle) {
        final RenderContext context = ContextManager.getCurrentContext();
        final RendererRecord record = context.getRendererRecord();
        record.getScissorClips().push(rectangle);

        LwjglRendererUtil.applyScissors(record);
    }
View Full Code Here

        LwjglRendererUtil.applyScissors(record);
    }

    public void pushEmptyClip() {
        final RenderContext context = ContextManager.getCurrentContext();
        final RendererRecord record = context.getRendererRecord();
        record.getScissorClips().push(null);

        LwjglRendererUtil.applyScissors(record);
    }
View Full Code Here

        LwjglRendererUtil.applyScissors(record);
    }

    public void setClipTestEnabled(final boolean enabled) {
        final RenderContext context = ContextManager.getCurrentContext();
        final RendererRecord record = context.getRendererRecord();

        LwjglRendererUtil.setClippingEnabled(record, enabled);
    }
View Full Code Here

        // Should we apply the transform?
        final boolean doTrans = !texture.getTextureMatrix().isIdentity();

        // Now do them.
        final RendererRecord matRecord = ContextManager.getCurrentContext().getRendererRecord();
        if (doTrans) {
            checkAndSetUnit(unit, record, caps);
            LwjglRendererUtil.switchMode(matRecord, GL11.GL_TEXTURE);

            record.tmp_matrixBuffer.rewind();
View Full Code Here

        }

        if (_active == 0) {

            final RenderContext context = ContextManager.getCurrentContext();
            final RendererRecord record = context.getRendererRecord();

            // needed as FBOs do not share this flag it seems
            record.setClippingTestValid(false);

            // push a delimiter onto the clip stack
            _neededClip = _parentRenderer.isClipTestEnabled();
            if (_neededClip) {
                _parentRenderer.pushEmptyClip();
View Full Code Here

        if ((buffers & Renderer.BUFFER_ACCUMULATION) != 0) {
            clear |= GL2.GL_ACCUM_BUFFER_BIT;
        }

        final RenderContext context = ContextManager.getCurrentContext();
        final RendererRecord record = context.getRendererRecord();

        if (strict) {
            // grab our camera to get width and height info.
            final Camera cam = Camera.getCurrentCamera();

            gl.glEnable(GL.GL_SCISSOR_TEST);
            gl.glScissor(0, 0, cam.getWidth(), cam.getHeight());
            record.setClippingTestEnabled(true);
        }

        gl.glClear(clear);

        if (strict) {
View Full Code Here

    }

    public void applyNormalsMode(final NormalsMode normalsMode, final ReadOnlyTransform worldTransform) {
        final GL gl = GLContext.getCurrentGL();
        final RenderContext context = ContextManager.getCurrentContext();
        final RendererRecord rendRecord = context.getRendererRecord();
        if (normalsMode != NormalsMode.Off) {
            final ContextCapabilities caps = context.getCapabilities();
            switch (normalsMode) {
                case NormalizeIfScaled:
                    if (worldTransform.isRotationMatrix()) {
                        final ReadOnlyVector3 scale = worldTransform.getScale();
                        if (!(scale.getX() == 1.0 && scale.getY() == 1.0 && scale.getZ() == 1.0)) {
                            if (scale.getX() == scale.getY() && scale.getY() == scale.getZ()
                                    && caps.isOpenGL1_2Supported()
                                    && rendRecord.getNormalMode() != GL2ES1.GL_RESCALE_NORMAL) {
                                if (rendRecord.getNormalMode() == GLLightingFunc.GL_NORMALIZE) {
                                    gl.glDisable(GLLightingFunc.GL_NORMALIZE);
                                }
                                gl.glEnable(GL2ES1.GL_RESCALE_NORMAL);
                                rendRecord.setNormalMode(GL2ES1.GL_RESCALE_NORMAL);
                            } else if (rendRecord.getNormalMode() != GLLightingFunc.GL_NORMALIZE) {
                                if (rendRecord.getNormalMode() == GL2ES1.GL_RESCALE_NORMAL) {
                                    gl.glDisable(GL2ES1.GL_RESCALE_NORMAL);
                                }
                                gl.glEnable(GLLightingFunc.GL_NORMALIZE);
                                rendRecord.setNormalMode(GLLightingFunc.GL_NORMALIZE);
                            }
                        } else {
                            if (rendRecord.getNormalMode() == GL2ES1.GL_RESCALE_NORMAL) {
                                gl.glDisable(GL2ES1.GL_RESCALE_NORMAL);
                            } else if (rendRecord.getNormalMode() == GLLightingFunc.GL_NORMALIZE) {
                                gl.glDisable(GLLightingFunc.GL_NORMALIZE);
                            }
                            rendRecord.setNormalMode(GL.GL_ZERO);
                        }
                    } else {
                        if (!worldTransform.getMatrix().isIdentity()) {
                            // *might* be scaled...
                            if (rendRecord.getNormalMode() != GLLightingFunc.GL_NORMALIZE) {
                                if (rendRecord.getNormalMode() == GL2ES1.GL_RESCALE_NORMAL) {
                                    gl.glDisable(GL2ES1.GL_RESCALE_NORMAL);
                                }
                                gl.glEnable(GLLightingFunc.GL_NORMALIZE);
                                rendRecord.setNormalMode(GLLightingFunc.GL_NORMALIZE);
                            }
                        } else {
                            // not scaled
                            if (rendRecord.getNormalMode() == GL2ES1.GL_RESCALE_NORMAL) {
                                gl.glDisable(GL2ES1.GL_RESCALE_NORMAL);
                            } else if (rendRecord.getNormalMode() == GLLightingFunc.GL_NORMALIZE) {
                                gl.glDisable(GLLightingFunc.GL_NORMALIZE);
                            }
                            rendRecord.setNormalMode(GL.GL_ZERO);
                        }
                    }
                    break;
                case AlwaysNormalize:
                    if (rendRecord.getNormalMode() != GLLightingFunc.GL_NORMALIZE) {
                        if (rendRecord.getNormalMode() == GL2ES1.GL_RESCALE_NORMAL) {
                            gl.glDisable(GL2ES1.GL_RESCALE_NORMAL);
                        }
                        gl.glEnable(GLLightingFunc.GL_NORMALIZE);
                        rendRecord.setNormalMode(GLLightingFunc.GL_NORMALIZE);
                    }
                    break;
                case UseProvided:
                default:
                    if (rendRecord.getNormalMode() == GL2ES1.GL_RESCALE_NORMAL) {
                        gl.glDisable(GL2ES1.GL_RESCALE_NORMAL);
                    } else if (rendRecord.getNormalMode() == GLLightingFunc.GL_NORMALIZE) {
                        gl.glDisable(GLLightingFunc.GL_NORMALIZE);
                    }
                    rendRecord.setNormalMode(GL.GL_ZERO);
                    break;
            }
        } else {
            if (rendRecord.getNormalMode() == GL2ES1.GL_RESCALE_NORMAL) {
                gl.glDisable(GL2ES1.GL_RESCALE_NORMAL);
            } else if (rendRecord.getNormalMode() == GLLightingFunc.GL_NORMALIZE) {
                gl.glDisable(GLLightingFunc.GL_NORMALIZE);
            }
            rendRecord.setNormalMode(GL.GL_ZERO);
        }
    }
View Full Code Here

TOP

Related Classes of com.ardor3d.renderer.state.record.RendererRecord

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.