All Blu-ray Disc players feature a virtual machine called BD-J, or Blu-ray Disc Java. This allows Blu-ray Disc titles to run sophisticated menus made with the Java ME programming language. I wanted to create a demo using this framework. I contacted the Blu-ray Disc Association to obtain the doc-stubs. I was able to re-use my experience with the J2ME programming from my previous Blackberry demo project to build upon. Programming for this platform was very challenging. Different devices have varying CPU and memory limited the project to 12MB of memory. There was almost no public information on BD-J development at the time I developed this.
Project 1 : Funky Fresh
A real-time interactive demo running on Blu-ray players featuring textured 3D models and high fidelity music. All graphics were rendered to a 480×270 pixel buffer then scaled to 960×540 resolution. The sound track is a 167MB uncompressed 92Khz 24bit stereo LCPM stream that exists within a blank video file.
3D engine
The spinning 3D models feature a software implementation of Open GL which is based on EGL / jGL ES. EGL is a pure java 3D Graphics API designed for J2ME mobile devices and based on CLDC 1.0. All 3D models have been kept under 1000/2000 Polygons to keep an acceptable framerate and fit available memory.
Credits
- Code : Luis
- Music : Battlecommand
- Compo : Wild Demo
- Platform : BD-J Java 2 Micro
- Hardware : Bluray Players
- Download : FunkyFresh_ISO_Source.zip (178 MB)
- Comments : http://www.pouet.net/prod.php?which=59098
Project 2 : Metal Skin Slidetro
A slideshow showcasing the works of Forcer for your Bluray player. First place at wild demo competition @ Recursion 2012 (http://recursionparty.org)
Credits
- Code: Luis
- Organizing: Spotter
- Graphics: Forcer
- Intro music: Romeo Knight
- Slideshow music: Kepler
- Download: metalskin_slidetro.zip
- Comments: http://pouet.net/prod.php?which=60784