nurbs surface resolution is now per segment rather then being distributed over the whole surface.
This is what 2D do alredy and makes resolution settings more like subsurf level. - This makes it impossible to have a lower resolution output then the nurbs cage, however this dosnt seem a very useful feature. - Using the do-versions from recent curve interpolation fix. Tested with these files. http://digilander.libero.it/pafurijaz/Files/Blender/Libellula.zip http://digilander.libero.it/pafurijaz/Files/Blender/Martello.zip http://digilander.libero.it/pafurijaz/Files/Blender/Punta.zip http://digilander.libero.it/pafurijaz/Files/Blender/Phones.zip http://digilander.libero.it/pafurijaz/Files/Blender/Tubo.zip http://digilander.libero.it/pafurijaz/Files/Blender/Pipe.zip http://digilander.libero.it/pafurijaz/Files/Blender/Tire.zip http://digilander.libero.it/pafurijaz/Files/Blender/Cotton.zip
This commit is contained in:
@@ -1342,7 +1342,7 @@ void makeDispListSurf(Object *ob, ListBase *dispbase, int forRender)
|
||||
makeNurbcurve(nu, data, NULL, NULL, nu->resolu);
|
||||
}
|
||||
else {
|
||||
len= nu->resolu*nu->resolv;
|
||||
len= (nu->pntsu*nu->resolu) * (nu->pntsv*nu->resolv);
|
||||
|
||||
dl= MEM_callocN(sizeof(DispList), "makeDispListsurf");
|
||||
dl->verts= MEM_callocN(len*3*sizeof(float), "dlverts");
|
||||
@@ -1354,9 +1354,9 @@ void makeDispListSurf(Object *ob, ListBase *dispbase, int forRender)
|
||||
|
||||
data= dl->verts;
|
||||
dl->type= DL_SURF;
|
||||
|
||||
dl->parts= nu->resolu; /* in reverse, because makeNurbfaces works that way */
|
||||
dl->nr= nu->resolv;
|
||||
|
||||
dl->parts= (nu->pntsu*nu->resolu); /* in reverse, because makeNurbfaces works that way */
|
||||
dl->nr= (nu->pntsv*nu->resolv);
|
||||
if(nu->flagv & CU_CYCLIC) dl->flag|= DL_CYCL_U; /* reverse too! */
|
||||
if(nu->flagu & CU_CYCLIC) dl->flag|= DL_CYCL_V;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user