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

Dependencies:   BSP_DISCO_F746NG Graphics mbed

Committer:
karpent
Date:
Thu Nov 10 15:38:50 2016 +0000
Revision:
1:4a5e329e617b
Parent:
0:8acbce46eede
Child:
2:ef3093a7a43e
New models added - Cube and Sphere

Who changed what in which revision?

UserRevisionLine numberNew contents of line
karpent 0:8acbce46eede 1 //
karpent 0:8acbce46eede 2 // main.cpp - 3D Graphics Demo
karpent 0:8acbce46eede 3 //
karpent 0:8acbce46eede 4
karpent 1:4a5e329e617b 5 #define STM32
karpent 1:4a5e329e617b 6
karpent 0:8acbce46eede 7 #include "mbed.h"
karpent 0:8acbce46eede 8 #include "RK043FN48H.h"
karpent 0:8acbce46eede 9 #include "Canvas.h"
karpent 0:8acbce46eede 10 #include "Square.h"
karpent 1:4a5e329e617b 11 #include "Cube.h"
karpent 1:4a5e329e617b 12 #include "Sphere.h"
karpent 0:8acbce46eede 13
karpent 0:8acbce46eede 14 RK043FN48H display;
karpent 0:8acbce46eede 15
karpent 0:8acbce46eede 16 int main()
karpent 0:8acbce46eede 17 {
karpent 1:4a5e329e617b 18 // Draw text in the background
karpent 1:4a5e329e617b 19 display.SetActiveLayer(Background);
karpent 1:4a5e329e617b 20 display.DrawText(150, 20, "Sphere 3D demo.");
karpent 1:4a5e329e617b 21 display.SetActiveLayer(Foreground);
karpent 1:4a5e329e617b 22
karpent 1:4a5e329e617b 23 // Initialize canvas
karpent 1:4a5e329e617b 24 Canvas canvas(display.DisplayWidth(), display.DisplayHeight());
karpent 1:4a5e329e617b 25 canvas.SetClearColor(0, 0, 0x55, 0);
karpent 1:4a5e329e617b 26 canvas.SetDrawColor(0xFF, 0x55, 0x55, 0xFF);
karpent 0:8acbce46eede 27
karpent 1:4a5e329e617b 28 // Initialize 3D model
karpent 1:4a5e329e617b 29 Sphere model(&canvas);
karpent 1:4a5e329e617b 30 model.Setup();
karpent 1:4a5e329e617b 31
karpent 1:4a5e329e617b 32 while(true) {
karpent 1:4a5e329e617b 33 model.GetAngle();
karpent 1:4a5e329e617b 34 canvas.Clear();
karpent 0:8acbce46eede 35 model.Render();
karpent 0:8acbce46eede 36 display.CopyBitmap(Foreground, canvas.GetBitmap(), canvas.DisplayWidth(), canvas.DisplayHeight(), canvas.GetDrawColor());
karpent 1:4a5e329e617b 37
karpent 1:4a5e329e617b 38 wait(0.06f);
karpent 1:4a5e329e617b 39 }
karpent 0:8acbce46eede 40 }