В общем ай гот а проблем.
В дебаге запускается. В релизе компилится, но падает если запускать из кодеблокс. Если запускать кликая на скомпилином экзешнике, то запускается. Причем такая фигня случается если я создаю меш с меньше чем 64х64 вертексов и после создания гружу текстуру в пнг или ддс.
Handle MakeMesh(int segments, float size, float radius){
Handle mesh=xCreateMesh();
Handle surf=xCreateSurface(mesh);
//создание плоскости
for(int i=0;i<=segments;i++){for(int j=0;j<=segments;j++){xAddVertex(surf,i,0,j,(double)i*3/segments,(double)j*3/segments);}}
int qvert=xCountVertices(surf);
for(int i=0;i<qvert-segments-1;i++){
int v0=i;
int v1=i+1;
int v2=i+segments+1;
int v3=v2+1;
if(v3<qvert && xMod(i,segments+1)!=segments){
xAddTriangle(surf,v2,v1,v3); xAddTriangle(surf,v2,v0,v1);
}}
for(int i=0;i<=segments;i++){for(int j=0;j<=segments;j++){
int index=i*(segments+1)+j;
//в 360 градусах 2*m_pi радиан
double crad=radius*((segments-0.55*i)/segments);
double disp=3.5*sin(M_PI*i/(double)segments);
double sn=crad*sin(2*M_PI*j/(double)segments);
double cs=crad*cos(2*M_PI*j/(double)segments);
xVertexCoords(surf,index,sn,i*size/segments,cs);
if(i==segments){xVertexCoords(surf,index,0,i*size/segments,0);}}}
xUpdateN(mesh);
xCalculateFrustumVolume(mesh);
return mesh;
}
Что такого неправильного в выше приведенном коде, что загрузкой текстуры при количестве сегментов 32 или меньше оно падает?