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

Dependencies:   BSP_DISCO_F746NG Graphics mbed

Committer:
karpent
Date:
Fri Nov 11 17:06:53 2016 +0000
Revision:
3:aca7fe2d44b3
Parent:
2:ef3093a7a43e
New 3d models added

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 3:aca7fe2d44b3 13 #include "Pyramid.h"
karpent 3:aca7fe2d44b3 14 #include "Pikachu.h"
karpent 3:aca7fe2d44b3 15 #include "Bunny.h"
karpent 0:8acbce46eede 16
karpent 0:8acbce46eede 17 RK043FN48H display;
karpent 0:8acbce46eede 18
karpent 3:aca7fe2d44b3 19 void SetTitle(char *name);
karpent 3:aca7fe2d44b3 20
karpent 0:8acbce46eede 21 int main()
karpent 0:8acbce46eede 22 {
karpent 3:aca7fe2d44b3 23 SetTitle("Pikachu 3D demo.");
karpent 3:aca7fe2d44b3 24
karpent 1:4a5e329e617b 25 // Initialize canvas
karpent 1:4a5e329e617b 26 Canvas canvas(display.DisplayWidth(), display.DisplayHeight());
karpent 1:4a5e329e617b 27 canvas.SetDrawColor(0xFF, 0x55, 0x55, 0xFF);
karpent 0:8acbce46eede 28
karpent 1:4a5e329e617b 29 // Initialize 3D model
karpent 3:aca7fe2d44b3 30 Pikachu model(&canvas);
karpent 1:4a5e329e617b 31 model.Setup();
karpent 1:4a5e329e617b 32
karpent 1:4a5e329e617b 33 while(true) {
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 3:aca7fe2d44b3 40 }
karpent 3:aca7fe2d44b3 41
karpent 3:aca7fe2d44b3 42
karpent 3:aca7fe2d44b3 43
karpent 3:aca7fe2d44b3 44
karpent 3:aca7fe2d44b3 45 void SetTitle(char *name)
karpent 3:aca7fe2d44b3 46 {
karpent 3:aca7fe2d44b3 47 // Draw text in the background
karpent 3:aca7fe2d44b3 48 display.SetActiveLayer(Background);
karpent 3:aca7fe2d44b3 49 display.DrawText(150, 8, name);
karpent 3:aca7fe2d44b3 50 display.SetActiveLayer(Foreground);
karpent 0:8acbce46eede 51 }