ciao.
Ho deciso di creare una semplice classe tuple che oltre a immagazzinare dati ha nel costruttore(si chiama cosi in js?)delle funzioni utili e generiche(riutilizzabilità del codice) ad es :
Esiste una funzione (m_gl.uniformx) che passato lo shader e il nome della costante dello shader linka un valore (ulteriore parametro) allo shader .
Ecco queste funzioni sono diverse in webgl a seconda del size:
codice:
setConstantValue1f: function (constant, value1) {
var vconstant = m_gl.getUniformLocation(this.ShaderProgram, constant);
m_gl.uniform1f(vconstant, value1);
},
setConstantValue2f: function (constant, value1, value2) {
var vconstant = m_gl.getUniformLocation(this.ShaderProgram, constant);
m_gl.uniform2f(vconstant, value1, value2);
},
setConstantValue3f: function (constant, value1, value2, value3) {
var vconstant = m_gl.getUniformLocation(this.ShaderProgram, constant);
m_gl.uniform3f(vconstant, value1, value2, value3);
},
setConstantValue4f: function (constant, value1, value2, value3, value4) {
var vconstant = m_gl.getUniformLocation(this.ShaderProgram, constant);
m_gl.uniform4f(vconstant, value1, value2, value3, value4);
},
ecco, io vorrei inserire queste funzioni nel costruttore base della classe tuple da cui derivano le varie tuple1 tuple2 tuple3 , e tuple 4(a seconda del size).
in pratica una volta dichiarata la tuple con il suo size ad es tuple3 chiamerà passandogli shaderProgram e nome costante la funzione "corretta" con quella dichiarazione (tuple3 o tuple4).
il problema è che per fare questo devo incapsulare una classe array dentro a tuple per settare i dati.
Ecco sembra una sciocchezza ma secondo me è comodo... l'overload degli operatori esiste in js?
posso eseguire una funzione particolare per un dato operatore [] o + o / ?
te lo chiedo per il futuro , ma in tanto sarebbe comodo utilizzare l'operatore [] per scavalcare il nome dell array tuple[0] o tuple[3] direttamente, senza tuple1.array[0]
Grazie.