Пример #1
0
 public void SetData(long key, long size, IntPtr hostAddress)
 {
     if (_cache.TryGetValue(key, out OglStreamBuffer buffer))
     {
         buffer.SetData(size, hostAddress);
     }
 }
Пример #2
0
        public bool TryGetImage(long key, out GalImage image)
        {
            if (_textureCache.TryGetValue(key, out ImageHandler cachedImage))
            {
                image = cachedImage.Image;

                return(true);
            }

            image = default(GalImage);

            return(false);
        }
Пример #3
0
        public void DrawElements(long iboKey, int first, int vertexBase, GalPrimitiveType primType)
        {
            if (!_iboCache.TryGetValue(iboKey, out int iboHandle))
            {
                return;
            }

            PrimitiveType mode = OglEnumConverter.GetPrimitiveType(primType);

            GL.BindBuffer(BufferTarget.ElementArrayBuffer, iboHandle);

            first <<= _indexBuffer.ElemSizeLog2;

            if (vertexBase != 0)
            {
                IntPtr indices = new IntPtr(first);

                GL.DrawElementsBaseVertex(mode, _indexBuffer.Count, _indexBuffer.Type, indices, vertexBase);
            }
            else
            {
                GL.DrawElements(mode, _indexBuffer.Count, _indexBuffer.Type, first);
            }
        }
Пример #4
0
 public bool TryGetVbo(long vboKey, out int vboHandle)
 {
     return(_vboCache.TryGetValue(vboKey, out vboHandle));
 }