james tittle wrote:
...just throwing this out to anyone: I've come across a problem that has me stumped...it occurs when I'm working on a shader and change the number of uniform variables between loadings, such that re- linking causes a crash at:
m_symname[i]=gensym(m_name[i]);
...this is in a loop that grabs results of active uniform variables, and it seems we're not cleaning up correctly either m_name[i] or m_symname[i]...I've also noticed that sometimes m_name[0] will not
you should never ever "clean up" a pd-symbol (like m_symname[i]); however, deallocating the m_symname-table (which only holds references to symbols) is fine.
correctly be filled in, and therefore it doesn't show up in printInfo ()...
...also, in getVariables() I've rearranged the order of free-ing variables so that it occurs before we query the gl object parameters (ie. before we reset m_uniformCount to it's new value), but this wasn't the full answer...any other ideas?
wow. that greyed some of my hair... took me till now to find it and it turned out to be a tiny "<=" instead of "<" in line-101.
i did a lot of other changes which shouldn't affect the behaviour. now it works for me (i just committed it)
one last question: when loading the "Toon"-shader (dunno who sent it, i guess jamie), i get active uniform variables like "gl_ModelViewProjectionMatrix" (apart from the valid "Phong"); i have no idea where this comes from; anyone...?
happy glsling
mfg,asdr IOhannes