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); }
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(); } }
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); } }
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; }
public static void TexParameteri(OpenGL.TextureTarget target, OpenGL.TextureParameterName pname, TextureParameter param) { Delegates.glTexParameteri(target, pname, (int)param); }