lihw / FutureInterface

Paper3D is an cross-platform GLES rendering engine, best for creating live wallpaper on Android
http://www.paper3d.net
27 stars 11 forks source link

Support external texture handling #16

Open brucewuu opened 10 years ago

brucewuu commented 10 years ago

external texture can be very very useful in many common usecases. for example, video streaming, camera streaming, miracast mpeg2ts2 format streaming. paper3d should be able to support handling video, camera, bitmap-format data handling received from outside. external texture includes texture created using android java opengles api, or created by some other graphics framework like openvg.

lihw commented 10 years ago

Currently, bitmap data is already supported perfectly in paper3d. One can can use resource manager to directly load an external png file, e.g., resMgr->getTexture("/somewhere/texture.png"); Note that when the path is an absolute path, it looks for the file in the external storage, while without the leading '/', the file is supposed in the paper3d's archive. Pretty easy, isn't it? ;-)

Streaming data is a good idea. We will consider to incorporate into the engine. In my opinion, panel3d may need it more than paper3d does as it focus on UI rendering. What do you think?

brucewuu commented 10 years ago

in paper3D, I just come out a idea, to use camera stream data as live wallpaper. is it possible to do this now with our engine?

lihw commented 10 years ago

Currently not. Will you like to investigate on this topic more? Particularly how to import camera stream into rendering?

brucewuu commented 10 years ago

I already implement this by using kanzi, kanzi use external texture handling, texture is created using android java gles code, then use the external texture from kanzi. I suggest paper can also use this.

lihw commented 10 years ago

Very nice. We can discuss how to integrate your module into paper3d sometime later.