Graphics Reference
In-Depth Information
SUMMARY OF INVENTION
The object of the present invention is to provide a method to control the rendering of
computer-generated graphics in real time for interactive applications.
In the present context, the rendering process refers to a set of computer program
routines that support the generation of a sequence of images such that they create
the impression of an animation. The rendering process is by convention a piece of
software that operates on input in the form of data structures which describe the
geometry of an object in 3D space and the quality of its visual appearance.
According to Figure B.1 the input to the rendering process may consist of one
element or a set of elements as long as each element is independent of the others and
each element exerts an observable influence on the output of the rendering process.
The output of the rendering process may consist of one element or a set of elements.
Both the input and output to the rendering process are measurable quantities. The
input to the rendering process is a variable or a set of variables that can be changed
during the execution of the application. The disturbance described in Figure B.1
refers to any auxiliary process that runs in the same environment as the rendering
process. For example, the operating system's kernel processes run in the background
which is mandatory for the computer device to function normally.
In the context of Figure B.1, the rendering process model can be expressed as, but
is not limited to, a polynomial equation or a state space representation through an
iterative process that involves regressive computation of the rendering process's pre-
vious input and outputs. The user defines the actual process input variables and out-
put quantities based on the desired performance objectives and the controller design.
More importantly, all input and output to the system must be measurable quantities.
In Figure B.2, the controller 201 is a module that may be implemented as a piece
of software or a computer program that executes a set of computer instructions which
is built into an embedded computer subsystem. The purpose of the controller is to
adjust the input to the plant (the rendering process) such that the output of the plant
202 can be driven to meet a certain performance objective. The controller receives
an input which is the difference between the user defined reference 203 and the cur-
rent output from the plant. The controller is typically designed with saturation limits
to prevent the system from swinging beyond normal operating range. The controller
design is not limited to any particular control algorithm or a combination of such
algorithms as long as the purpose of the controller is achieved. In the same spirit, the
controller and the plant implementation is not limited to any specific programming
language or software toolkit.
In Figure B.3 a deployment of the control system in a computer device is shown
with the key components as the shared memory 301, the controller 302 and the plant
303. The controller sends its control action to the rendering process (the plant) via the
shared memory where this value will thereafter be copied into the execution space
of the rendering process. Similarly, the rendering process will write the values from
its output into the same shared memory area where the controller will access, to
copy these values for the error computation. In the context of this invention, the data
access method is not limited to shared memory but variants of common memory
Search WWH ::




Custom Search