public void Render(ShaderResourceView tex, float dt) { ET += dt * 0.5f; //CentrePoint = new Vector2((float)Math.Cos(ET * 3.14f) * 1000 + RenderBase.RenderWidth / 2, (float)Math.Sin(ET) * 1000 + RenderBase.RenderHeight / 2); RenderBase.DeviceContext.InputAssembler.SetVertexBuffers(0, 0, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero); RenderBase.DeviceContext.InputAssembler.SetIndexBuffer(null, (SharpDX.DXGI.Format) 0, 0); vertexShader.Set(); RenderBase.DeviceContext.PixelShader.Set(pixelShader); RenderBase.DeviceContext.PixelShader.SetShaderResource(0, tex); RenderBase.DeviceContext.InputAssembler.PrimitiveTopology = PrimitiveTopology.TriangleList; //RenderBase.DeviceContext.OutputMerger.BlendState = RenderBase.Additive; var ds = cb.Map(); ds.Write(CentrePoint); ds.Write(CutOff); //ds.Write((float)Math.Tan(ET * 0.1f * Math.Tan(ET * 2418.241f)) * 1.0f); ds.Write(Intensity); ds.Write(0); ds = null; cb.UnMap(); cb.Set(3); RenderBase.DeviceContext.Draw(3, 0); //RenderBase.DeviceContext.OutputMerger.BlendState = RenderBase.Default; }
public void Render() { RenderBase.DeviceContext.InputAssembler.SetVertexBuffers(0, 0, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero); RenderBase.DeviceContext.InputAssembler.SetIndexBuffer(null, (SharpDX.DXGI.Format) 0, 0); vertexShader.Set(); RenderBase.DeviceContext.PixelShader.Set(pixelShader); RenderBase.DeviceContext.InputAssembler.PrimitiveTopology = PrimitiveTopology.TriangleList; RenderBase.DeviceContext.OutputMerger.BlendState = RenderBase.BlendStates.Additive; var ds = cb.Map(); ds.Write(Manager.FishCount); ds.Write(150.0f * (1 + Input.XInputInput.State[0].LeftTrigger / 255.0f * 5) * (1 - Input.XInputInput.State[0].RightTrigger / 255.0f)); ds.Write(Intensity);//(Input.XInputInput.State[0].LeftThumbY / (float)short.MaxValue + 1.0f) * 0.75f); ds.Write((et += (1.0f / 60.0f)) * 100.0f); for (int i = 0; i < FishManager.MAX_FISH_COUNT; i++) { if (Manager.FishList[i] != null) { ds.Write(Manager.FishList[i].Position); ds.Write(0.0f); ds.Write(1.0f); } else { ds.Write(Vector4.Zero); } } for (int i = 0; i < FishManager.MAX_FISH_COUNT; i++) { if (Manager.FishList[i] != null) { ds.Write(Manager.FishList[i].Color); } else { ds.Write(Vector4.Zero); } } ds = null; cb.UnMap(); cb.Set(1); RenderBase.DeviceContext.Draw(3, 0); RenderBase.DeviceContext.OutputMerger.BlendState = RenderBase.BlendStates.Default; }
public void Set(Vector3 dir, Vector3 col, float intensity) { var ds = cb.Map(); dir.Normalize(); ds.Write(dir); ds.Write(intensity); ds.Write(col); ds.Write(0.0f); ds = null; cb.UnMap(); cb.Set(4); }