Sto cercando di implementare punti testurizzati (ad esempio sprite punti) in OpenGL ES 2.0 per un sistema di particelle. Il problema che sto riscontrando è che tutti i punti vengono rappresentati come quadratini neri pieni, piuttosto che avere una texture correttamente mappata.Punti strutturati in OpenGL ES 2.0?
Ho verificato che gl_PointCoord sta infatti restituendo valori x/y da 0.0 a 1.0, che verrebbero mappati sull'intera trama. La chiamata a texture2D sembra sempre tornare nera.
mio 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;
}
E il mio frammento di 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);
}
La texture in questione è 16x16. Sono in grado di mappare con successo questa texture ad altre geometrie, ma per qualche motivo non ai punti.
La mia piattaforma è un Motorola Droid, con sistema operativo Android 2.2.
Ignorare, ho avuto un problema con la mia routine di tessitura di carico. Funziona alla grande ora. – Ivan
Avresti potuto dire quale fosse il problema e come lo hai risolto ... –
Era solo il caricamento della trama? Come lo passi allo shader? Saluti – DiogoNeves