public ConvertFormatShader(QuadShader quad, UploadBuffer upload) { var dev = DirectX.Device.Get(); convert2D = new DirectX.Shader(DirectX.Shader.Type.Pixel, GetSource(ShaderBuilder.Builder2D), "ConvertFormatShader2D"); convert3D = new DirectX.Shader(DirectX.Shader.Type.Pixel, GetSource(ShaderBuilder.Builder3D), "ConvertFormatShader3D"); this.quad = quad; cbuffer = upload; }
public ConvertPolarShader(QuadShader quad) { this.quad = quad; toCube = new DirectX.Shader(DirectX.Shader.Type.Pixel, GetCubeSource(), "ConvertToCube"); toLatLong = new DirectX.Shader(DirectX.Shader.Type.Pixel, GetLatLongSource(), "CovertToLatLong"); sampler = new SamplerState(Device.Get().Handle, new SamplerStateDescription { AddressU = TextureAddressMode.Wrap, AddressV = TextureAddressMode.Wrap, AddressW = TextureAddressMode.Wrap, Filter = SharpDX.Direct3D11.Filter.Anisotropic, MaximumAnisotropy = 16 }); }
public MitchellNetravaliScaleShader(QuadShader quad, UploadBuffer upload) { this.quad = quad; shader = new DirectX.Shader(DirectX.Shader.Type.Pixel, GetSource(), "MitchellNetravaliScale"); cbuffer = upload; }
public ConvertTo3DShader(QuadShader quad) { this.quad = quad; shader3D = new DirectX.Shader(DirectX.Shader.Type.Pixel, GetSource3D(), "ArrayTo3DShader"); shaderLayer = new DirectX.Shader(DirectX.Shader.Type.Pixel, GetSourceLayer(), "3DToArrayShader"); }
public GifShader(QuadShader quad, UploadBuffer upload) { this.quad = quad; pixel = new DirectX.Shader(DirectX.Shader.Type.Pixel, GetSource(), "GifPixelShader"); cbuffer = upload; }
public void Run(ShaderResourceView left, ShaderResourceView right, ShaderResourceView overlay, RenderTargetView dst, int borderSize, int borderLocation, int width, int height, QuadShader quad, UploadBuffer cbuffer) { Debug.Assert(borderLocation >= 0); Debug.Assert(borderLocation < width); quad.Bind(false); var dev = Device.Get(); dev.Pixel.Set(pixel.Pixel); // update buffer cbuffer.SetData(new BufferData { BorderLocation = borderLocation, BorderSize = borderSize, UseOverlay = overlay != null }); // bind and draw dev.Pixel.SetConstantBuffer(0, cbuffer.Handle); dev.Pixel.SetShaderResource(0, left); dev.Pixel.SetShaderResource(1, right); dev.Pixel.SetShaderResource(2, overlay); dev.OutputMerger.SetRenderTargets(dst); dev.SetViewScissors(width, height); dev.DrawQuad(); // unbind dev.Pixel.SetShaderResource(0, null); dev.Pixel.SetShaderResource(1, null); dev.Pixel.SetShaderResource(2, overlay); dev.OutputMerger.SetRenderTargets((RenderTargetView)null); quad.Unbind(); }