2011-12-27 22 views
8

GLSL'ye giriyorum ve doku aramalarında biraz yardıma ihtiyacım var. Depolama için bir doku kullanmaya çalışıyorum ama "uygun" doku aramalarını alamıyorum. Ben olağan texture2D yöntemini (GLSL 1.2 kullanarak) kullanmayı tercih ederim ancak sonuçlar yeterince iyi değil.texelFetch için alternatif?

kullanma texture2D'dir: texelFetch kullanma one

: two

Şimdi besbelli bir şey ilkinden yanlıştır.

Yani
vec4 texelFetch(sampler2D tex, ivec2 size, ivec2 coord) 
{ 
    return texture2D(tex, vec2(float(coord.x)/float(size.x), 
           float(coord.y)/float(size.y))); 
} 

, bu düzgün nasıl bitmiş olacaktır: İşte (ben bilmem şey yoksa boyutları evet doğru) yapmaya çalışıyorum nedir?

+1

Kullandığınız doku filtreleme parametreleri nelerdir? Doku mipmap'ları var mı? –

+0

En yakın ve mipmap içermiyordu. Sorunu çözdüm de. Aralık yerine doku boyutunu kullanıyordum, bu yüzden biraz küçültüyordu. Kötü adlandırma. –

cevap

6

Bu SSS çeşit olmuştur:

Burada

https://stackoverflow.com/a/7272871/524368

ve birkaç başka yerlerde de burada

https://stackoverflow.com/a/5879551/524368

ve bunu yanıtladı.

+1

Teşekkürler. Son birkaç günü, neyin yanlış olduğunu anlamaya çalıştım ama asla cevaplarınızla ya da onlardan başka biriyle karşılaşmadım. Sanırım anahtar kelimelerim çok iyi değildi. –

+12

İnsanları rahatsız etmemek için insanları kışkırtmak işe yaramıyor; ** arama yapmak için zaman ayırın insanlar aramak için zaman almak için arama yapmak için zaman almak, aslında sormak için arama sormak için gerçekten işe yaramaz olanlar için işe yaramaz havuz yapma sona erer sorular. – Skrylar

+26

İronik olarak, bu yanıt arama sonuçlarında ilk stackoverflow bağlantısıydı. –

3

DokuRect'i kullanayım diyorum. Ardından, texture2D'yi kullanabilir ve erişmek istediğiniz piksellere gerçek coodinatları sağlayabilirsiniz.