PanoramaCameraDesign: Difference between revisions

Jump to navigation Jump to search
Line 59: Line 59:
Please see below diagram. The blue block is C++(OpenGL) source code. The yellow blocks are JNI layer. The Green blocks are Java parts.
Please see below diagram. The blue block is C++(OpenGL) source code. The yellow blocks are JNI layer. The Green blocks are Java parts.
[[File:Android_Panorama.png]]
[[File:Android_Panorama.png]]
===Mosaic C++ library===
====Mosaic Renderer====
An OpenGL part for rendering stitched picture to preview buffer(Surface Texture).
====Mosaic====
Below description is the comments in Mosaic.h. Basically it use CPU to computes the whole process.
"The class Mosaic provides a simple interface to the panoramic mosaicing algorithm. The class allows passing in individual image frames to be stitched together, computes the alignment transformation between them, and then stitches and blends them together into a single panoramic output which can then be accessed as a single image."
===JNI layer===
We might rewrite or replace this layer since we use C++ in Gecko.
===Java layer===
====WideAnglePanoramaModule====
The primary component to control all things. Take mCameraTexture(A SurfaceTexture) as the input from camera preview and bind this graphic buffer to OpenGL texture. Then the graphic buffer will be copied to CPU memory for Mosaic. The render target is a SurfaceTexture in mUI(WideAnglePanoramaUI). It can be bound to Android view system.
====MosaicFrameProcessor====
====SurfaceTextureRender====
==The Impact to Current Gecko Camera Design==
==The Impact to Current Gecko Camera Design==


Confirmed users
770

edits

Navigation menu