Graphics Programs Reference
In-Depth Information
an application similar to
GL SURFACE
, but before that, let's discuss
Listing 3-4
-
pseudo code to describe the internal functioning of a renderer thread (after
GLSur-
faceView
is set as the activity's content view, as shown in
Listing 3-2
).
Listing 3-4.
High Level Overview of Renderer Thread's Functioning
// after setContentView(_surfaceView);
_surfaceView.draw() { // there is no such method
actually
Renderer.surfaceCreated();
Renderer.surfaceChanged(_width, _height);
while(true) {
Renderer.drawFrame();
if(_deviceOrientationChanged) {
_surfaceView.draw();
break;
}
if(_stopped) {
return;
}
}
}
Rendering begins with a call to the
Renderer.surfaceCreated
(that is,
Ren-
derer.onSurfaceCreated
) method. Inside this method, we can place ES 2.0
functions for rendering graphics using the GPU.
However, the
surfaceCreated
method is the block in which we usually add code
for basic
State Management
apart from setting the background color for our render-
ing surface.
To accommodate any change in the orientation of device, the
surfaceChanged
(that is,
Renderer.onSurfaceChanged
) method is called.
To render graphics on a frame by frame basis, the call to the
Render-
er.drawFrame
(that is,
Renderer.onDrawFrame
) method takes place inside
a
while
loop, which ends only if the application (or the activity using the rendering
surface) is stopped.
Search WWH ::

Custom Search