# Application Structure

To your application, HOOPS looks like a subroutine library. Your application invokes HOOPS subroutines to insert and delete objects from the graphics database, to initiate and control rendering, and to receive input events. The order in which these operations occur is called the control flow of the application. Control flow is a major topic of Chapter 4. The control flow of a typical graphics application cycles through the following steps:

1. Your application code makes changes to the graphics database.
2. When it is finished making changes to the graphics database, your application tells HOOPS Visualize to update the display (either by explicitly calling `Update_Display()` or by waiting for input).
3. HOOPS walks the database and sends the primitives to be drawn to the renderer.
4. The renderer draws the scene and sends it to some output device.
5. The user sees the new picture, thinks for a while, and then generates input through the user interface.
6. Your application code receives this input and makes further changes to the Visualize database.

This cycle repeats until the user terminates the application.

We can visualize the control flow as a repeating cycle. This cycle contains the main parts of HOOPS Visualize - the database and renderer, in addition to your application code, the user-input subsystem, and the end-user.

Control flow of a graphics application.

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your Docs generative AI assistant. Ask me anything about HOOPS Visualize 3DF or choose a sample question below to start a conversation:

What is HOOPS Visualize 3DF?
What are the latest release notes for HOOPS Visualize 3DF?
How do I start evaluating HOOPS Visualize 3DF?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...