public DefaultRenderRequest( IRenderContext renderContext, RasterizerState rasterizerState, BlendState blendState, DepthStencilState depthStencilState, IEffect effect, string techniqueName, IEffectParameterSet effectParameterSet, VertexBuffer meshVertexBuffer, IndexBuffer meshIndexBuffer, PrimitiveType primitiveType, Matrix[] instances, Action <List <Matrix>, VertexBuffer, IndexBuffer> computeCombinedBuffers, LocalisedBoundingRegion boundingRegion) { #if DEBUG GraphicsMetricsProfilerVisualiser.RenderRequestsCreated++; #endif RasterizerState = rasterizerState; BlendState = blendState; DepthStencilState = depthStencilState; Effect = effect; TechniqueName = techniqueName; EffectParameterSet = effectParameterSet; MeshVertexBuffer = meshVertexBuffer; MeshIndexBuffer = meshIndexBuffer; PrimitiveType = primitiveType; Instances = instances; BoundingRegion = boundingRegion; _computeCombinedBuffers = computeCombinedBuffers; // Now that the parameter set has been used in a request, prevent it // from being changed. EffectParameterSet.Lock(renderContext); StateHash = RasterizerState.GetHashCode() ^ 397 + BlendState.GetHashCode() ^ 397 + DepthStencilState.GetHashCode() ^ 397 + Effect.GetHashCode() ^ 397 + TechniqueName.GetHashCode() ^ 397 + EffectParameterSet.GetStateHash() ^ 397 + MeshVertexBuffer.GetHashCode() ^ 397 + MeshIndexBuffer.GetHashCode() ^ 397 + PrimitiveType.GetHashCode() ^ 397; }
public DefaultRenderRequest( IRenderContext renderContext, RasterizerState rasterizerState, BlendState blendState, DepthStencilState depthStencilState, IEffect effect, string techniqueName, IEffectParameterSet effectParameterSet, VertexBuffer meshVertexBuffer, IndexBuffer meshIndexBuffer, PrimitiveType primitiveType, Matrix[] instances, Action<List<Matrix>, VertexBuffer, IndexBuffer> computeCombinedBuffers) { #if DEBUG GraphicsMetricsProfilerVisualiser.RenderRequestsCreated++; #endif RasterizerState = rasterizerState; BlendState = blendState; DepthStencilState = depthStencilState; Effect = effect; TechniqueName = techniqueName; EffectParameterSet = effectParameterSet; MeshVertexBuffer = meshVertexBuffer; MeshIndexBuffer = meshIndexBuffer; PrimitiveType = primitiveType; Instances = instances; _computeCombinedBuffers = computeCombinedBuffers; // Now that the parameter set has been used in a request, prevent it // from being changed. EffectParameterSet.Lock(renderContext); StateHash = RasterizerState.GetHashCode() ^ 397 + BlendState.GetHashCode() ^ 397 + DepthStencilState.GetHashCode() ^ 397 + Effect.GetHashCode() ^ 397 + TechniqueName.GetHashCode() ^ 397 + EffectParameterSet.GetStateHash() ^ 397 + MeshVertexBuffer.GetHashCode() ^ 397 + MeshIndexBuffer.GetHashCode() ^ 397 + PrimitiveType.GetHashCode() ^ 397; }
public override string ToString() { return("DrawTechnique: " + DrawTechnique.ToString() + " IB:" + IndexBuffer.GetHashCode().ToString()); }