Ejemplo n.º 1
0
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 */
Ejemplo n.º 2
0
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;
	}
}