Próbuję zaimplementować punkty teksturowane (np. Spity punktowe) w OpenGL ES 2.0 dla systemu cząstek. Problem, który mam, to wszystkie punkty renderowane jako stałe czarne kwadraty, a nie poprawnie odwzorowane tekstury.Teksturowane punkty w OpenGL ES 2.0?
Sprawdziłem, czy gl_PointCoord rzeczywiście zwraca wartości x/y z 0.0 do 1.0, które byłyby mapowane na całej teksturze. Wywołanie texture2D zawsze wydaje się jednak czarne.
Moja vertex shader:
attribute vec4 aPosition;
attribute float aAlpha;
attribute float aSize;
varying float vAlpha;
uniform mat4 uMVPMatrix;
void main() {
gl_PointSize = aSize;
vAlpha = aAlpha;
gl_Position = uMVPMatrix * aPosition;
}
A mój fragment shader:
precision mediump float;
uniform sampler2D tex;
varying float vAlpha;
void main() {
vec4 texColor = texture2D(tex, gl_PointCoord);
gl_FragColor = vec4(texColor.rgb, texColor.a * vAlpha);
}
Tekstury w pytaniu 16x16. Jestem w stanie z powodzeniem zamapować tę teksturę na inną geometrię, ale z jakiegoś powodu nie do punktów.
Moja platforma to Motorola Droid z systemem Android 2.2.
Zignoruj, miałem problem z moim tekstury załadunku rutyny. Działa teraz świetnie. – Ivan
Mogłeś powiedzieć, jaki był problem i jak go rozwiązać ... –
Czy to tylko ładowanie tekstury? Jak przekazujesz to do modułu cieniującego? Twoje zdrowie – DiogoNeves