no z-buffering :(

This commit is contained in:
grant squires 2023-07-09 15:46:17 +00:00
parent 4625ac7d2c
commit dcdd38d7e6
1 changed files with 12 additions and 17 deletions

View File

@ -1547,23 +1547,13 @@ int main(int argc,char*argv[]){
for(int i = 0; i<=aaaa->len-1; i++)
printf("%f %f %f\n",con[i]->avg.z,con[i]->max.z,con[i]->min.z);
*/
//printf("---\n");
for(int i = 0; i<=aaaa->len-2;i++){
//printf("a\n");
//double maxi = -INFINITY;
int su = -1;
for(int p = 0; p<=con[i]->len-2; p++){
if(
con[i]->max.z<con[i+1]->max.z&&con[i]->min.z<con[i+1]->min.z
){
//printf("%f %f, %f %f\n",con[i]->min.z,con[i]->max.z,con[i+1]->min.z,con[i+1]->max.z);
glfl_ar* tempp = con[i];
con[i] = con[i+1];
con[i+1] = tempp;
i=-1;
break;
}
//if(su!=-1)
// printf("%i\n",su);
double mma = 77777;
@ -1572,6 +1562,7 @@ int main(int argc,char*argv[]){
//cord bb = poi_d(con[i]->pix[p*2],con[i]->pix[p*2+1],-mma,con[i]->pix[p*2+1],con[i+1]->len,con[i+1]->pix,0,-1);
//printf("%f\n",aa.z);
if(aa.z!=-1){
double l1x1 = con[i]->pix[p*2];
double l1y1 = con[i]->pix[p*2+1];
double l1z1 = con[i]->dep[p];
@ -1587,7 +1578,8 @@ int main(int argc,char*argv[]){
double l2x2 = con[i+1]->pix[(aa.index+1)*2];
double l2y2 = con[i+1]->pix[(aa.index+1)*2+1];
double l2z2 = con[i+1]->dep[(aa.index+1)];
if(!point_on_line(aa.x,aa.y,l2x1,l2y1,l2x2,l2y2))
abort();
double lz1 = find_z(l1x1,l1y1,l1z1,l1x2,l1y2,l1z2,aa.x,aa.y);
double lz2 = find_z(l2x1,l2y1,l2z1,l2x2,l2y2,l2z2,aa.x,aa.y);
//printf("(%.2f,%.2f,%.2f)->(%.2f,%.2f,%.2f) & (%.2f,%.2f,%.2f)->(%.2f,%.2f,%.2f) cross at (%.2f,%f) w/ (%.2f,%.2f)\n"
@ -1596,15 +1588,17 @@ int main(int argc,char*argv[]){
//printf("%f %f > %f %f\n",lz1,lz2,diff(lz1,lz2),FL_DIS);
if(lz1<lz2&&(diff(lz1,lz2)>DB_DIS)){
//printf("%f %f > %f %f\n",lz1,lz2,diff(lz1,lz2),FL_DIS);
//printf("sw, %.2f,%.2f,%.2f -> %.2f,%.2f,%.2f\n",con[i]->col[0],con[i]->col[1],con[i]->col[2],
// con[i+1]->col[0],con[i+1]->col[1],con[i+1]->col[2]);
glfl_ar* tempp = con[i];
con[i] = con[i+1];
con[i+1] = tempp;
i=-1;
break;
break;
}
su = aa.index+1;
p--;
//su = aa.index+1;
//p--;
//maxi = greater(maxi,con[i]->dep[p]);
//double sl1 = (con[i]->dep[p+1] - con[i]->dep[p])/(con[i]->pix[(p+1)*2] - con[i]->pix[p*2]);
//double nz1 = con[i]->dep[p] + sl1 * (aa.x - con[i]->pix[(p*2)]) + sl1 * (aa.y - con[i]->pix[(p*2+1)]);
@ -1625,7 +1619,8 @@ int main(int argc,char*argv[]){
i=-1;
break;
}*/
}
}
}