Adobe® AIR® API Reference for HTML Developers
Home  |  Show Classes List |  Index  |  Appendixes

Language Reference only       
VertexBuffer3D 
3D:
Context3D
Context3DBlendFactor
Context3DClearMask
Context3DCompareMode
Context3DProgramType
Context3DRenderMode
Context3DStencilAction
Context3DTextureFormat
Context3DTriangleFace
Context3DVertexBufferFormat
CubeTexture
IndexBuffer3D
Program3D
Stage3D
Texture
VertexBuffer3D
Air.net:
ServiceMonitor
SocketMonitor
URLMonitor
Air.update:
ApplicationUpdater
ApplicationUpdaterUI
DownloadErrorEvent
StatusFileUpdateErrorEvent
StatusFileUpdateEvent
StatusUpdateErrorEvent
StatusUpdateEvent
UpdateEvent
Data:
EncryptedLocalStore
SQLCollationType
SQLColumnNameStyle
SQLColumnSchema
SQLConnection
SQLError
SQLErrorEvent
SQLErrorOperation
SQLEvent
SQLIndexSchema
SQLMode
SQLResult
SQLSchema
SQLSchemaResult
SQLStatement
SQLTableSchema
SQLTransactionLockType
SQLTriggerSchema
SQLUpdateEvent
SQLViewSchema
Desktop:
Clipboard
ClipboardFormats
ClipboardTransferMode
DockIcon
Icon
InteractiveIcon
NativeApplication
NativeProcess
NativeProcessStartupInfo
NotificationType
SystemTrayIcon
Display:
BitmapData
NativeMenu
NativeMenuItem
Screen
Stage
StageDisplayState
StageQuality
Events:
ActivityEvent
AsyncErrorEvent
BrowserInvokeEvent
DataEvent
DatagramSocketDataEvent
DNSResolverEvent
DRMAuthenticateEvent
DRMStatusEvent
ErrorEvent
Event
EventDispatcher
FileListEvent
HTTPStatusEvent
InvokeEvent
InvokeEventReason
IOErrorEvent
LocationChangeEvent
MouseEvent
NativeProcessExitEvent
NetDataEvent
NetMonitorEvent
NetStatusEvent
OutputProgressEvent
ProgressEvent
SampleDataEvent
SecurityErrorEvent
ServerSocketConnectEvent
StatusEvent
StorageVolumeChangeEvent
TimerEvent
UncaughtErrorEvent
UncaughtErrorEvents
File:
File
FileMode
FileStream
StorageVolume
StorageVolumeInfo
Functions:
trace()
generateRandomBytes()
navigateToURL()
sendToURL()
Geom:
Matrix
Point
Rectangle
Media:
AudioDecoder
AudioPlaybackMode
H264Level
H264Profile
H264VideoStreamSettings
ID3Info
InputMediaStream
Microphone
MicrophoneEnhancedMode
MicrophoneEnhancedOptions
Sound
SoundChannel
SoundCodec
SoundLoaderContext
SoundMixer
SoundTransform
VideoCodec
VideoStatus
VideoStreamSettings
Native window:
NativeWindow
NativeWindowBoundsEvent
NativeWindowDisplayState
NativeWindowDisplayStateEvent
NativeWindowInitOptions
NativeWindowRenderMode
NativeWindowResize
NativeWindowSystemChrome
NativeWindowType
Net:
AAAARecord
ARecord
CertificateStatus
DatagramSocket
DNSResolver
FileFilter
InterfaceAddress
IPVersion
LocalConnection
MXRecord
NetConnection
NetMonitor
NetStreamAppendBytesAction
NetStreamMulticastInfo
NetworkInfo
NetworkInterface
ObjectEncoding
PTRRecord
ResourceRecord
Responder
SecureSocket
ServerSocket
SharedObject
SharedObjectFlushStatus
Socket
SRVRecord
URLLoader
URLLoaderDataFormat
URLRequest
URLRequestDefaults
URLRequestHeader
URLRequestMethod
URLStream
URLVariables
XMLSocket
Security:
ReferencesValidationSetting
RevocationCheckSettings
SignatureStatus
SignerTrustSettings
X500DistinguishedName
X509Certificate
XMLSignatureValidator
System:
Capabilities
Security
System
Updater
Ui:
Keyboard
KeyboardType
KeyLocation
Mouse
MouseCursorData
Utils:
Vector
ByteArray
Collator
CollatorMode
CompressionAlgorithm
CurrencyFormatter
CurrencyParseResult
DateTimeFormatter
DateTimeNameContext
DateTimeNameStyle
DateTimeStyle
Endian
HTMLLoader
HTMLPDFCapability
LastOperationStatus
LocaleID
NationalDigitsType
NumberFormatter
NumberParseResult
StringTools
Timer
window.runtime propertywindow.runtime.flash.display3D.VertexBuffer3D
InheritanceVertexBuffer3D Inheritance Object

Runtime Versions:  3

The VertexBuffer3D class represents a set of vertex data uploaded to a rendering context.

Use a VertexBuffer3D object to define the data associated with each point in a set of vertexes. You can upload the vertex data either from a Vector array or a ByteArray. (Once uploaded, the data in the original array is no longer referenced; changing or discarding the source array does not change the vertex data.)

The data associated with each vertex is in an application-defined format and is used as the input for the vertex shader program. Identify which values belong to which vertex program input using the Context3D setVertexBufferAt() function. A vertex program can use up to eight inputs (also known as vertex attribute registers). Each input can require between one and four 32-bit values. For example, the [x,y,z] position coordinates of a vertex can be passed to a vertex program as a vector containing three 32 bit values. The Context3DVertexBufferFormat class defines constants for the supported formats for shader inputs. You can supply up to sixty-four 32-bit values (256 bytes) of data for each point (but a single vertex shader cannot use all of the data in this case).

The setVertexBufferAt() function also identifies which vertex buffer to use for rendering any subsequent drawTriangles() calls. To render data from a different vertex buffer, call setVertexBufferAt() again with the appropriate arguments. (You can store data for the same point in multiple vertex buffers, say position data in one buffer and texture coordinates in another, but typically rendering is more efficient if all the data for a point comes from a single buffer.)

The Index3DBuffer object passed to the Context3D drawTriangles() method organizes the vertex data into triangles. Each value in the index buffer is the index to a vertex in the vertex buffer. A set of three indexes, in sequence, defines a triangle.

You cannot create a VertexBuffer3D object directly. Use the Context3D createVertexBuffer() method instead.

To free the render context resources associated with a vertex buffer, call the object's dispose() method.

See also



Properties
 PropertyDefined By
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
Public Methods
 MethodDefined By
  
dispose():void
Frees all resources associated with this object.
VertexBuffer3D
 Inherited
hasOwnProperty(name:String):Boolean
Indicates whether an object has a specified property defined.
Object
 Inherited
isPrototypeOf(theClass:Object):Boolean
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
propertyIsEnumerable(name:String):Boolean
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
toLocaleString():String
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
toString():String
Returns the string representation of the specified object.
Object
  
uploadFromByteArray(data:ByteArray, byteArrayOffset:int, startVertex:int, numVertices:int):void
Uploads the data for a set of points to the rendering context from a byte array.
VertexBuffer3D
  
uploadFromVector(data:Vector.<Number>, startVertex:int, numVertices:int):void
Uploads the data for a set of points to the rendering context from a vector array.
VertexBuffer3D
 Inherited
valueOf():Object
Returns the primitive value of the specified object.
Object
Method Detail

dispose

()method
public function dispose():void

Runtime Versions:  3

Frees all resources associated with this object. After disposing a vertex buffer, calling upload() and rendering using this object will fail.

uploadFromByteArray

()method 
public function uploadFromByteArray(data:ByteArray, byteArrayOffset:int, startVertex:int, numVertices:int):void

Runtime Versions:  3

Uploads the data for a set of points to the rendering context from a byte array.

Parameters

data:ByteArray — a byte array containing the vertex data. Each data value is four bytes long. The number of values in a vertex is specified at buffer creation using the data32PerVertex parameter to the Context3D createVertexBuffer3D() method. The length of the data in bytes must be byteArrayOffset plus four times the number of values per vertex times the number of vertices. The ByteArray object must use the little endian format.
 
byteArrayOffset:int — number of bytes to skip from the beginning of data
 
startVertex:int — The index of the first vertex to be loaded. A value for startVertex not equal to zero may be used to load a sub-region of the vertex data.
 
numVertices:int — The number of vertices to be loaded from data.


Throws
TypeError — Null Pointer Error: when data is null.
 
RangeError — Bad Input Size: if byteArrayOffset is less than 0, or if byteArrayOffset is greater than or equal to the length of data, or if there isn't enough data in the byte array after the offset position for the number of vertices uploaded.

uploadFromVector

()method 
public function uploadFromVector(data:Vector.<Number>, startVertex:int, numVertices:int):void

Runtime Versions:  3

Uploads the data for a set of points to the rendering context from a vector array.

Parameters

data:Vector.<Number> — a vector of 32-bit values. A single vertex is comprised of a number of values stored sequentially in the vector. The number of values in a vertex is specified at buffer creation using the data32PerVertex parameter to the Context3D createVertexBuffer3D() method. The length of the vector must be the number of values per vertex times the number of vertexes.
 
startVertex:int — The index of the first vertex to be loaded. A value for startVertex not equal to zero may be used to load a sub-region of the vertex data.
 
numVertices:int — The number of vertices represented by data.


Throws
TypeError — Null Pointer Error: when data is null.
 
RangeError — Bad Input Size: when there isn't enough data in the vector for the number of vertices uploaded.