The following terms are used throughout the documentation.
Abstraction refers to a lack of awareness between two systems. Double-clicking a hierarchy node displays node properties. These properties are tightly coupled [linked] to the node, and the node is aware of these properties. However, a node is not aware of the hierarchy, so there is said to exist an abstract relationship between a node and the hierarchy. Abstraction is typically used to avoid creating unnecessary or harmful dependencies between elements of systems. Abstraction is a term frequently used in object-oriented programming.
An amalgam is a collection of non-separated data. Amalgams have low granularity. Typically, amalgamated data is not the best practice, as it can easily overwhelm a runtime/renderer, and it is often inordinately difficult to solve the resulting performance problems without global optimizations. Global optimizations are difficult to implement without creating further limitations. In general, this makes life equally difficult for the modeler and programmer.
The centroid is the geometric center of a volume or area. The centroid of a 2×2 square is at 1x, 1y. The centroid of a cubic volume that is 8ft square is at 4x, 4y, and 4z.
The cloth mesh is the mesh being cut by a trim modifier.
Conglomerate content, also known as amalgamated data structures, is content with a low level of granularity. Sometimes, conglomerate content makes sense. Most of the time, higher granularity makes better sense. Initially, it might seem logical to store a model of a table in a single mesh. However, the lack of articulation, or granularity, makes it impossible to perform collision detection on each element of the table. This means that player might not be able to hide under the table. Increasing the granularity of the table, to the level of "table top" and "table leg" makes possible a wider variety of interactions with the table. In addition, a higher level of granularity makes it possible to do things like destroy the table, but in a realistic manner, non-performance intensive manner.
Somewhere you don't want to get stuck.
An element of a terrain skin that refers to a manmade feature, such as roads, buildings, bridges, and parking lots.
This term, which comes from object-oriented programming, refers to a literal copy of an object. Literal copies apply to all nodes in the database.
This term refers to the level at which a modifier effects the mesh it modifies. A deep refinement changes the internal representation of a mesh. That is, a deep refinement changes the physical structure of the mesh. A shallow refinement only changes the appearance of a mesh.
The active material is the material applied to new faces, curves, and some modifiers when they are created.
The active mesh is used by several drawing modes to determine where to place new data or to determine which data should be duplicated or instanced.
Dependency describes a relationship between two nodes, where one of the nodes depends on the other node. EX: A material that references a texture is said to have a dependency on the texture it references. EX: A texture referenced by a material is said to have as a dependency, the material by which it is referenced. Similarly, an instance is said to have as a dependency; the mesh it references for its geometric definition. Typically, dependencies describe a bi-directional relationship between two pieces of data.
A description is the specification for a resource. The resource data structure determines how the description is created. For example, a true-color bitmap image resource is described by a binary file that contains an array of RGB values. The image is the resource and the array of RGB values is the data structure. A mesh resource is described by a binary file that contains a list of points, edges, and polygons. The mesh is the resource and the array or linked list of points, edges, and polygons is the data structure. Alternatively, both the bitmap image resource and a mesh resource could be described as ASCII files. In that case, both are still resources, but their data structure is a list of characters. A game engine is described by c or c++ files, and ultimately, as machine language. The method of description is abstracted from the concept of resource, which means that a resource is a resource regardless of its method of description.
A meta-data file that contains elevation information for a geographic area.
A meta-data file that contains information about roads, boundaries, and hydrographic data.
A meta-data file that contains visual imagery and geographic information.
A data structure that stores scene resources. A scene contains the description of a 'scene' or 'digital set' where the game or simulation takes place.
A context is a situation. A display context is situation where the act of display is occurring, such as in a display context device inside a graphics engine.
A display context device is a machine, such as a rendering loop or a piece of hardware that is responsible for the act of display. A graphics engine contains a display context device, usually in the form of an interface to a rendering device.
When a resource model is stored on a CDROM or hard disk, the resources are unaware of limitations in the display context device, with regard to memory, processing power, and rendering bandwidth. Thus, a storage context resource model is basically free of limitations. The difference between the limitlessness of the storage context and limitation of the display context is called the display context differential.
A resource model contains all the resources needed by an application, and might be stored on a CDROM or hard disk. This is called a storage context resource model. A display context resource model is the subset, or smaller portion, of the resource model, that is displayed for a specific rendered frame.
A line connecting two vertices.
Elision is the generic term for "data removal". LOD nodes tell the runtime software when to elide, or remove, their contents from the rendering list. Data granularity is an important factor when you wish to elide at the level of node.
A node that creates a hyperlink to content in the resource framework. Textures are externally referenced, and changes to the texture affect any external references that are linked to the texture. Meshes are another type of content that are often externally referenced.
A mesh is a data structure defined by a c++ class. Internally, a mesh is stored as a winged edge data structure that stores information about edge connectivity. The concept of "face" really only exists at the user level, or the "external representation" of a mesh. The primary difference is that the external representation of a mesh can include n-sided faces, whereas the internal representation only stores triangles. Some modeling operations, such as dissolve edge or apply material, change the external representation of a mesh, but do not affect its internal structure. Other modeling operations, such as split edge and connect edges change the internal representation of a mesh.
A plane constructed of at least three vertices. Also called facet or polygon.
The far clipping plane defines the end of the view volume.
Filtered selection uses pick modes to tell the selection tool what type of data the user wishes to select, at the exclusion of all other data types. Thus, if the user sets the software to Select Mode and sets the pick filter as Lights, then the software is configured to select lights and nothing else. In the light pick modality, if the user moves the cursor over a light, the user can select the light. In the light pick modality, the user cannot select faces, edges, vertices, etc., regardless of cursor position.
A large geographic area, usually on the order of 100km. A geocell is typically 1 full degree of longitude and 1 full degree of latitude. NOTE: The size of a degree changes from equator to pole. Degrees are larger at the equator than at the poles.
An element of a terrain skin that refers to a natural feature, such as a lake, river, or forest. Placed objects (that sit atop the terrain skin) can also be considered geographic features. Those include trees, plants, and animals. Geographic features are naturally occurring.
Granularity describes the amount of separation between objects of similar type or class. Typically, granularity is measured using the terms "high" and "low". For example, a model of a tree might be a single mesh that contains the trunk polygons and all polygons that form all the leaves. This is a "low" granularity form of the tree, and is probably sub-optimal. However, the same tree could also be stored with a separate mesh for the trunk and a separate mesh for the leaves. This is probably the "correct" granularity for such a model, and might be referred to as "medium" granularity. Lastly, a tree could be stored with a separate mesh for the trunk and separate meshes for each of the leaves. This is a high-granularity model, and probably is just as sub-optimal as the first example. Granularity tends to have two distinct forms: granularity that is good for modeling, which the modeler's work easier, and granularity that is good for runtime performance.
Three important, cascading values that describe the quality of data.
An executable program responsible for presenting loading resources, activating resources, and display resources to the end-user, and optionally, providing methods for end-user interaction.
A string containing a completely unique identifier. Each c++ and script command requires its own GUID because of load-order/memory-order differences.
An instance is a shallow copy of a mesh or mesh-class node like a sweep or loft. The mesh that defines the instance is called the "reference mesh" and any changes to the reference mesh automatically cause changes to the visual appearance of the instance. Instances transformations are unique from their reference mesh, but transformation changes to a reference mesh are applied to any instances.
A soft link between two nodes or parameters in the hierarchy. Typically, this describes a dependency. For example, the trim node uses an internal reference to specify which mesh is used to trim another mesh. The link between the trim node and the scissoring mesh is an internal reference. This is often referred to as "virtual inclusion" or "virtualization".
Modal refers to groups of operations, commands, or contexts that are grouped, arranged, or stored in a specific mode. EX: Select mode must be enabled before the user can select data.
A modifier is a hierarchy node that stores an editing operation that has been applied to a mesh. EX: Extrude, Turn Edge, Split Edge, Apply Material. Modifiers are stored as child nodes of the mesh to which they are applied.
Modeling scope refers to the geometric scope of a mesh modeling operation. Some mesh modeling operations, such as extrude, split, and connect, create new data. Any time new data is created, a new modeling scope is created. Thus, if you create a rectangular face and apply the extrude modifier, all the new faces are part of the new modeling scope. You can modify the new faces at leisure, but if you disable the extrude, the new data "disappears" and, logically, all the modifiers within the scope are disabled.
Monolithic data is the same as amalgamated data. Monolithic data exists as a single piece, which means that monolithic data is low granularity. At the end of the day, all data is monolithic, but there might be a significant performance difference in the display context device between a mesh with 10,000 polygons and 10 meshes with 1000 polygons. For example, you cannot remove a 10,000 polygon mesh from the rendering description unless it is entirely off-screen. Using 10 meshes makes it possible to optimize the rendering description.
The far clipping plane defines the end of the view volume. Often times, this value should be set at 1ft or something similar, because when the near clipping plane is set to 1in, most of the z-buffer precision is used up in the first few feet of the view volume.
A process used to correct distortions in aerial imagery. Before ortho-rectification, most imagery, whether for height data or visuals, is in geodetic projection. This is not purely accurate. The process of ortho-rectification corrects this, by projecting the model data into another projection, typically UTM [Universal Transverse Mercator.] Architect does not support ortho-rectification at present, but will in the future.
An element of a curve, similar to a vertex in a polygon.
Literally, this means "many forms".
Architect's feature-set was not designed because "other products have these features". Nor is it a bag of features, haphazardly cluttered with features that do not, or cannot, work in concert with each other. Scenome's features were designed to facilitate craftsmanship. Craftsmanship describes the process used to create something, and the most people like to work with tools that allow them to work in iterations. Iteration-based craftsmanship produces work via a process known as progressive refinement. Ideally, to properly support progressive refinement, the user should not be afraid of making changes. To this end, Scenome supports unlimited undo/redo during a given design session, and has a parameterized mesh construction history that allows disk-based storage of critical design session changes.
The mesh referenced by an instance for its geometric definition.
Any element stored in a resource model is a resource. Resources include executables, application extensions, images, sounds, and scenes. The resource concept is abstracted from the method by which the resource is described. Only user agents are concerned with method of description. Ergo, you cannot load an image in a sound management user agent, and vice versa.
The resource model is a disk-based or CD-based data structure that contains all the resources needed by a complete real-time application. [A collection of user agents is used to create the content stored in the resource model. Common user agents include 3D modeling software, 2D paint programs, compilers, and so forth.] In this way, an asset library is similar to a resource model, except that an asset library does not necessarily account for structure, whereas a resource model accounts for structure.
The act of converting a creative idea, into a tangible resource, via a user agent. You might start out with a creative idea for an image resource, such as a texture map, and use an image editor to produce an image resource.
Presentation is the process of loading, activating, and displaying resources. The graphics engine user agent handles presentation. Presentation is complex, but we here can consider three primary stages: 1.] loading resources, 2.] running a simulation on those resources or with those resources, and 3.] displaying resources. The stages of simulation and display run in a loop, occurring at least once per frame, with intermittent resource load and unload.
The act of transforming a resource from storage context on a CDROM or hard disk, to display context inside a graphics engine. The graphics engine typically handles resource transformation, and must account for the context flexibility differential while doing so.
The term generally used to refer to changing the orientation of something.
The term generally used to refer to changing the size of something.
The trim modifier uses a scissors mesh to perform geometric integration of two meshes. The cloth mesh is the mesh being trimmed, and the scissors mesh is the mesh with which the cloth is trimmed.
An element of a curve, similar to an edge in a polygon.
This term, which comes from object-oriented programming, refers to a non-literal copy of an object. Specifically, shallow copy refers to instances of a mesh. Instances are not literal copies of the mesh, but they use the mesh's vertex pool for their geometric definition.
This term refers to the level at which a modifier effects the mesh it modifies. A shallow refinement does not change the physical structure of a mesh. Apply Material is a good example of a shallow refinement.
Simulation is defined as imitation or representation, as of a potential situation, or in experimental testing. Simulation is an important part of life; a rehearsal dinner, planning how to handle your yearly review, or examining the potential routes through a conversation with someone else.
A resource model is stored on a CDROM or hard disk. These resources are said to be in the "storage context", as opposed to the "display context".
A resource model that is stored on a CDROM or hard disk.
A structural dependency is a type of dependency found in the Architect scene graph wherever parent/child relationships exist. Child nodes have an absolute, structural dependency on their parent node. If you delete the parent node, all its children are also deleted. Similarly, if you modify the parent node, via transformation for example, those changes are applied to the children.
In this context, structure describes the appearance of the hierarchy. More nesting typically implies more structure, while less nesting implies less structure. This concept is highly subjective in most cases, but has demonstrable value in terms of runtime performance.
An environment that does not really exist, as in a terrain scene created for a simulation. In conventional terms, the terrain does not exist, but the technology involved in creating, storing, and displaying the terrain can trick the user into believing that it does. This believability is called "immersion" and only occurs when the users suspend their disbelief.
The term generally used to refer to changing the position of something.
Transformation refers to a non-integrated change to the position, size, or orientation of any geometric node in the database. [By way of example, a light, mesh, group, or face can be transformed, but a material cannot.]
The transformation stack applies to group, LOD group, and mesh-class nodes such as mesh and sweep. Example: Create an 8×8 square polygon that is centered around the origin. All the vertices have positions like [4x, 4y] and [-4x, -4y]. If you apply a transformation to the mesh, such as translate or rotate, the meshes' vertices are still at positions like [4x, 4y] and [-4x, -4y] because the mesh itself has been transformed. Thus, when rendering the scene, Architect's rendering engine stacks the transformation onto the vertices and renders the scene. If you translate the cube mesh 1x and 1y, then the rendering process transforms them to positions like [5x, 5y] without changing the actual vertex positions. If you apply the Harden Transformations command, then the vertex positions will be updated, and read [5x, 5] and [-5x, -5y] and so forth.
The process of using one mesh to cut another mesh. Trimming can create perforations or integrate different meshes with one another. The mesh being cut is called the "cloth" and the meshing doing the cutting is called the "scissors".
Type of resource refers to the class of resource, such as bitmap or sound. Type of node refers to the class of node, such as group, mesh, light, material. Types are somewhat semantic, because groups, meshes, lights, and materials are objects of type "node", and bitmaps and sounds are objects of type "resource".
A user agent performs actions on the behalf of the user. For example, a human cannot write bits directly onto a hard disk, so an image editor is used to create and modify image resources. The "image editor" acts as the agent for the user. Human-operated or computer-operated user agents create all game resources.
A game's resource model is large and complex, with many types of resources. Therefore, creating a game requires many types of user agents, such as programming software, software for creating 2D and 3D art, and sound software. As you might suspect, the game engine is another type of user agent. User agents are important because it is through a user agent that a creative idea becomes a tangible resource. The process of converting an intangible creative idea into a disk-based resource is called "resource transfer". Resource transfer is basically the manufacturing side of creative expression.
The view volume is a pyramid-shaped clipping region used by nearly all runtime engines to determine the camera's field of view. The view volume is defined by two parameters: Near Clipping Plane and Far Clipping Plane. Once per frame, nearly all runtimes test the bounding boxes of the contents of the database against the view volume.
Visualization is the act of using a visual device, such as a sketch or computer model, to create an image of expected results or to simulate the outcome of a process.
A point or singularity, described by three double-precision floating point coordinates, that connects two or more edges in a polygon.
A virtual dependency is a type of dependency found in the Architect scene graph wherever inputs are used. Materials and textures often have virtual dependencies on each other. The texture has a virtual dependency on the material by which it is referenced. The material has a virtual dependency on the texture it references. Unlike a structural dependency, changes to the reference/referencing data in a virtually dependent relationship do not necessarily have a widespread effect. For example, if you delete the texture referenced by a material, nothing happens to the material past a change to its appearance when rendered. If you delete the material referenced by a texture, the texture is utterly unaffected.
Child nodes have an absolute, structural dependency on their parent node. If you delete the parent node, all its children are also deleted. Similarly, if you modify the parent node, via transformation for example, those changes are applied to the children.
Virtualization describes the process of converting structural dependencies to virtual dependencies. Architect's input system is used to create virtual dependencies between nodes in the database. The scene graph creates structural dependencies between parent nodes and their child nodes.
Virtualization can also describe the process of turning a series of operations in a collection of data.
The world coordinate system is the coordinate system used by the database, where the world origin is at [0,0,0]. An untransformed mesh stores its vertices in world coordinates
Virtualization can also describe the process of turning a series of operations in a collection of data.