Giter Site home page Giter Site logo

esp32_mmd's Introduction

MMD for M5Stack, esp32

Realtime rendering and skeletal animation on your esp32 devices. Now miku start dancing! Miku Video:(twitter) https://twitter.com/elect_gombe/status/1035888138051190784

How to

  1. Download binary file from release page.
  2. write to your device.

Windows

how to flash

using esptool

python esptool.py --chip esp32 --port <your usb device> --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0x1000 bootloader.bin 0x10000 spi_master.bin 0x8000 partitions.bin

Performance

@240MHz using dual-core 320x240 2500 triangles 16.5~18fps

License

poly.h, texture-body and texture-head,

キャラクター部はPCLライセンスに基づき配布します。 一番の注意点は初音ミクのモデルは非営利の範囲でのみ利用可能です。

「初音ミク」はクリプトン・フューチャー・メディア株式会社の著作物です。
© Crypton Future Media, INC. www.piapro.net

それ以外はMITライセンスに基づき利用を許可します。ただ、初音ミクのデータをリンクした時点で非営利利用に限る点に注意してください。その部分を外ればMITに基づき自由に利用できます。

A 3d model of Hatsune Miku is distributed under the PCL. NON-COMMERCIAL USE! Other files are distributed under the MIT License.

Feature

このシステムはラインスキャン法を使っています。高速かつ少ないメモリで処理可能で、数ライン分のみのzバッファを使っているため解像度を上げることも可能です。 ただしパフォーマンスは低下します。

using scanline rendering. only one line z-buffer, fast drawing and just few memory. So you can increase resolution and get more worse performance! :)

というか、esp32って340kBのメモリしかない。少なすぎて死にそうになった。アプリケーションかけるように、メモリを節約したいなぁ

その他、PC上で試すとき(開発用)

SDL2が必要です。

cd ./main/
g++ *.cpp *.c -lSDL2 -DPC
./a.out

esp32_mmd's People

Contributors

elect-gombe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

esp32_mmd's Issues

Is there an option for a DMA driven QuadSPI or 8-bit parallel solution for better framerate?

Hello.
I'm considering using a DMA-driven QuadSPI communication with an LCD display or a video driver at 80MHz or an 8-bit parallel bus on the sequentially arranged GPIO pins so that the performance doesn't suffer and so that a very powerful 3D game engine akin to Spyro 2 for PS1 or Driver for PS1 could be made.

This is my idea:
http://www.vsdsp-forum.com/phpbb/viewtopic.php?f=14&t=2353&p=12464#p12449

The display in question would be a parallel ILI9341 and the video driver in question would be VS23S040. If the 80MHz is too fast for QuadSPI or if QuadSPI isn't available for that display and that video driver, I would like to consider TinyFPGA that converts QuadSPI communication to 8-bit parallel communication.

Could you try one of those approaches and tell me what the maximum framerate would be?
Best regards,
(Codename) RetroZvoc a.k.a. Zvoc47

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.