Exemplo n.º 1
0
        //public override void generateRenderCommandsBegin(BaseRenderQueue q) { }
        //public override void generateRenderCommand(RenderInfo r, BaseRenderQueue q) { }
        public override void generateRenderCommandsFinalize(BaseRenderQueue q)
        {
            RenderQueue <TerrainRenderInfo> rq = q as RenderQueue <TerrainRenderInfo>;

            if (rq.myInfoCount > 0)
            {
                //these should all have the same renderstate
                TerrainRenderInfo firstTi = rq.myInfos[0] as TerrainRenderInfo;
                firstTi.renderState.setUniformBuffer(myInstanceMatrixBuffer.id, 2);
                setVertexBuffer(firstTi.renderState);
                q.addCommand(new SetRenderStateCommand(firstTi.renderState));
                q.commands.Add(new MultiDrawArraysCommand(PrimitiveType.Triangles, myOffset, myCount, myDrawCount));
            }
        }
Exemplo n.º 2
0
        public override void registerQueue(BaseRenderQueue rq)
        {
            base.registerQueue(rq);

            if (rq.myPipeline.id == 1)
            {
                myOpaqueTerrainQueue = rq;
            }
            if (rq.myPipeline.id == 2)
            {
                myTransparentTerrainQueue = rq;
            }
            if (rq.myPipeline.id == 3)
            {
                myWaterTerrainQueue = rq;
            }
        }
Exemplo n.º 3
0
        public GuiPass(RenderTarget target)
            : base("UI", "ui")
        {
            renderTarget = target;

            PipelineState ps = new PipelineState();

            ps.blending.enabled          = true;
            ps.shaderState.shaderProgram = UI.Canvas.theShader;
            ps.blending.enabled          = true;
            ps.culling.enabled           = false;
            ps.depthTest.enabled         = false;

            ps.vaoState.vao = new VertexArrayObject();
            ps.vaoState.vao.bindVertexFormat <V2T2B4>(ps.shaderState.shaderProgram);
            ps.generateId();

            myRenderQueue      = Renderer.device.createRenderQueue(ps);
            myRenderQueue.name = "UI";
            registerQueue(myRenderQueue);
        }