Example of using "Canvas" form "Graphics" library to display 3D graphics.
Dependencies: BSP_DISCO_F746NG Graphics mbed
main.cpp@3:aca7fe2d44b3, 2016-11-11 (annotated)
- 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?
User | Revision | Line number | New 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 | } |