Lines Matching refs:mo

148 static void DrawModel           ( MyModelObj* mo );
149 static void CreateModel ( MyModelObj* mo );
494 static void CreateModel( MyModelObj* mo ) in CreateModel() argument
504 if ( mo->posArray != NULL ) in CreateModel()
505 MEMFreeToAllocator(&DemoAllocator1, mo->posArray); in CreateModel()
506 if ( mo->nrmArray != NULL ) in CreateModel()
507 MEMFreeToAllocator(&DemoAllocator1, mo->nrmArray); in CreateModel()
508 if ( mo->tcdArray != NULL ) in CreateModel()
509 MEMFreeToAllocator(&DemoAllocator1, mo->tcdArray); in CreateModel()
511 size_p = mo->numDiv0 * mo->numDiv1 * 3; in CreateModel()
512 size_n = mo->numDiv0 * mo->numDiv1 * 9; in CreateModel()
513 size_t = ( mo->numDiv0 + 1 ) * ( mo->numDiv1 + 1 ) * 2; in CreateModel()
515 mo->posArray = (s16*)MEMAllocFromAllocator(&DemoAllocator1, size_p * sizeof(s16)); in CreateModel()
516 mo->nrmArray = (s16*)MEMAllocFromAllocator(&DemoAllocator1, size_n * sizeof(s16)); in CreateModel()
517 mo->tcdArray = (s16*)MEMAllocFromAllocator(&DemoAllocator1, size_t * sizeof(s16)); in CreateModel()
521 for ( i = 0 ; i <= mo->numDiv0 ; ++i ) in CreateModel()
523 for ( j = 0 ; j <= mo->numDiv1 ; ++j ) in CreateModel()
526 mo->tcdArray[cnt_t++] = (s16)(i * SCALE_Q / mo->numDiv0); in CreateModel()
527 mo->tcdArray[cnt_t++] = (s16)(j * SCALE_Q / mo->numDiv1); in CreateModel()
529 if ( i == mo->numDiv0 || j == mo->numDiv1 ) in CreateModel()
533 fs = i * PI_2 / mo->numDiv0; in CreateModel()
534 ft = j * PI_2 / mo->numDiv1; in CreateModel()
537 mo->posArray[cnt_p++] = (s16)(fr * cosf(ft) * SCALE_Q); in CreateModel()
538 mo->posArray[cnt_p++] = (s16)(fr * sinf(ft) * SCALE_Q); in CreateModel()
539 mo->posArray[cnt_p++] = (s16)(MODEL_R * sinf(fs) * SCALE_Q); in CreateModel()
542 mo->nrmArray[cnt_n++] = (s16)(cosf(ft) * cosf(fs) * SCALE_Q); in CreateModel()
543 mo->nrmArray[cnt_n++] = (s16)(sinf(ft) * cosf(fs) * SCALE_Q); in CreateModel()
544 mo->nrmArray[cnt_n++] = (s16)(sinf(fs) * SCALE_Q); in CreateModel()
547 mo->nrmArray[cnt_n++] = (s16)(-cosf(ft) * sinf(fs) * SCALE_Q); in CreateModel()
548 mo->nrmArray[cnt_n++] = (s16)(-sinf(ft) * sinf(fs) * SCALE_Q); in CreateModel()
549 mo->nrmArray[cnt_n++] = (s16)( cosf(fs) * SCALE_Q); in CreateModel()
552 mo->nrmArray[cnt_n++] = (s16)(-sinf(ft) * SCALE_Q); in CreateModel()
553 mo->nrmArray[cnt_n++] = (s16)( cosf(ft) * SCALE_Q); in CreateModel()
554 mo->nrmArray[cnt_n++] = 0; in CreateModel()
559 DCFlushRange(mo->posArray, size_p * sizeof(s16)); in CreateModel()
560 DCFlushRange(mo->nrmArray, size_n * sizeof(s16)); in CreateModel()
561 DCFlushRange(mo->tcdArray, size_t * sizeof(s16)); in CreateModel()
574 static void DrawModel( MyModelObj* mo ) in DrawModel() argument
580 GXSetArray(GX_VA_POS, mo->posArray, sizeof(s16) * 3); in DrawModel()
581 GXSetArray(GX_VA_NRM, mo->nrmArray, sizeof(s16) * 9); in DrawModel()
582 GXSetArray(GX_VA_TEX0, mo->tcdArray, sizeof(s16) * 2); in DrawModel()
590 for ( i = 0 ; i < mo->numDiv0 ; i++ ) in DrawModel()
592 GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, (u16)((mo->numDiv1+1)*2)); in DrawModel()
593 for ( j = 0 ; j <= mo->numDiv1 ; j++ ) in DrawModel()
597 s = (i + k) % mo->numDiv0; in DrawModel()
598 t = j % mo->numDiv1; in DrawModel()
601 idx = (u16)(s * mo->numDiv1 + t); in DrawModel()
608 idx = (u16)((i+k) * (mo->numDiv1+1) + j); in DrawModel()