Guida di riferimento di ActionScript® 3.0 per la piattaforma Adobe® Flash®
Home  |  Nascondi elenco pacchetti e classi |  Pacchetti  |  Classi  |  Novità  |  Indice  |  Appendici  |  Perché in inglese?
Filtri: AIR 30.0 e versioni precedenti, Flash Player 30.0 e versioni precedenti, Flash Lite 4
Flex 4.6 e versioni precedenti, Flash Pro CS6 e versioni precedenti
Nascondi filtri
flash.display3D 

Program3D  - AS3

Pacchettix

Primo livello
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

Elementi del linguaggio

Costanti globali
Funzioni globali
Operatori
Istruzioni, parole chiave e direttive
Tipi speciali

Appendici

Novità
Errori del compilatore
Avvisi del compilatore
Errori runtime
Migrazione a ActionScript 3
Set di caratteri supportati
Tag solo di MXML
Elementi XML di Motion
Tag Timed Text
Elenco degli elementi obsoleti
Costanti di implementazione dell’accessibilità
Utilizzare gli esempi ActionScript
Note legali
Pacchettoflash.display3D
Classepublic final class Program3D
EreditarietàProgram3D Inheritance Object

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 11, AIR 2

La classe Program3D rappresenta una coppia di programmi di rendering (chiamati anche "shader") caricati in un contesto di rendering.

I programmi gestiti da un oggetto Program3D controllano l'intero rendering dei triangoli durante una chiamata di Context3D drawTriangles(). Caricate il codice byte binario nel contesto di rendering utilizzando il metodo upload. (Dopo il caricamento, non esiste più alcun riferimento al programma nell'array di byte originale; la modifica o la rimozione dell'array di byte di origine non altera il programma.)

I programmi consistono sempre di due parti collegate: un programma di vertici e un programma di frammenti.

  1. Il programma di vertici opera sui dati definiti negli oggetti VertexBuffer3D ed è responsabile della proiezione dei vertici nello spazio clip e del passaggio allo shader dei frammenti degli eventuali dati di vertice richiesti, ad esempio relativi al colore.
  2. Lo shader dei frammenti opera sugli attributi che riceve dal programma dei vertici e produce un colore per ogni frammento rasterizzato di un triangolo, creando i colori dei pixel. Tenete presente che i programmi dei frammenti sono indicati con vari nomi nella letteratura di programmazione 3D, tra cui "fragment shader" (shader di frammenti) e "pixel shader" (shader di pixel).

Designate la coppia di programmi da utilizzare per le operazioni di rendering successive passando l'istanza Program3D del metodo Context3D setProgram().

Non è possibile creare un oggetto Program3D direttamente; utilizzate invece il metodo createProgram() di Context3D.

Elementi API correlati



Proprietà pubbliche
 ProprietàDefinito da
 Inheritedconstructor : Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto.
Object
Metodi pubblici
 MetodoDefinito da
  
Libera tutte le GPU associate a questo oggetto.
Program3D
 Inherited
Indica se per un oggetto è definita una proprietà specifica.
Object
 Inherited
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro.
Object
 Inherited
Indica se la proprietà specificata esiste ed è enumerabile.
Object
 Inherited
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche.
Object
 Inherited
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate.
Object
 Inherited
Restituisce la rappresentazione in formato stringa dell'oggetto specificato.
Object
  
upload(vertexProgram:ByteArray, fragmentProgram:ByteArray):void
Carica una coppia di programmi di rendering espressi nel linguaggio di codice byte AGAL (Adobe Graphics Assembly Language).
Program3D
 Inherited
Restituisce il valore di base dell'oggetto specificato.
Object
Descrizione dei metodi

dispose

()metodo
public function dispose():void

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 11, AIR 3

Libera tutte le GPU associate a questo oggetto. Dopo la rimozione di un oggetto Program3D, eventuali chiamate di upload() e il rendering eseguito con questo oggetto hanno esito negativo.

upload

()metodo 
public function upload(vertexProgram:ByteArray, fragmentProgram:ByteArray):void

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 11, AIR 3

Carica una coppia di programmi di rendering espressi nel linguaggio di codice byte AGAL (Adobe Graphics Assembly Language).

Il codice byte del programma può essere creato utilizzando gli strumenti offline Pixel Bender 3D. Può anche essere creato dinamicamente. La classe AGALMiniAssembler è una classe di utilità che compila programmi in linguaggio assembly AGAL in codice byte AGAL. La classe non fa parte del runtime. Quando caricate i programmi shader, il codice byte viene compilato nel linguaggio shader nativo del dispositivo corrente (ad esempio OpenGL o Direct3D). Il runtime convalida il codice byte al momento del caricamento.

I programmi vengono eseguiti ogni volta che si chiama il metodo Context3D drawTriangles(). Il programma dei vertici viene eseguito una volta per ogni vertice presente nell'elenco dei triangoli da disegnare. Il programma dei frammenti viene eseguito una volta per ciascun pixel presente sulla superficie di un triangolo.

Le "variabili" utilizzate da un programma shader sono denominate registri. Sono definiti i registri seguenti:

NomeNumero per programma di frammentiNumero per programma di verticiFunzione
Attributon/d8Input dello shader di vertici; letto da un buffer di vertici specificato con Context3D.setVertexBufferAt().
Costante28128Input dello shader; impostato con la famiglia di funzioni Context3D.setProgramConstants()
Temporanea88Registro temporaneo per il calcolo, non accessibile dall'esterno del programma
Output11Output dello shader: in un programma di vertici, l'output è la posizione dello spazio clip; in un programma di frammenti, l'output è un colore.
Variabile88Trasferimento dei dati interpolati tra gli shader di vertici e di frammenti. I registri variabili del programma dei vertici vengono applicati come input al programma dei frammenti. I valori vengono interpolati in base alla distanza dai vertici del triangolo.
Campionatore8n/dInput dello shader di frammenti; letto da una texture specificata con Context3D.setTextureAt().

Un programma di vertici riceve l'input da due fonti: i buffer dei vertici e i registri costanti. Specificate quali dati di vertici utilizzare per un particolare registro attributi di vertice utilizzando il metodo Context3D setVertexBufferAt(). È possibile definire fino a otto registri di input per gli attributi dei vertici. I valori degli attributi dei vertici vengono letti dal buffer dei vertici per ciascun vertice nell'elenco dei triangoli e inseriti nel registro attributi. Specificate i registri costanti utilizzando il metodo Context3D setProgramConstantsFromMatrix() o setProgramConstantsFromVector(). I registri costanti mantengono lo stesso valore per ogni vertice dell'elenco dei triangoli. (I valori delle costanti possono essere modificati solo tra chiamate drawTriangles().)

Il programma dei vertici esegue la proiezione dei vertici dei triangoli nello spazio clip (l'area di visualizzazione canonica entro ±1 sugli assi x e y e 0-1 sull'asse z) e posiziona le coordinate trasformate nel proprio registro di output. (Tipicamente, la matrice di proiezione appropriata viene fornita allo shader in una serie di registri costanti.) Il programma dei vertici deve anche copiare gli eventuali attributi di vertici o valori calcolati necessari al programma dei frammenti in una serie speciale di variabili denominate registri variabili. Quando uno shader di frammenti viene eseguito, il valore fornito in un registro variabile viene interpolato linearmente in base alla distanza del frammento corrente da ciascun vertice di triangolo.

Un programma di frammenti riceve l'input dai registri variabili e da una serie distinta di registri costanti (impostata con setProgramConstantsFromMatrix() o setProgramConstantsFromVector()). È anche possibile leggere i dati texture dalle texture caricate nel contesto di rendering utilizzando i registri campionatori. Specificate la texture alla quale accedere con un particolare registro campionatore utilizzando il metodo Context3D setTextureAt(). Il programma dei frammenti provvede a impostare il proprio registro di output su un valore di colore.

Parametri

vertexProgram:ByteArray — Codice byte AGAL per il programma di vertici. L'oggetto ByteArray deve utilizzare il formato little endian.
 
fragmentProgram:ByteArray — Codice byte AGAL per il programma di frammenti. L'oggetto ByteArray deve utilizzare il formato little endian.


Genera
TypeError — Puntatore nullo: se vertexProgram o fragmentProgram è null.
 
Error — Oggetto rimosso: se l'oggetto Program3D è stato eliminato direttamente tramite una chiamata a dispose() o indirettamente da una chiamata dispose() di Context3D, oppure perché il contesto di rendering è stato rimosso a causa di una perdita del dispositivo.
 
ArgumentError — Programma Agal troppo piccolo: quando la lunghezza dell'array di codice di uno dei programmi è inferiore a 31 byte. Questa è la dimensione del codice byte shader di un programma a istruzione singola.
 
ArgumentError — Il programma deve essere little endian: se un array di codice byte di uno dei programmi non è little endian.
 
Error — Compilazione shader nativo non riuscita: se l'output del traduttore AGAL non è un programma in linguaggio shader nativo compilabile. Questo errore viene generato solo nei lettori in versione release.
 
Error — Compilazione shader nativo non riuscita (OpenGL): se l'output del traduttore AGAL non è un programma in linguaggio shader OpengGL compilabile e include una diagnostica di compilazione. Questo errore viene generato solo nei lettori in versione debug.
 
Error — Compilazione shader nativo non riuscita (D3D9): se l'output del traduttore AGAL non è un programma in linguaggio shader Direct3D compilabile e include una diagnostica di compilazione. Questo errore viene generato solo nei lettori in versione debug.

Gli errori seguenti vengono generati quando la convalida del codice byte AGAL non riesce:

 
Error — Non è un programma Agal: se l'intestazione "magic byte" è errata. Il primo byte del codice byte deve essere 0xa0. Questo errore può indicare che l'array di byte è impostato sull'ordine endian errato.
 
Error — Versione Agal errata: se la versione AGAL non è supportata dalla versione corrente SWF. La versione AGAL deve essere impostata su 1 per la versione SWF 13.
 
Error — Tipo programma Agal errato: se l'identificatore del tipo di programma AGAL non è valido. Il terzo byte del codice byte deve essere 0xa1. Questo errore può indicare che l'array di byte è impostato sull'ordine endian errato.
 
Error — Tipo di shader Agal errato: se il codice del tipo di shader non è un frammento né un vertice (1 o 0).
 
Error — Codice operativo Agal non valido fuori intervallo: se viene rilevato un codice operativo non valido nel flusso di token.
 
Error — Codice operativo Agal non implementato: se viene rilevato un codice operativo non valido nel flusso di token.
 
Error — Codice operativo Agal consentito solo nel programma di frammenti: se nel flusso di token del programma di vertici viene rilevato un Opcode consentito solo nei programmi di frammenti, ad esempio KIL o TEX.
 
Error — Operandi di origine Agal errati: se entrambi gli operandi di origine sono registri di costanti. Il risultato deve essere calcolato fuori del programma shader e passato utilizzando un solo registro di costanti.
 
Error — Entrambi gli operandi sono letture indirette: se entrambi gli operandi sono il risultato di letture indirette.
 
Error — Il codice operativo di destinazione deve contenere solo zero: se un token con un codice operativo (ad esempio KIL) privo di destinazione imposta un valore diverso da zero per il registro di destinazione.
 
Error — La destinazione del codice operativo deve usare una maschera: se un codice operativo che produce solo un risultato a 3 componenti viene utilizzato senza mascheratura.
 
Error — Troppi token: se in un programma AGAL sono presenti troppi token (oltre 200).
 
Error — Tipo di shader di frammenti: se il tipo di programma di frammenti (byte 6 del parametro fragmentProgram) non è impostato su 1.
 
Error — Tipo di shader di vertici: se il tipo di programma di vertici (byte 6 del parametro vertexProgram) non è impostato su 0.
 
Error — Registro variabile letto ma non scritto: se lo shader di frammenti legge un registro variabile sul quale lo shader di vertici non ha mai scritto.
 
Error — Scrittura parziale registro variabile: se la scrittura su un registro variabile è solo parziale. Tutti i componenti di un registro variabile devono essere scritti.
 
Error — Scrittura parziale componenti frammento: se la scrittura sull'output di colore di un frammento è solo parziale. Tutti i quattro componenti dell'output del colore devono essere scritti.
 
Error — Scrittura parziale componenti vertice: se la scrittura sull'output dello spazio clip di un vertice solo parziale. Tutti i componenti dell'output dello spazio clip dei vertici devono essere scritti.
 
Error — Operando non utilizzato: se un operando inutilizzato in un token non è completamente impostato su zero.
 
Error — Registro campionatore solo nel frammento: se viene utilizzato un registro campionatore di texture in un programma di vertici.
 
Error — Registro campionatore secondo operando: se viene utilizzato un registro campionatore come destinazione o primo operando di un token AGAL.
 
Error — Indirizzamento indiretto consentito solo nei vertici: se viene utilizzato l'indirizzamento indiretto in un programma di frammenti.
 
Error — Indirizzamento indiretto solo nei registri di costanti: se viene utilizzato l'indirizzamento indiretto in un registro non di costanti.
 
Error — Tipo di origine indiretta: se il tipo di origine indiretta non è un registro di attributi, di costanti o temporaneo.
 
Error — I campi di indirizzamento indiretto devono essere zero: se non tutti i campi di indirizzamento indiretto sono impostati su zero per l'indirizzamento diretto.
 
Error — Lettura registri variabili solo nei frammenti: se un registro variabile viene letto in un programma di vertici. I registri variabili possono essere scritti solo nei programmi di vertici e letti nei programmi di frammenti.
 
Error — Lettura registri attributi solo nei vertici: se un registro attributi viene letto in un programma di frammenti. I registri di attributi possono essere letti solo nei programmi di vertici.
 
Error — Impossibile leggere il registro di output: se viene letto un registro di output (posizione o colore). I registri di output possono essere scritti ma non letti.
 
Error — Registro temporaneo letto ma non scritto: se viene letto un registro temporaneo senza essere stato scritto in precedenza.
 
Error — Componente registro temporaneo letto ma non scritto: se un componente specifico di un registro temporaneo viene letto senza essere stato scritto in precedenza.
 
Error — Impossibile scrivere su registro campionatore: se viene scritto un registro campionatore. I registri campionatori possono essere letti ma non scritti.
 
Error — Scrittura registro variabile: se viene scritto un registro di variabili in un programma di frammenti. I registri variabili possono essere scritti solo nei programmi di vertici e letti nei programmi di frammenti.
 
Error — Impossibile scrivere su registro attributi: se viene scritto un registro attributi. I registri attributi sono di sola lettura.
 
Error — Impossibile scrivere su registro costanti: se viene scritto un registro costanti in un programma shader.
 
Error — Writemask di destinazione uguale a zero: se una writemask di destinazione è pari a zero. Tutti i componenti di un registro di output devono essere impostati.
 
Error — I bit di riserva AGAL devono essere uguali a zero: se gli eventuali bit riservati in un token non sono pari a zero. Indica un errore nella creazione del codice byte (o un codice byte con struttura errata).
 
Error — Tipo di registro sconosciuto: se viene utilizzato un tipo di registro non valido.
 
Error — Registro campionatore fuori dei limiti: se viene utilizzato un indice di registro campionatore non valido.
 
Error — Registro variabile fuori dei limiti: se viene utilizzato un indice di registro variabile non valido.
 
Error — Registro attributi fuori dei limiti: se viene utilizzato un indice di registro attributi non valido.
 
Error — Registro costanti fuori dei limiti: se viene utilizzato un indice di registro costanti non valido.
 
Error — Registro di output fuori dei limiti: se viene utilizzato un indice di registro output non valido.
 
Error — Registro temporaneo fuori dei limiti: se viene utilizzato un indice di registro temporaneo non valido.
 
Error — Il campionatore di mappa cubica deve usare la modalità fissa: se il campionatore di una mappa cubica non imposta la modalità di ritorno a capo su fissa.
 
Error — Dimensione campionatore sconosciuta: se un campione utilizza una dimensione campionatore sconosciuta. (Sono supportate solo le texture 2D e cubiche.)
 
Error — Modalità filtro sconosciuta: se un campionatore utilizza una modalità di filtro sconosciuta. (Sono supportate solo le modalità filtro nearest neighbor e lineare.)
 
Error — Modalità mipmap sconosciuta: se un campionatore utilizza una modalità mipmap sconosciuta. (Sono supportate solo le modalità mipmap nessuna, nearest neighbor e lineare.)
 
Error — Modalità wrapping sconosciuta: se un campionatore utilizza una modalità di wrapping sconosciuta. (Sono supportate solo le modalità di wrapping clamp e repeat.)
 
Error — Flag speciale sconosciuto: se un campionatore utilizza un flag speciale sconosciuto.
 
Error — Colore di output non mascherabile: non è possibile mascherare il registro del colore di output in un programma di frammenti. Tutti i componenti del registro di colore devono essere impostati.
 
Error — Il secondo operando deve essere un registro campionatore: il codice operativo tex AGAL deve avere un campionatore come secondo operando di origine.
 
Error — Indirizzamento indiretto non consentito: l'indirizzamento indiretto è stato utilizzato dove non è consentito.
 
Error — Lo swizzle deve essere scalare: errore di swizzling.
 
Error — Swizzling non consentito sulla seconda origine: errore di swizzling.
 
Error — Il secondo utilizzo del campionatore deve avere alcuni parametri: tutti i campionatori che accedono alla stessa texture devono utilizzare le stesse impostazioni di dimensione, wrapping, filtro, speciali e mipmap.
 
Error — 3768: L’API Stage3D non può essere utilizzata durante l’esecuzione in background.

Altre informazioni

Elementi API correlati





[ X ]Perché in inglese?
Il contenuto della Guida di riferimento di ActionScript 3.0 appare in inglese

Non tutte le parti della Guida di riferimento di ActionScript 3.0 sono tradotte in tutte le lingue. Quando un elemento del linguaggio non è tradotto, viene riportato in inglese. Ad esempio, la classe ga.controls.HelpBox non è tradotta in nessuna lingua. Pertanto, nella versione italiana della guida di riferimento, la descrizione della classe ga.controls.HelpBox è riportata in inglese.