/// <summary> /// Used to override Detach /// </summary> protected override void OnDetach() { bufferModelInternal = null; InstanceBuffer.DisposeAndClear(); BoundManager.DisposeAndClear(); base.OnDetach(); }
public override void Draw(DeviceContextProxy deviceContext, IAttachableBufferModel bufferModel, int instanceCount) { if (bufferModel is IBillboardBufferModel billboardModel) { deviceContext.SetShaderResource(PixelShader.Type, shaderTextureSlot, billboardModel.TextureView); DrawPoints(deviceContext, bufferModel.VertexBuffer[0].ElementCount, instanceCount); } }
private void CreateGeometryBuffer() { RemoveAndDispose(ref bufferModelInternal); bufferModelInternal = Collect(OnCreateBufferModel(this.GUID, geometry)); if (RenderCore is IGeometryRenderCore core) { core.GeometryBuffer = bufferModelInternal; } }
private void CreateGeometryBuffer() { var newBuffer = OnCreateBufferModel(this.GUID, geometry); RemoveAndDispose(ref bufferModelInternal); bufferModelInternal = newBuffer; if (RenderCore is IGeometryRenderCore core) { core.GeometryBuffer = bufferModelInternal; } }
protected override void OnGeometryBufferChanged(IAttachableBufferModel buffer) { base.OnGeometryBufferChanged(buffer); preComputeBoneBuffer = buffer as IBoneSkinPreComputehBufferModel; }
public override void Draw(DeviceContextProxy deviceContext, IAttachableBufferModel bufferModel, int instanceCount) { DrawIndexed(deviceContext, bufferModel.IndexBuffer.ElementCount, instanceCount); }
/// <summary> /// Called when [geometry buffer changed]. /// </summary> /// <param name="buffer">The buffer.</param> protected virtual void OnGeometryBufferChanged(IAttachableBufferModel buffer) { }
/// <summary> /// Draws the specified device context. /// </summary> /// <param name="deviceContext">The device context.</param> /// <param name="bufferModel">The buffer model.</param> /// <param name="instanceCount">The instance count.</param> public override void Draw(DeviceContextProxy deviceContext, IAttachableBufferModel bufferModel, int instanceCount) { }
protected override void OnGeometryBufferChanged(IAttachableBufferModel buffer) { billboardBuffer = buffer as IBillboardBufferModel; }
public override void Draw(DeviceContextProxy deviceContext, IAttachableBufferModel bufferModel, int instanceCount) { DrawPoints(deviceContext, bufferModel.VertexBuffer[0].ElementCount, instanceCount); }
/// <summary> /// Draws the specified device context. /// </summary> /// <param name="deviceContext">The device context.</param> /// <param name="bufferModel">Geometry buffer model.</param> /// <param name="instanceCount">The instance count.</param> public abstract void Draw(DeviceContextProxy deviceContext, IAttachableBufferModel bufferModel, int instanceCount);