diff options
author | amy <[email protected]> | 2023-07-09 15:46:17 +0000 |
---|---|---|
committer | amy <[email protected]> | 2023-07-09 15:46:17 +0000 |
commit | 66a144c98cff9668925d8ce167e6fdfbaee8911a (patch) | |
tree | 86b41c301c90885e43c70f29d13763ca0d2d2a8f /src | |
parent | 0c771b6e798619df47a5483672f98e4d16295054 (diff) |
no z-buffering :(
Diffstat (limited to 'src')
-rw-r--r-- | src/point.c | 29 |
1 files changed, 12 insertions, 17 deletions
diff --git a/src/point.c b/src/point.c index 48211ee..054e825 100644 --- a/src/point.c +++ b/src/point.c @@ -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; }*/ - } + } + } |