예제 #1
0
 public static void TexParameteriv(OpenGL.TextureTarget target, OpenGL.TextureParameterName pname, TextureParameter[] @params)
 {
     int[] iparams = new int[@params.Length];
     for (int i = 0; i < iparams.Length; i++)
     {
         iparams[i] = (int)@params[i];
     }
     Delegates.glTexParameteriv(target, pname, iparams);
 }
예제 #2
0
        public static void TexImage2D <T>(OpenGL.TextureTarget target, Int32 level, OpenGL.PixelInternalFormat internalFormat, Int32 width,
                                          Int32 height, Int32 border, OpenGL.PixelFormat format, OpenGL.PixelType type, T[] data)
            where T : struct
        {
            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);

            try { Delegates.glTexImage2D(target, level, internalFormat, width, height, border, format, type, data_ptr.AddrOfPinnedObject()); }
            finally { data_ptr.Free(); }
        }
예제 #3
0
        public void BindTexture(OpenGL.TextureTarget /*GLenum*/ target, int /*GLuint*/ texture)
        {
            if (d_activeTexturePosition == -1)
            {
                return;
            }

            var boundTexture = d_boundTextures[d_activeTexturePosition];

            if (boundTexture.d_target != (int)target || boundTexture.d_texture != texture)
            {
                OpenGL.GL.BindTexture(target, texture);
                boundTexture.BindTexture((int)target, texture);
            }
        }
예제 #4
0
        internal OpenGLTexture(int handle, OpenGL.TextureTarget target, int levelCount)
        {
            Handle     = handle;
            Target     = target;
            HasMipMaps = levelCount > 1;

            // TODO: ...

            WrapS          = TextureAddressMode.Wrap;
            WrapT          = TextureAddressMode.Wrap;
            WrapR          = TextureAddressMode.Wrap;
            Filter         = TextureFilter.Linear;
            Anistropy      = 4.0f;
            MaxMipmapLevel = 0;
            LODBias        = 0.0f;
        }
예제 #5
0
 public static void TexParameteri(OpenGL.TextureTarget target, OpenGL.TextureParameterName pname, TextureParameter param)
 {
     Delegates.glTexParameteri(target, pname, (int)param);
 }