//readonly ShaderDebugMode debug1; public BackgroundRenderTechnique() { var d = new CombinedShadersLoader(new ManifestResourceLoader(typeof(BackgroundRenderTechnique <>))); pass = new D3DShaderTechniquePass(d.Load(path, "BG_")); vertexShader = new DisposableSetter <VertexShader>(disposer); pixelShader = new DisposableSetter <PixelShader>(disposer); depthStencilState = new DisposableSetter <DepthStencilState>(disposer); rasterizerStateDescription = new RasterizerStateDescription2() { CullMode = CullMode.None, FillMode = FillMode.Solid, IsMultisampleEnabled = false, IsFrontCounterClockwise = false, IsScissorEnabled = false, IsAntialiasedLineEnabled = false, DepthBias = 0, DepthBiasClamp = .0f, SlopeScaledDepthBias = .0f }; //debug1 = new ShaderDebugMode(new System.IO.DirectoryInfo(@"D:\Storage_D\trash\archive\shaders\"), pass); //debug1.Activate(); }
public StensilTest_TriangleColoredVertexRenderTechnique() { layconst = new VertexLayoutConstructor(Vertex.Size) .AddPositionElementAsVector3() .AddNormalElementAsVector3(); var d = new CombinedShadersLoader(new ManifestResourceLoader(typeof(TriangleColoredVertexRenderTechnique <>))); pass = new D3DShaderTechniquePass(d.Load(path, "CV_")); flatShadingPass = new D3DShaderTechniquePass(d.Load(gs_flat_shading, "FCV_")); wireframePass = new D3DShaderTechniquePass(d.Load(wireframe, "WCV_")); //debug1 = new ShaderDebugMode(new DirectoryInfo(@"D:\Storage_D\trash\archive\shaders\"), pass); //debug1.Activate(); //debug2 = new ShaderDebugMode(new DirectoryInfo(@"D:\Storage_D\trash\archive\shaders\"), flatShadingPass); //debug2.Activate(); depthStencilStateDesc = D3DDepthStencilDefinition.DepthEnabled; blendStateDesc = D3DBlendStateDescriptions.BlendStateEnabled; // blendStateDesc.AlphaToCoverageEnable = true; vertexShader = new DisposableSetter <VertexShader>(disposer); pixelShader = new DisposableSetter <PixelShader>(disposer); flatShadingGS = new DisposableSetter <GeometryShader>(disposer); inputLayout = new DisposableSetter <InputLayout>(disposer); wireframePS = new DisposableSetter <PixelShader>(disposer); wireframeGS = new DisposableSetter <GeometryShader>(disposer); }
public SpherePointRenderTechnique() { layconst = new VertexLayoutConstructor(Vertex.Size) .AddPositionElementAsVector4() .AddColorElementAsVector4(); var d = new CombinedShadersLoader(new ManifestResourceLoader(typeof(SpherePointRenderTechnique <>))); pass = new D3DShaderTechniquePass(d.Load(path, "SpP_")); vertexShader = new DisposableSetter <VertexShader>(disposer); pixelShader = new DisposableSetter <PixelShader>(disposer); geometryShader = new DisposableSetter <GeometryShader>(disposer); depthStencilState = new DisposableSetter <DepthStencilState>(disposer); inputLayout = new DisposableSetter <InputLayout>(disposer); rasterizerStateDescription = new RasterizerStateDescription2() { CullMode = CullMode.None, FillMode = FillMode.Solid, IsMultisampleEnabled = false, IsFrontCounterClockwise = false, IsScissorEnabled = false, IsAntialiasedLineEnabled = false, DepthBias = 0, DepthBiasClamp = .0f, SlopeScaledDepthBias = .0f }; }
public D3DAnimRenderComponent() { disposer = new DisposeWatcher(); vertexBuffers = new EnumerableDisposableSetter <List <Buffer> >(disposer); indexBuffers = new EnumerableDisposableSetter <List <Buffer> >(disposer); TextureViews = new EnumerableDisposableSetter <List <ShaderResourceView> >(disposer); PerObjectBuffer = new DisposableSetter <Buffer>(disposer); PerMaterialBuffer = new DisposableSetter <Buffer>(disposer); PerArmatureBuffer = new DisposableSetter <Buffer>(disposer); SamplerState = new DisposableSetter <SamplerState>(disposer); DepthStencilState = new DisposableSetter <DepthStencilState>(); TransformWorldBuffer = new DisposableSetter <Buffer>(); RasterizerState = new D3DRasterizerState(new RasterizerStateDescription() { FillMode = FillMode.Solid, CullMode = CullMode.Back, }); VertexShader = new DisposableSetter <VertexShader>(disposer); PixelShader = new DisposableSetter <PixelShader>(disposer); Layout = new DisposableSetter <InputLayout>(); PrimitiveTopology = SharpDX.Direct3D.PrimitiveTopology.TriangleList; BlendingState = new DisposableSetter <BlendState>(); CanRender = true; IsModified = true; }
public D3DTerrainRenderComponent() { VertexBuffers = new EnumerableDisposableSetter <SharpDX.Direct3D11.Buffer[]>(disposer); IndexBuffers = new EnumerableDisposableSetter <SharpDX.Direct3D11.Buffer[]>(disposer); SampleState = new DisposableSetter <SamplerState>(disposer); TextureResources = new EnumerableDisposableSetter <ShaderResourceView[]>(disposer); }
public OneFrameFlatWhiteRenderTechnique() { var d = new CombinedShadersLoader(new ManifestResourceLoader(typeof(OneFrameFlatWhiteRenderTechnique <>))); pass = new D3DShaderTechniquePass(d.Load(path, "BW_")); layconst = new VertexLayoutConstructor(Vertex.Size) .AddPositionElementAsVector3(); vertexShader = new DisposableSetter <VertexShader>(disposer); pixelShader = new DisposableSetter <PixelShader>(disposer); inputLayout = new DisposableSetter <InputLayout>(disposer); rasterizerStateDescription = new RasterizerStateDescription2() { CullMode = CullMode.Front, FillMode = FillMode.Solid, IsMultisampleEnabled = false, IsFrontCounterClockwise = false, IsScissorEnabled = false, IsAntialiasedLineEnabled = false, DepthBias = 0, DepthBiasClamp = .0f, SlopeScaledDepthBias = .0f }; }
public LineVertexRenderTechnique() { layconst = new VertexLayoutConstructor(Vertex.Size) .AddPositionElementAsVector4() .AddColorElementAsVector4(); var d = new CombinedShadersLoader(new ManifestResourceLoader(typeof(LineVertexRenderTechnique <>))); pass = new D3DShaderTechniquePass(d.Load(path, "L_")); vertexShader = new DisposableSetter <VertexShader>(disposer); pixelShader = new DisposableSetter <PixelShader>(disposer); inputLayout = new DisposableSetter <InputLayout>(disposer); }
public D3DRenderComponent() { CanRender = true; IsModified = true; disposer = new DisposeObserver(); TransformWorldBuffer = new DisposableSetter <SharpDX.Direct3D11.Buffer>(disposer); VertexBuffer = new DisposableSetter <SharpDX.Direct3D11.Buffer>(disposer); IndexBuffer = new DisposableSetter <SharpDX.Direct3D11.Buffer>(disposer); DepthStencilState = new DisposableSetter <DepthStencilState>(disposer); BlendingState = new DisposableSetter <BlendState>(disposer); MaterialBuffer = new DisposableSetter <SharpDX.Direct3D11.Buffer>(disposer); SampleState = new DisposableSetter <SamplerState>(disposer); TextureResources = new EnumerableDisposableSetter <ShaderResourceView[]>(disposer); }
public D3DRenderComponent() { CanRender = true; IsModified = true; disposer = new DisposeWatcher(); TransformWorldBuffer = new DisposableSetter <SharpDX.Direct3D11.Buffer>(disposer); VertexBuffer = new DisposableSetter <SharpDX.Direct3D11.Buffer>(disposer); IndexBuffer = new DisposableSetter <SharpDX.Direct3D11.Buffer>(disposer); DepthStencilState = new DisposableSetter <DepthStencilState>(disposer); BlendingState = new DisposableSetter <BlendState>(disposer); Layout = new DisposableSetter <InputLayout>(disposer); VertexShader = new DisposableSetter <VertexShader>(disposer); PixelShader = new DisposableSetter <PixelShader>(disposer); GeometryShader = new DisposableSetter <GeometryShader>(disposer); }
protected void DefaultUpdateInputOutput(GraphicsDevice graphics, D3DRenderComponent render, VertexLayoutConstructor layconst, DisposableSetter <InputLayout> inputLayout, RenderableComponent renderable) { var context = graphics.ImmediateContext; context.InputAssembler.SetVertexBuffers(0, new VertexBufferBinding(render.VertexBuffer.Get(), layconst.VertexSize, 0)); context.InputAssembler.SetIndexBuffer(render.IndexBuffer.Get(), SharpDX.DXGI.Format.R32_UInt, 0); context.InputAssembler.InputLayout = inputLayout.Get(); context.InputAssembler.PrimitiveTopology = renderable.PrimitiveTopology; context.OutputMerger.SetDepthStencilState(render.DepthStencilState.Get(), 0); context.OutputMerger.SetBlendState(render.BlendingState.Get(), new SharpDX.Mathematics.Interop.RawColor4(0, 0, 0, 0), -1); }
public BillboardRenderTechnique() { layconst = new VertexLayoutConstructor(Vertex.Size) .AddPositionElementAsVector4() .AddColorElementAsVector3() ; var d = new CombinedShadersLoader(new ManifestResourceLoader(this.GetType())); VS_FS = new D3DShaderTechniquePass(d.Load(path_VS_FS, "BILL_")); GS_ScreenFixed = new D3DShaderTechniquePass(d.Load(path_GS_ScreenFixed, "BILL_")); GS_SizeFixed = new D3DShaderTechniquePass(d.Load(path_GS_SizeFixed, "BILL_")); vertexShader = new DisposableSetter <VertexShader>(disposer); pixelShader = new DisposableSetter <PixelShader>(disposer); gsScreenFixed = new DisposableSetter <GeometryShader>(disposer); inputLayout = new DisposableSetter <InputLayout>(disposer); gsSizeFixed = new DisposableSetter <GeometryShader>(disposer); }
// ShaderDebugMode debug; public TriangleTexturedVertexRenderTechnique() { layconst = new VertexLayoutConstructor(Vertex.Size) .AddPositionElementAsVector3() .AddNormalElementAsVector3() .AddTexCoorElementAsVector2(); var d = new CombinedShadersLoader(new ManifestResourceLoader(typeof(TriangleTexturedVertexRenderTechnique <>))); pass = new D3DShaderTechniquePass(d.Load(path, "TV_")); flatShadingPass = new D3DShaderTechniquePass(d.Load(gs_flat_shading, "TV_")); //debug = new ShaderDebugMode(new DirectoryInfo(@"D:\"), pass); //debug.Activate(); depthStencilStateDesc = D3DDepthStencilDefinition.DepthEnabled; blendStateDesc = D3DBlendStateDescriptions.BlendStateEnabled; vertexShader = new DisposableSetter <VertexShader>(disposer); pixelShader = new DisposableSetter <PixelShader>(disposer); inputLayout = new DisposableSetter <InputLayout>(disposer); flatShadingGS = new DisposableSetter <GeometryShader>(disposer); }
public OITTriangleColoredVertexRenderTechnique() { layconst = new VertexLayoutConstructor(Vertex.Size) .AddPositionElementAsVector3() .AddNormalElementAsVector3() .AddColorElementAsVector4(); var d = new CombinedShadersLoader(new ManifestResourceLoader(typeof(OITTriangleColoredVertexRenderTechnique <>))); pass = new D3DShaderTechniquePass(d.Load(oit, "OIT_")); quardPass = new D3DShaderTechniquePass(d.Load(quard, "QOIT_")); depthStencilStateDesc = D3DDepthStencilDefinition.DepthEnabled.Description; blendStateDesc = D3DBlendStateDescriptions.BlendStateEnabled; vertexShader = new DisposableSetter <VertexShader>(disposer); pixelShader = new DisposableSetter <PixelShader>(disposer); inputLayout = new DisposableSetter <InputLayout>(disposer); vertexShaderQuard = new DisposableSetter <VertexShader>(disposer); pixelShaderQuard = new DisposableSetter <PixelShader>(disposer); colorTargetTex2D = new DisposableSetter <Texture2D>(disposer); alphaTargetTex2D = new DisposableSetter <Texture2D>(disposer); colorTargetNoMSAATexture2D = new DisposableSetter <Texture2D>(disposer); alphaTargetNoMSAATexture2D = new DisposableSetter <Texture2D>(disposer); colorTargetNoMSAA = new DisposableSetter <ShaderResourceView>(disposer); alphaTargetNoMSAA = new DisposableSetter <ShaderResourceView>(disposer); colorTargetView = new DisposableSetter <RenderTargetView>(disposer); alphaTargetView = new DisposableSetter <RenderTargetView>(disposer); quardTargetView = new DisposableSetter <RenderTargetView>(disposer); targetSampler = new DisposableSetter <SamplerState>(disposer); }
public D3DSkyPlaneRenderComponent() { SampleState = new DisposableSetter <SamplerState>(); TextureResources = new EnumerableDisposableSetter <ShaderResourceView[]>(); }
public void SetPixelShader(DisposableSetter <PixelShader> shader) { ImmediateContext.PixelShader.Set(shader.Get()); resourseHash.RegisterShader(ImmediateContext.PixelShader.GetHashCode()); }
public void RegisterConstantBuffer(CommonShaderStage stage, int slot, DisposableSetter <SharpDX.Direct3D11.Buffer> buff) { RegisterConstantBuffer(stage, slot, buff.Get()); }