Example of using "Canvas" form "Graphics" library to display 3D graphics.

Dependencies:   BSP_DISCO_F746NG Graphics mbed

main.cpp

Committer:
karpent
Date:
2016-11-11
Revision:
3:aca7fe2d44b3
Parent:
2:ef3093a7a43e

File content as of revision 3:aca7fe2d44b3:

//
// main.cpp - 3D Graphics Demo
//

#define STM32

#include "mbed.h"
#include "RK043FN48H.h"
#include "Canvas.h"
#include "Square.h"
#include "Cube.h"
#include "Sphere.h"
#include "Pyramid.h"
#include "Pikachu.h"
#include "Bunny.h"

RK043FN48H display;

void SetTitle(char *name);

int main()
{
    SetTitle("Pikachu 3D demo.");
         
    // Initialize canvas
    Canvas canvas(display.DisplayWidth(), display.DisplayHeight()); 
    canvas.SetDrawColor(0xFF, 0x55, 0x55, 0xFF);
    
    // Initialize 3D model
    Pikachu model(&canvas);
    model.Setup();
    
    while(true) {
        canvas.Clear();       
        model.Render();
        display.CopyBitmap(Foreground, canvas.GetBitmap(), canvas.DisplayWidth(), canvas.DisplayHeight(), canvas.GetDrawColor());
           
        wait(0.06f);
    }   
}




void SetTitle(char *name)
{
     // Draw text in the background
    display.SetActiveLayer(Background);
    display.DrawText(150, 8, name);
    display.SetActiveLayer(Foreground);   
}