static VOID CubeUnitRender( as4UNIT_CUBE *Unit, as4ANIM *Ani ) { VEC p = {1, 0, 0}; /*POINT pt;*/ /*AS4_RndMatrView = MatrViewLookAt(VecSet(5, 5, 5), VecSet(0, 0, 0), VecSet(0, 1, 0)); AS4_RndMatrWorld = MatrRotateY(Ani->Time * 30);*/ AS4_RndMatrView = MatrViewLookAt(VecTransform(VecSet(0, 0, 15), MatrRotateX(0)), VecSet(0, 0, 0), VecSet(0, 1, 0)); AS4_RndMatrWorld = MatrRotateY(-cl.x / 3.0); AS4_RndMatrWorld = MatrMulMatr(AS4_RndMatrWorld, MatrRotateX(-cl.y / 3.0)); AS4_RndMatrWorld = MatrMulMatr(AS4_RndMatrWorld, MatrScale(3.5 - AS4_Anim.JPOV / 8.0, 3.5 - AS4_Anim.JPOV / 8.0, 3.5 - AS4_Anim.JPOV / 8.0)); SelectObject(Ani->hDC, GetStockObject(NULL_PEN)); SetDCBrushColor(Ani->hDC, RGB(0, 0, 0)); AS4_RndGObjDraw(&Unit->Cow, Ani->hDC); } /* End of 'CubeUnitRender' function */
void LinearMapping( Mapping *map, Geom * /*obj*/, Vector *pos, Vector * /*norm*/, Vec2d *uv, Vector *dpdu, Vector *dpdv) { Vector vtmp; vtmp = *pos; VecTransform(&vtmp, &map->m); uv->u = vtmp.x; uv->v = vtmp.y; if (dpdu) { *dpdu = map->uaxis; } if (dpdv) { *dpdv = map->vaxis; } }