Kısa süre önce OpenTK'yi indirdim. Temel bir oyun sınıfı ve bir dörtlük yarattım. Dörtliğimde bir doku oluşturmayı denedim ama işe yaramıyor. İşte benim kodum. Bu, dokusunun yüklenmesidir. (Doku sınıfı sadece bir ID ve bir Bitmap içerir. GetWidth() ve GetHeight() sadece Bitmap.Width ve Bitmap.Height'ı döndürür).C# OpenTK - Dokulu Dörtlü
Texture Texture = new Texture();
Texture.Bitmap = new Bitmap (Path);
Texture.ID = GL.GenTexture();
GL.BindTexture (TextureTarget.Texture2D, Texture.ID);
BitmapData data = Texture.Bitmap.LockBits (new Rectangle (0, 0, Texture.GetWidth(), Texture.GetHeight()), ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
GL.TexImage2D (TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, Texture.GetWidth(), Texture.GetHeight(), 0, OpenTK.Graphics.OpenGL.PixelFormat.Rgba, PixelType.Bitmap, data.Scan0);
Texture.Bitmap.UnlockBits (data);
GL.TexParameter (TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)All.Linear);
GL.TexParameter (TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)All.Linear);
return Texture;
Bu, oluşturma yöntemidir.
GL.Enable (EnableCap.Texture2D);
GL.BindTexture (TextureTarget.Texture2D, ID);
GL.Begin (PrimitiveType.Quads);
GL.TexCoord2 (0, 1); GL.Vertex2 (0, 32);
GL.TexCoord2 (1, 1); GL.Vertex2 (32, 32);
GL.TexCoord2 (1, 0); GL.Vertex2 (32, 0);
GL.TexCoord2 (0, 0); GL.Vertex2 (0, 0);
GL.End();
GL.Disable (EnableCap.Texture2D);
Sadece dörtlü ve başka hiçbir şey oluşturmaz. Birisi bana yardım edebilir mi? değiştirilmesi
Teşekkür ederim, işe yaradı –