public BaseRenderQueue createRenderQueue(PipelineState pipeline) { BaseRenderQueue rq = new BaseRenderQueue(pipeline); myRenderQueues[pipeline.id] = rq; return(rq); }
// public override void preparePerPassFinalize(Pass p) { } // public override void prepareFrameFinalize() { } #endregion #region generate command phase // public override void generateRenderCommandsBegin(BaseRenderQueue q) { } public override void generateRenderCommand(RenderInfo r, BaseRenderQueue q) { ParticleSystemInfo psi = r as ParticleSystemInfo; q.addCommand(new SetRenderStateCommand(r.renderState)); q.addCommand(new DrawArraysCommand(PrimitiveType.Points, 0, psi.count)); }
//public override void generateCommandsBegin(BaseRenderQueue q) { } public override void generateRenderCommand(RenderInfo r, BaseRenderQueue q) { StaticModelInfo smi = r as StaticModelInfo; q.addCommand(new SetRenderStateCommand(r.renderState)); q.addCommand(new DrawIndexedCommand(PrimitiveType.Triangles, smi.indexCount, smi.indexOffset, DrawElementsType.UnsignedShort)); }
//public override void preparePerPassFinalize(Pass p) { } //public override void preparePerView(Renderable r, View v) { } //public override void prepareFrameFinalize() { } #endregion #region generate command phase //public override void generateCommandsBegin(BaseRenderQueue q) { } public override void generateRenderCommand(RenderInfo r, BaseRenderQueue q) { SkyboxRenderInfo skyInfo = r as SkyboxRenderInfo; q.addCommand(new SetRenderStateCommand(r.renderState)); q.addCommand(new DrawIndexedCommand(PrimitiveType.Triangles, 36, 0, DrawElementsType.UnsignedShort)); }
public virtual void registerQueue(BaseRenderQueue rq) { if (myRenderQueues.ContainsKey(rq.myPipeline.id) == false) { myRenderQueues[rq.myPipeline.id] = rq; } }
public virtual BaseRenderQueue findRenderQueue(UInt64 pipelineId) { BaseRenderQueue rq = null; myRenderQueues.TryGetValue(pipelineId, out rq); return(rq); }
public void executeRenderQueue(BaseRenderQueue rq) { bindPipeline(rq.myPipeline); foreach (RenderCommand rc in rq.commands) { rc.execute(); } }
public DebugPass(RenderTarget rt = null) : base("Debug", "debug") { renderTarget = rt; PipelineState ps = new PipelineState(); ps.blending.enabled = true; ps.shaderState.shaderProgram = DebugRenderer.canvas.myShader; ps.vaoState.vao = DebugRenderer.canvas.myVao; ps.generateId(); myRenderQueue = Renderer.device.createRenderQueue(ps); myRenderQueue.name = "debug"; registerQueue(myRenderQueue); }
public virtual void generateRenderCommandsFinalize(BaseRenderQueue q) { }
public virtual void generateRenderCommand(RenderInfo r, BaseRenderQueue q) { }
//generate command phase phase public virtual void generateRenderCommandsBegin(BaseRenderQueue q) { }