On Monday, 23 July 2018 at 06:00:14 UTC, Zheng (Vic) Luo wrote:
Thank you for the suggestion. Previously I interned at a VR company and had some experiences writing code related to graphics, but I don't have any experience on embedded system programming, so I was wondering that do I need to buy a microcontroller or just testing it on PC would be enough? If it's the former one, could you give some suggestions on the starter kit?
Well, I won't be the one paying you, and I don't think I'll be the one evaluating your work, so I don't think my opinion matters, but as the one who proposed the idea, I'll just explain my point of view.
Microcontrollers have limited CPU and memory resources. Generally, they operate by filling a dedicated buffer in RAM (width * height * pixel_format_size) with pixel data. The size and format of the pixel data is generally decided at compile-time based on the needs of the application. Some microcontrollers have a dedicated hardware peripheral to aid in the blitting and blending of pixel data, but most don't. So, for all intents and purposes, this project is a software rasterizer in D; you definitely won't find any CUDA cores here.
Understanding the capabilities and limitations of the microcontrollers will give you some perspective and understanding about the design tradeoffs you will most certainly need to make, but, once you have that perspective, in the end, you're just filling a buffer with pixel data, and I don't see why one couldn't do the vast majority (if not all) of development for that on their PC.
That being said, getting a low-speed MCU with as little memory as 256KB animating an LCD display can be a thrilling experience. If you're interested, I suggest obtaining one of the STM32 Discovery Kits with a built-in LCD screen. See https://www.st.com/en/evaluation-tools/stm32-mcu-discovery-kits.html?querycriteria=productId=LN1848 (Typically one ofSTM32F4 or STM32F7 models)
This is the one that I have, and it only costs about $30: https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu-discovery-kits/32f429idiscovery.html#samplebuy-scroll Furthermore, I've already created the platform code for you at https://github.com/JinShil/stm32f42_discovery_demo, so you should just need to import your library to main.d and try it out.