예제 #1
0
 /// <summary>Construct the object</summary>
 public ImmediateContext(Context context, iVrmacDraw factory, PaletteTexture palette)
 {
     resources        = new GpuResources(context, palette);
     states           = new StatesCache(resources);
     depthValues      = DepthValues.create(context.swapChainFormats.depth);
     tesselatorThread = new Tessellate.Tesselator(context, factory);
 }
예제 #2
0
파일: Meshes.cs 프로젝트: zeta1999/Vrmac
 public void ensureExtraStroke(iVrmacDraw factory)
 {
     if (null != extraStroke)
     {
         return;
     }
     extraStroke = new ExtraStrokeMesh(this, factory);
 }
예제 #3
0
        public Tesselator(Context context, iVrmacDraw factory)
        {
            postJobCallback = threadMain;
            this.factory    = factory;

            clippingRectangle = computeDefaultClipRectangle(context.swapChainSize);
            context.swapChainResized.add(this, resized);

            this.context = context;
        }
예제 #4
0
        public static iPolylinePath getTemp(iVrmacDraw factory)
        {
            iPolylinePath tmp = tempPolyline;

            if (null != tmp)
            {
                return(tmp);
            }
            tmp          = factory.createPolylinePath();
            tempPolyline = tmp;
            return(tmp);
        }
예제 #5
0
 public ExtraStrokeMesh(Meshes owner, iVrmacDraw factory)
 {
     this.owner  = owner;
     frontBuffer = factory.createTriangleMesh();
     backBuffer  = factory.createTriangleMesh();
 }
예제 #6
0
 iPathGeometry iPathData.createPathGeometry(iVrmacDraw utils)
 {
     createNativeStructures(out var p, out var s, out var f, out var pd);
     return(utils.createPathGeometry(ref p.GetPinnableReference(), ref s, ref f, pd));
 }
예제 #7
0
 internal TextureAtlas(Context context, iVrmacDraw factory, eTextureAtlasFormat format = eTextureAtlasFormat.RGBA8)
 {
     this.context = context;
     using (var dev = context.device)
         atlas = factory.createTextureAtlas(context.device, format);
 }
예제 #8
0
 public VrmacDrawContext(Context context, DrawDevice device, iVrmacDraw factory) :
     base(context, factory, device.paletteTexture)
 {
     this.context = context;
     this.device  = device;
 }
예제 #9
0
파일: Textures.cs 프로젝트: zeta1999/Vrmac
 public Textures(Context context, iVrmacDraw factory)
 {
     grayscale = new TextureAtlas(context, factory, eTextureAtlasFormat.R8);
     cleartype = new TextureAtlas(context, factory, eTextureAtlasFormat.RGBA8);
 }
예제 #10
0
파일: Meshes.cs 프로젝트: zeta1999/Vrmac
 public Meshes(iPathGeometry path, iVrmacDraw factory)
 {
     this.path   = path;
     frontBuffer = factory.createTriangleMesh();
     backBuffer  = factory.createTriangleMesh();
 }