Bir köşe gölgelendirici ve bir parça gölgelendirici kombinasyonuyla bazı GPGPU hesaplamaları yapmak için OpenGL kullanıyorum. Bir görüntü üzerinde farklı ölçekte hesaplamalar yapmam gerekiyor. Nesilleri otomatik ve donanım hızlandırılabildiğinden dolayı mipmap kullanmak istiyorum. Ancak, parça gölgelendiricideki mipmap dokularına erişemiyorum.Bir GLSL parçalı gölgelendiricide, belirli bir mipmap düzeyinde dokuya nasıl erişilir?
Otomatik mipmap oluşturma özelliğini etkinleştirdim: glTexParameteri (GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE);
Gölgede hiç zaman kaybetmeden texture2DLod kullanmayı denedim, sadece normal doku vermeye devam etti. Ayrıca ana programda glTextureParameteri (GL_BASE_LEVEL, X) kullanmayı denedim ve hiçbir şey değiştirmedi.
Bunu nasıl yaparsınız?
Linux kullanıyorum. Grafik kartım oldukça eski bir Nvidia Quadro. Here, desteklenen tüm uzantılara sahip glxinfo çıkışımdır.
Sorunuzun cevabını "yararlı ve açık" olduğu için söylüyorum, ama herşeyi doğru yapıyor gibisiniz. GltextureSize (örnekleyici, lod) ne diyor? (Parça gölgelendiricinizde) – Calvin1602
Benim için böyle bir işlev yok. Kartımın çok eski olduğunu düşünüyorum (sadece kontrol ettim ve GLSL sürümü GL_ARB_shading_language_100). Bu çok açıklamak istiyorum ama gölgelendirici neden desteklemediyse * Lod varyantını kabul etmiyor anlamıyorum ... – Jim
Neden glTextureParameteri (GL_BASE_LEVEL, X) ve glTextureParameteri (GL_MAX_LEVEL, X) anlamıyorum) çağrıların da etkisi yoktur. Bu GLSL ile ilgili değil ... Şu anda oldukça kafam karıştı. – Jim