private bool SetShaderParameters(DeviceContext deviceContext, Matrix worldMatrix, Matrix viewMatrix, Matrix projectionMatrix, ShaderResourceView texture, Vector4 pixelColor) { try { worldMatrix.Transpose(); viewMatrix.Transpose(); projectionMatrix.Transpose(); deviceContext.MapSubresource(_constantBuffer, MapMode.WriteDiscard, MapFlags.None, out DataStream mappedResource); ConstantBufferType matrixBuffer = new ConstantBufferType() { world = worldMatrix, view = viewMatrix, projection = projectionMatrix }; mappedResource.Write(matrixBuffer); deviceContext.UnmapSubresource(_constantBuffer, 0); int bufferSlotNuber = 0; deviceContext.VertexShader.SetConstantBuffer(bufferSlotNuber, _constantBuffer); deviceContext.PixelShader.SetShaderResources(0, texture); deviceContext.MapSubresource(_pixelBuffer, MapMode.WriteDiscard, MapFlags.None, out mappedResource); mappedResource.Write(pixelColor); deviceContext.UnmapSubresource(_pixelBuffer, 0); deviceContext.PixelShader.SetConstantBuffer(bufferSlotNuber, _pixelBuffer); return(true); } catch { return(false); } }
/// <summary> /// Parses the specified enum name. /// </summary> /// <param name="enumName"> /// Name of the enum. /// </param> /// <returns> /// A qualifier /// </returns> public static new ConstantBufferType Parse(string enumName) { if (enumName == (string)ResourceGroup.Key) { return(ResourceGroup); } return(ConstantBufferType.Parse(enumName)); }
/// <summary> /// Parses the specified enum name. /// </summary> /// <param name="enumName"> /// Name of the enum. /// </param> /// <returns> /// A qualifier /// </returns> public static new SiliconStudio.Shaders.Ast.Hlsl.ConstantBufferType Parse(string enumName) { if (enumName == (string)ResourceGroup.Key) { return(ResourceGroup); } return(ConstantBufferType.Parse(enumName)); }
bool SetShaderParameters(DeviceContext deviceContext, Matrix world, Matrix view, Matrix projection, ShaderResourceView texture, Color4 pixelColor) { try { var constantBufferType = new ConstantBufferType { World = Matrix.Transpose(world), View = Matrix.Transpose(view), Projection = Matrix.Transpose(projection) }; deviceContext.UpdateSubresource(ref constantBufferType, constantBuffer); deviceContext.VertexShader.SetConstantBuffer(0, constantBuffer); deviceContext.PixelShader.SetShaderResource(0, texture); var pixelBufferType = new PixelBufferType { PixelColor = pixelColor }; deviceContext.UpdateSubresource(ref pixelBufferType, pixelBuffer); deviceContext.PixelShader.SetConstantBuffer(0, pixelBuffer); } catch { return(false); } return(true); }
private static void CreateConstantBufferTypeAst(ParsingContext context, ParseTreeNode node) { node.AstNode = ConstantBufferType.Parse(node.ChildNodes[0].Token.Text); }
protected virtual void CreateConstantBufferTypeAst(ParsingContext context, ParseTreeNode node) { node.AstNode = ConstantBufferType.Parse(node.ChildNodes[0].Token.Text); }