internal static void Modify(RasterizerId id, RasterizerStateDescription desc) { RasterizerStates.Data[id.Index] = desc; RasterizerObjects[id.Index].Dispose(); RasterizerObjects[id.Index] = null; InitRasterizerState(id); }
internal static RasterizerState GetRasterizer(RasterizerId id) { return RasterizerObjects[id.Index]; }
internal static void InitRasterizerState(RasterizerId id) { if (RasterizerObjects[id.Index] == null) RasterizerObjects[id.Index] = new RasterizerState(MyRender11.Device, RasterizerStates.Data[id.Index]); }
internal static RasterizerId CreateRasterizerState(RasterizerStateDescription description) { var id = new RasterizerId { Index = RasterizerStates.Allocate() }; MyArrayHelpers.Reserve(ref RasterizerObjects, id.Index + 1); RasterizerStates.Data[id.Index] = description; InitRasterizerState(id); RasterizerIndices.Add(id); return id; }