Glossary

From C4 Engine Wiki

Jump to: navigation, search
Contents: A B C D E F G H I J M N O P R S T U V W X Z

A

acoustics space 
A volume of space in which various acoustical properties can be defined. See Spaces Page.
alpha channel 
A fourth channel of data that sometimes accompanies an image containing red, green, and blue color channels. The alpha channel is often used to store transparency information, but it can also store other types of data such as gloss, ambient occlusion, or parallax data. See also material, ambient occlusion, and Importing a Texture.
ambient occlusion 
A measure of how much ambient light is blocked at any point in space by the surrounding geometry.
ambient space 
A volume of space in which ambient occlusion can be precomputed and store in 3D texture maps. See Spaces Page.

B

backface culling 
An optimization that causes triangles facing away from the camera to be skipped.
batch 
A group of jobs that are related in some way. It is possible to efficiently wait for a batch to finish completely before proceeding to execute some code that depends on the results of its jobs.
bump map 
Another name for a normal map.

C

Collada 
An open standard for the interchange of interactive 3D data, and is the officially supported format used to import 3D digital assets into the C4 Engine. The C4 Engine supports versions 1.3 and 1.4 of the Collada format. The name Collada is an acronym for COLLAborative Design Activity, and its file format extension is .dae (Digital Asset Exchange). Additional information about Collada can be found at: www.collada.org. See also Collada Plugins.
command console 
A terminal-like window that can be used to enter commands registered by the engine or by plugin modules. See also Command Console.
connector 
A generic named link between two nodes in a world. Each node in a world can have one or more connectors attached to it, and they are used for a variety of purposes. In particular, connectors can be used to identify the target of methods in a script. See also Connectors.
controller 
A controller is represented by the Controller class and is used to manage anything about its target node that changes over time. For example, a controller could be used to move a geometry node in some way, or it could be used to modify the brightness of a light source. Several types of controllers are built into the core engine, and an application can define its own types of controllers by subclassing from the Controller class. See also node and Programming Introduction to the C4 Engine.
cube light 
A type of light that projects a cube texture map into the environment. The texture can contain grayscale shadows or any kind of full-color projected image. See also depth light, infinite light, point light, spot light, and Lights and Shadows.
cube map 
A texture map containing six square images corresponding to the faces of a cube. Cube maps are typically used for environment mapping. See also Texture Importer.

D

depth bounds test 
There are two types of uses for the depth bounds test (DBT). First, it can be used like a third dimension on the scissor test (so that you have a 3D scissor box). C4 uses this to reject pixels that are too far beyond a light or too much closer to the camera than the light to actually be lit (because they're out of range). The second use is for limiting the number of pixels rendered in shadow volumes. This is where it's a little hard to understand. It's possible to reject shadow volume pixels for which the visible portions of the scene are too far away to intersect the shadow. There are some comparison images in Eric Lengyel's 2005 GDC presentation, Advanced Stencil Shadow and Penumbral Wedge Rendering (2005), that show shadow volumes rendered with and without DBT. See also backface culling, hierarchical Z, scissor test, and z-cull.
depth light 
This type of light uses an orthographically-projected 2D shadow map containing depth information to apply shadows to the environment. When rendering, it uses shadow mapping hardware to perform per-pixel depth comparisons, causing correct shadows to be applied to any dynamic objects moving through the light's volume of influence. The texture for the depth light is the only one that is generated in the actual scene containing the light. See also cube light, infinite light, point light, spot light, and Lights and Shadows.
diffuse color 
The color of diffuse light reflected by a surface. This is multiplied by the color read from the texture map. See also material and texture map.
direct portal 
A direct portal's polygonal boundary tells the engine through what region of space objects in one zone can be seen from another. This is the most common type of portal used to connect one zone to another. See also occlusion portal and remote portal.

E

early Z reject 
See z-cull.
early Z test 
See z-cull.
emission color 
The color of light that the surface appears to emit by itself. The emission color is added to the ambient light that the surface reflects if this attribute is used in a material. Emission color is multiplied by the color read from the Emission map. See also emission map and material.
emission map 
A texture that controls the emission color. This is added to the ambient light reflected by a surface. See also emission color and material.
environment color 
The color by which the environment map is multiplied. An environment map is applied in the ambient rendering pass if this attribute is used in a material. If a reflection color attribute is present in the material, then the environment color is ignored. See also material.
environment map 
A texture containing an image of the environment. This must be a cube map, and when specified in a material, it overrides any environment map specified in a zone. The environment map only has any affect when the environment color attribute is also present in a material. See also material, environment color, and cube map.

F

field 
A volume of space inside which a force is applied to objects under the control of the physics system.
fiber 
A directed path between two methods in a script representing the flow of program control. See also Script Editor.
fog space 
A node that causes fog to be rendered in a scene. A fog space is actually a half-space because all space is divided in half by a single boundary plane, and fog is rendered on one side of the plane. See Fog Spaces.
font 
Fonts are used by the C4 Engine to display text. See Generating a Font.
force 
A customizable type of entity that applies a force to objects inside a field.

G

gizmo 
A control that appears for one of the selected nodes in the World Editor. See Gizmo in World Editor.
gloss map 
A texture that controls the specular reflection color. This modulates the specular reflection, the environment map, and/or the ambient reflection term. If this texture is present in a material, then any gloss map existing in the alpha channel of another texture is ignored. See also material.

H

hierarchical Z 
A graphics card that supports hierarchical Z stores a z-buffer (or depth buffer) in VRAM that has a depth value for every pixel on the screen. The screen is also divided up into blocks around the size of 8x8 or 16x16 pixels, and the minimum and maximum depths within those blocks are stored in much faster on-chip memory. When the GPU is drawing a triangle, it first chops it up into pieces matching the big blocks and figures out the minimum depths that the triangle will have within each of those blocks. If the minimum depth for the triangle is bigger than the maximum depth stored on-chip for a block, then the whole block can be skipped. This is called early z-test. If the whole block can't be skipped, then the pixel shader is run for each pixel inside the block (and inside the triangle), and a per-pixel z-test is done afterwards. This has huge performance implications because it lets the GPU avoid 64 or 256 executions of the pixel shader. See also backface culling, depth bounds test, scissor test, and z-cull.
horizon map 
A texture that contains data about how shadows are cast by the bumps encoded in a normal map. The engine uses a pair of textures to encode horizon mapping information. See also Horizon Mapping.

I

infinite light 
An infinite light illuminates a scene with a constant brightness from a single direction. When it is placed in a world, only the direction in which it is pointing matters, not its position. See also cube light, depth light, point light, spot light, and Lights and Shadows.
infinite zone 
See zone.
instance 
A type of node that references an external world resource. Instances can be created by using the tools in the Worlds Page.

J

job 
An individual task that can be executed by the Job Manager in parallel with other tasks on multiple processors.
joint 
A type of node used by the physics system to join two objects together in some way.

M

material 
Materials are used to specify the color, texture, and other attributes of a surface in the C4 Engine. See also diffuse color, texture map, and Creating a New Material.
method 
An atomic component of a script that performs a particular action. See also Script Editor.
microfacet color 
The normal-incidence color of a microfacet reflection. See also material.
microfacet shading 
A specular rendering technique based on a physical model developed by Cook and Torrance. It's much more physically accurate than the conventional (N · H)m specular highlights for things like metals. The term “microfacet” refers to the assumption by the model that surfaces are made up of many microscopic planar facets that reflect like perfect mirrors.
model 
A model represents an indivisible object of some kind that is organized into a tree of nodes. A model can be things like a character, a weapon, or a projectile. See also Creating a Model.
modifier 
Assigned to an instance node in order to change the appearance or properties of the world it references in some way. See also Modifiers.

N

node 
All of the items in a world are organized into a scene graph having a tree structure, and each node of this tree represents a single item. C4 defines a class called Node that serves as the base class for a large hierarchy of different classes used to represent a variety of different types of objects in the scene graph. See also world, world editor, and Programming Introduction to the C4 Engine.
normal map 
A texture that encodes normal vectors so that a flat surface can be made to look bumpy. The alpha channel of this texture may contain extra information that affects different aspects of the material. If the alpha channel contains a gloss map, then it modulates the specular reflection and the environment map. If the alpha channel contains parallax data, then the parallax mapping calculation is applied in all rendering passes. See also material, gloss map, environment map, and horizon map.

O

occlusion portal 
Also called an anti-portal, an occlusion portal is a convex polygon that explicitly blocks objects behind it from being visible. Occlusion portals are often inserted into large objects to help the engine more efficiently cull smaller objects that are blocked from view.
occlusion space 
A volume of space that blocks the visibility of objects on one side when the camera is looking at them from the other side. Occlusion spaces are often placed inside large objects as an optimization to give the engine more information that can be used cull invisible objects.
opacity map 
A texture that controls the surface opacity when there's a refraction term. This is used to linearly interpolate between the diffuse reflection term and the refraction term in the ambient pass. If this texture is present, then any opacity map existing in the alpha channel of another texture is ignored. See also material.

P

paint space 
A volume of space representing the extents of a special painting canvas that can be projected onto a set of geometries and used to enhance materials. See also Paint Page.
panel 
The short name for an in-game interface panel. See also Panel Editor.
point light 
A point light emits light from a single point in space and influences a spherical region of a given radius. The intensity of the light gradually falls off to zero at the outer boundary of the light's sphere. See also cube light, depth light, infinite light, spot light, and Lights and Shadows.
portal 
The primary means through which the C4 Engine performs large-scale visibility determination is an advanced portal system. A world is arranged as a hierarchy of zones, and these zones are connected by portals. See also direct portal, occlusion portal, remote portal, zone, Creating a Simple Portal, and Working with Portals.
process 
An atomic component of a shader that performs a specific action. See also Shader Editor.
property 
A piece of information of a particular type that is attached to a node. See also Defining a Custom Property.

R

remote portal 
A special type of portal that allows one part of a world to be seen remotely from another part of a world. Remote portals are used for spatial effects such as teleportation portals, but are also used for mirrors.
rigid body 
The primary type of object that is controlled by the physics system.
route 
A directed path between two processes in a shader representing the flow of data. See also Shader Editor.

S

S3TC 
The S3 Texture Compression option is a lossy form of encoding that reduces the size of a texture. Some textures may exhibit visual artifacts (blockiness) as a result of using S3TC. See also texture map.
scene graph 
All of the items in a world are organized into a scene graph having a tree structure, and each node of this tree represents a single item. See also node and world.
scissor test 
The scissor test lets you define a rectangle on the screen to which drawing is limited. Anything drawn outside the rectangle is rejected very quickly before any pixel shaders are run. C4 uses the scissor test to limit the amount of rendering done for point light sources and shadows. See also backface culling, depth bounds test, hierarchical Z, and z-cull.
script 
The C4 Engine has the capability to execute scripted actions in response to some kind of trigger. A script in C4 does not require the use of any programming language, but is instead organized into a graph of actions called methods that can be edited with a tool that displays a graphical representation of the script. See also Graphical Scripting Language.
shadow space 
A box that gives the engine information about the maximum possible extents of shadows cast by specific light sources. This can be used for a performance optimization when the volume of space in which shadows can be cast is significantly smaller than the full range of a light source. See Shadow Spaces.
shape 
A component of a rigid body that defines the size and dimensions of the rigid body as well as its mass, volume, and moment of inertia. A rigid body is composed of one or more shapes.
skybox 
A skybox is a set of six textures that surround a scene with an image considered to be infinitely far away. See Skyboxes.
specular color 
The color of the specular reflection. This is multiplied by the color read from the Gloss map. See also material specular exponent, and gloss map.
specular exponent 
Controls the sharpness of the specular reflection. Higher values are sharper. See also material and specular color.
spot light 
This type of light works just like the cube light, except is uses a 2D texture instead of a cube texture. See also cube light, depth light, infinite light, point light, and Lights and Shadows.

T

target zone 
In the World Editor, whenever a new node is placed in the world, it gets added to the current target zone. The target zone is set by selecting a zone and choosing Set Target from the Node menu (or using the shortcut Ctrl-T). The current target zone has a thicker boundary and pulsates. At any time, nodes can be moved into the current target zone by selecting them and choosing Move to Target Zone from the Node pulldown menu (or using the shortcut Ctrl-Shift-Z). See also zone and World Editor.
texture map 
A texture that controls the diffuse reflection color. The alpha channel of a texture may contain extra information that affects different aspects of the material. If the alpha channel contains a gloss map, then it modulates the specular reflection and the environment map. If the alpha channel contains an ambient occlusion factor, then it modulates the amount of ambient light reflected. See also material, diffuse color, gloss map, environment map and Importing a Texture.
transition zone
A transition zone is a special type of zone intended to contain objects that must extend into more than one ordinary zone. It is often the case that the geometry making up a doorway between two zones needs to overlap both of the zones that is connects, but placing the geometry in one of the two zones could cause rendering artifacts if the portal leading from the zone containing the camera to the other isn't visible (or isn't enabled). The solution is to place a small transition zone between the two ordinary zones and put all of the doorway geometry in it. See also zone and Using Transition Zones.

U

UV mapping 
A texture map is applied to a geometry object using UV coordinates that represent positions within the texture. UV coordinates are usually paired with each XYZ vertex of a geometry object, to create a mapping between positions on the geometry and corresponding positions within a texture. See also texture map and material.

V

vertex 
(plural vertices) A vertex usually connects two or more edges of a polygon, to form an intersection or corner of a surface. In a three-dimensional geometry space, vertices are usually represented using X, Y, and Z coordinates. In a two-dimensional texture space, vertices are usually represented using U and V coordinates. See also UV mapping.
voxel 
A voxel is the 3D analog of a pixel and is derived from the words “volume element” and the letter “x” from “pixel”. Whereas a pixel represents a two-dimensional square, a voxel represents a three-dimensional cube. A voxel is typically one individual piece of a large volumetric data set.

W

world 
A single scene that can be rendered in the C4 Engine is called a world, and is represented by the World class. See also Programming Introduction to the C4 Engine.
World Editor 
The World Editor tool module is used to create every scene that the C4 Engine displays (however, scene data may be imported from other sources). See also World Editor.

X

XAudio2 
XAudio2 is the new unified audio API that Microsoft has released for both Windows and Xbox 360. It replaces the DirectSound API on Windows and the original XAudio API on Xbox 360, and it allows audio to be programmed under a single API for both platforms. XAudio2 was finalized in the June 2008 release of DirectX.
XInput 
XInput is the unified input device API that Microsoft has released for both Windows and Xbox 360. Under Windows, it enables full support for the Xbox 360 Controller, but it does not replace DirectInput for other kinds of input devices. The C4 Engine Input Manager natively supports XInput devices in addition to wide support for DirectInput devices.

Z

z-cull
Z-cull is what Nvidia calls its hierarchical z-buffering algorithm. The GPU stores a coarse representation of the z-buffer on chip in 8x8 blocks. When a triangle is being drawn, the GPU checks to see if any part of each 8x8 block is closer than the maximum depth known for that block. If all the pixels in the block are further away than the maximum depth, then the whole block can just be skipped. This is what's known as the "early z test" or "early z reject", and it happens before the fragment program is run. If even one pixel in the block has a depth less than the value stored in the on-chip coarse z-buffer, then the fragment program is run for all the pixels in the block, and a per-pixel z-test is performed with the actual z-buffer in VRAM afterward. The on-chip z-cull hardware is reset when you clear the z-buffer.
zone
Every world is divided into one or more zones, which can be arranged hierarchically. The root node of every world is an infinite zone. As its name suggests, this zone extends to infinity in every direction. Other nodes can be placed directly in the infinite zone, but it is often the case that smaller subzones are created to hold the geometric layout of a world. Zones are connected by portals. See also transition zone and portal.
Personal tools