Naslaggids voor Adobe ActionScript® 3.0 voor het Adobe® Flash®-platform
Startpagina  |  Lijst met pakketten en klassen verbergen |  Pakketten  |  Klassen  |  Nieuw  |  Index  |  Bijlagen  |  Waarom in het Engels?
Filters: AIR 30.0 en eerder, Flash Player 30.0 en eerder, Flash Lite 4
Flex 4.6 en eerder, Flash Pro CS6 en eerder
Filters verbergen
flash.display3D 

Program3D  - AS3

Pakkettenx

Hoofdniveau
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

Taalelementen

Algemene constanten
Algemene functies
Operatoren
Programmeerinstructies, gereserveerde woorden en compileraanwijzingen
Speciale typen

Bijlagen

Nieuw
Compilerfouten
Compilerwaarschuwingen
Uitvoeringsfouten
Migreren naar ActionScript 3
Ondersteunde tekensets
Alleen MXML-labels
Elementen van bewegings-XML
Timed Text-tags
Lijst van vervangen elementen
Constanten voor toegankelijkheidsimplementatie
ActionScript-voorbeelden gebruiken
Juridische kennisgeving
Pakketflash.display3D
Klassepublic final class Program3D
OverervingProgram3D Inheritance Object

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 11, AIR 2

De klasse Program3D vertegenwoordigt twee renderingprogramma's (ook wel ''shaders'' genoemd) die worden geüpload naar de renderingcontext.

Programma's die worden beheerd door een Program3D-object besturen de volledige rendering van driehoeken tijdens een Context3D-aanroep drawTriangles(). Upload de binaire bytecode met gebruik van de methode upload naar de renderingcontext. (Na het uploaden wordt niet langer verwezen naar het programma in de oorspronkelijke array; wanneer de bronbytearray wordt gewijzigd of verwijderd, verandert het programma niet.)

Programma's bestaan altijd uit twee gekoppelde delen: een hoekpunt- en een fragmentprogramma.

  1. Het hoekpuntprogramma verwerkt de gegevens die zijn gedefinieerd in VertexBuffer3D-objecten, verzorgt de projectie van hoekpunten in de clipruimte en geeft alle vereiste hoekpuntgegevens, zoals kleur, door aan de fragmentshader.
  2. De fragmentshader verwerkt de kenmerken die worden doorgegeven door het hoekpuntprogramma en produceert een kleur voor elk gerasterd fragment van een driehoek, hetgeen resulteert in pixelkleuren. In literatuur over programmeren in 3D worden fragmentprogramma's ook wel fragmentshaders of pixelshaders genoemd.

Bepaal welke twee programma's moeten worden gebruikt voor volgende renderingbewerkingen door de corresponderende Program3D-instantie door te geven aan de Context3D-methode setProgram().

U kunt niet rechtstreeks een Program3D-object maken; daarvoor dient u de Context3D-methode createProgram() te gebruiken.

Verwante API-elementen



Openbare eigenschappen
 EigenschapGedefinieerd door
 Inheritedconstructor : Object
Verwijzing naar het klasseobject of de constructorfunctie van een bepaalde objectinstantie.
Object
Openbare methoden
 MethodeGedefinieerd door
  
Ontlast alle aan dit object gekoppelde bronnen.
Program3D
 Inherited
Geeft aan of voor een object een opgegeven eigenschap is gedefinieerd.
Object
 Inherited
Geeft aan of een instantie van de klasse Object zich in de prototypeketen van het object bevindt dat als parameter is opgegeven.
Object
 Inherited
Geeft aan of de opgegeven eigenschap bestaat en kan worden opgesomd.
Object
 Inherited
Stelt de beschikbaarheid van een dynamische eigenschap voor lusbewerkingen in.
Object
 Inherited
Geeft de tekenreeksweergave van dit object weer, geformatteerd volgens de locatiespecifieke conventies.
Object
 Inherited
Retourneert een tekenreeksrepresentatie van het opgegeven object.
Object
  
upload(vertexProgram:ByteArray, fragmentProgram:ByteArray):void
Uploadt twee renderingprogramma's die zijn uitgedrukt in AGAL-bytecode (Adobe Graphics Assembly Language).
Program3D
 Inherited
Retourneert de primitieve waarde van het opgegeven object.
Object
Methodedetails

dispose

()methode
public function dispose():void

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 11, AIR 3

Ontlast alle aan dit object gekoppelde bronnen. Na het verwijderen van een Program3D-object, mislukt het aanroepen van upload() en rendering met gebruik van dit object.

upload

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

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 11, AIR 3

Uploadt twee renderingprogramma's die zijn uitgedrukt in AGAL-bytecode (Adobe Graphics Assembly Language).

Programmabytecode kan worden gemaakt met behulp van de Pixel Bender 3D-offlinehulpmiddelen. Deze kan ook dynamisch worden gemaakt. De AGALMiniAssembler-klasse is een hulpprogrammaklasse die programma's in de AGAL-assembleertaal compileert in AGAL-bytecode. De klasse maakt niet deel uit van de runtime. Wanneer u de shaderprogramma's uploadt, wordt de bytecode gecompileerd in de native shadertaal voor het actieve apparaat (bijvoorbeeld OpenGL of Direct3D). De runtime valideert de bytecode tijdens het uploaden.

De programma's worden uitgevoerd wanneer de Context3D-methode drawTriangles() wordt aangeroepen. Het hoekpuntprogramma wordt één keer uitgevoerd voor elk hoekpunt in de lijst met driehoeken die moeten worden getekend. Het fragmentprogramma wordt één keer uitgevoerd voor elke pixel op een driehoekvlak.

De "variabelen" die door een shaderprogramma worden gebruikt, worden registers genoemd. De volgende registers zijn gedefinieerd:

NaamAantal per fragmentprogrammaAantal per hoekpuntprogrammaDoel
Kenmerkn.v.t.8Hoekpuntshaderinvoer; lezen uit een hoekpuntbuffer die is opgegeven met Context3D.setVertexBufferAt().
Constante28128Shaderinvoer; ingesteld met gebruik van de Context3D.setProgramConstants()-functies.
Tijdelijke opslag88Tijdelijk register voor berekeningen, niet toegankelijk buiten programma.
Uitvoer11Shaderuitvoer: in een hoekpuntprogramma is de uitvoer de positie van de clipruimte. In een fragmentprogramma heeft de uitvoer de vorm van een kleur.
Variabele88Geïnterpoleerde gegevens overbrengen tussen hoekpunt- en fragmentshaders. De variabele-registers van het hoekpuntprogramma worden als invoer toegepast op het fragmentprogramma. De waarden worden geïnterpoleerd op basis van de afstand tot de hoekpunten van de driehoek.
Sampler8n.v.t.Fragmentshaderinvoer; gelezen vanuit een structuur die is opgegeven met gebruik van Context3D.setTextureAt().

Een hoekpuntprogramma ontvangt invoer uit twee bronnen: hoekpuntbuffers en constante-registers. Geef met gebruik van de Context3D-methode setVertexBufferAt() op welke hoekpuntgegevens u wilt gebruiken voor een bepaald kenmerkregister voor hoekpunten. U kunt maximaal acht invoerregisters definiëren voor hoekpuntkenmerken. De waarden voor de hoekpuntkenmerken worden gelezen vanuit de hoekpuntbuffer voor elk hoekpunt in de driehoeklijst en in het kenmerkenregister geplaatst. Geef constante-registers op met gebruik van de Context3D-methode setProgramConstantsFromMatrix() of setProgramConstantsFromVector(). Constante-registers behouden dezelfde waarde voor elk hoekpunt in de driehoeklijst. (U kunt de constante-waarden alleen wijzigen tussen aanroepen van drawTriangles().)

Het hoekpuntprogramma verzorgt de projectie van de hoekpunten van de driehoek in de clipruimte (het canonieke weergavegebied binnen ±1 op de x- en y-as en 0-1 op de z-as) en de positionering van de getransformeerde coördinaten in het uitvoerregister. (Doorgaans ontvangt de shader de desbetreffende projectiematrix in een set constante-registers.) Het hoekpuntprogramma dient bovendien alle hoekpuntkenmerken of berekende waarden die het fragmentprogramma nodig heeft te kopiëren naar een speciale set variabelen die het variabele-register wordt genoemd. Wanneer een fragmentshader wordt uitgevoerd, wordt de waarde in een variabele-register lineair geïnterpoleerd op basis van de afstand van het huidige fragment tot elk hoekpunt van de driehoek.

Een fragmentprogramma ontvangt invoer van de variabele-registers en van een afzonderlijke set constante-registers (die zijn ingesteld met setProgramConstantsFromMatrix() of setProgramConstantsFromVector()). U kunt ook structuurgegevens lezen van structuren die met gebruik van sampler-registers zijn geüpload naar de renderingcontext. Bepaal aan de hand van de Context3D-methode setTextureAt() welke structuur u wilt openen met een bepaald samplerregister. Het fragmentprogramma verzorgt het instellen van het uitvoerregister op een kleurwaarde.

Parameters

vertexProgram:ByteArray — AGAL-bytecode voor het hoekpuntprogramma. Het ByteArray-object dient gebruik te maken van de little endian-indeling.
 
fragmentProgram:ByteArray — AGAL-bytecode voor het fragmentprogramma. Het ByteArray-object dient gebruik te maken van de little endian-indeling.


Gegenereerde uitzondering
TypeError — Null-aanwijzerfout: wanneer vertexProgram of fragmentProgram de waarde null heeft.
 
Error — Object verwijderd: als het Program3D-object rechtstreeks is verwijderd door het aanroepen vandispose() of indirect door het aanroepen van de Context3D-methodedispose() of omdat de renderingcontext is verwijderd wegens apparaatverlies.
 
ArgumentError — Agal-programma te klein: wanneer de programmacode-array minder dan 31 bytes lang is. Dit is de grootte van de shaderbytecode van een programma met één instructie.
 
ArgumentError — Programma moet little endian zijn: als een van de twee bytecodearrays van de programma's geen little endian is.
 
Error — Native shadercompilatie mislukt: als de uitvoer van de AGAL-conversie geen compileerbaar native shadertaalprogramma is. Deze fout wordt alleen gegenereerd in releaseplayers.
 
Error — Native shadercompilatie OpenGL mislukt: wanneer de uitvoer van de AGAL-conversie geen compileerbaar OpenGL-shadertaalprogramma is en compilatiediagnoses bevat. Deze fout wordt alleen gegenereerd in foutopsporingsplayers.
 
Error — Native shadercompilatie D3D9 mislukt: wanneer de uitvoer van de AGAL-conversie geen compileerbaar Direct3D-shadertaalprogramma is en compilatiediagnoses bevat. Deze fout wordt alleen gegenereerd in foutopsporingsplayers.

De volgende fouten worden gegenereerd als de validatie van de AGAL-bytecode mislukt:

 
Error — Geen AGAL-programma: als de ''magic byte'' in de header onjuist is. De eerste byte van de bytecode moet 0xa0 zijn. Deze fout kan aangeven dat de bytearray niet in de goede endian-volgorde is ingesteld.
 
Error — Onjuiste AGAL-versie: wanneer de AGAL-versie niet wordt ondersteund door de huidige SWF-versie. De AGAL-versie dient voor SWF-versie 13 te worden ingesteld op 1.
 
Error — Onjuist AGAL-programmatype: als de id van het AGAL-programmatype niet geldig is. De derde byte in de bytecode moet 0xa1 zijn. Deze fout kan aangeven dat de bytearray niet in de goede endian-volgorde is ingesteld.
 
Error — Onjuist AGAL-shadertype: wanneer de code van het shadertype niet fragment of hoekpunt is (1 of 0).
 
Error — Ongeldige AGAL-op-code buiten bereik: wanneer een ongeldige op-code wordt aangetroffen in de tokenstream.
 
Error — Ongeldige AGAL-op-code niet geïmplementeerd: wanneer een ongeldige op-code wordt aangetroffen in de tokenstream.
 
Error — AGAL-op-code alleen toegestaan in fragmentprogramma: als in de tokenstream van het hoekpuntprogramma een op-code wordt gevonden die alleen in fragmentprogramma's is toegestaan, zoals KIL of TEX.
 
Error — Onjuiste AGAL-bronoperanden: als beide bronoperanden constante-registers zijn. U dient het resultaat buiten het shaderprogramma om te berekenen en het door te geven met gebruik van één constante-register.
 
Error — Beide operanden zijn indirect gelezen: als beide operanden indirect zijn gelezen.
 
Error — Op-code-doel moet helemaal nul zijn: als een token met een op-code (zoals KIL) maar zonder doel een andere waarde dan nul instelt voor het doelregister.
 
Error — Op-code-doel vereist masker: als een op-code die alleen een resultaat met drie componenten produceert, zonder maskering wordt gebruikt.
 
Error — Te veel tokens: als er te veel tokens (meer dan 200) in een AGAL-programma zijn.
 
Error — Type fragmentshader: als het fragmentprogrammatype (byte 6 van de parameter fragmentProgram) niet op 1 is ingesteld.
 
Error — Type hoekpuntshader: als het hoekpuntprogrammatype (byte 6 van de parameter vertexProgram) niet op 0 is ingesteld.
 
Error — Variabele gelezen, maar er is niet naar geschreven: als de fragmentshader een variabele-register leest waarnaar de hoekpuntshader nooit heeft geschreven.
 
Error — Variabele gedeeltelijk geschreven: als slechts gedeeltelijk naar een variabele-register is geschreven. Er moet naar alle componenten van een variabele-register worden geschreven.
 
Error — Alle componenten schrijven naar fragment: als slechts gedeeltelijk naar een fragmentkleuruitvoer wordt geschreven. Er moet naar alle vier componenten van de kleuruitvoer worden geschreven.
 
Error — Alle componenten schrijven naar hoekpunt: als slechts gedeeltelijk naar de clipruimte-uitvoer van een hoekpunt wordt geschreven. Er moet naar alle componenten van de clipruimte-uitvoer van een hoekpunt worden geschreven.
 
Error — Ongebruikte operand: wanneer een ongebruikte operand in een token niet volledig op nul is ingesteld.
 
Error — Samplerregister alleen in fragment: wanneer een structuursamplerregister wordt gebruikt in een hoekpuntprogramma.
 
Error — Samplerregister tweede operand: wanneer een samplerregister wordt gebruikt als een doel of eerste operand van een AGAL-token.
 
Error — Indirect alleen toegestaan in hoekpunt: wanneer indirecte adressering wordt gebruikt in een fragmentprogramma.
 
Error — Alleen indirect naar constante-registers: wanneer indirecte adressering wordt gebruikt in een niet-constante-register.
 
Error — Indirect brontype: wanneer het indirecte brontype geen kenmerk-, constante- of tijdelijk register is.
 
Error — Indirecte adresseringsvelden moeten nul zijn: wanneer niet alle indirecte adresseringsvelden nul zijn voor directe adressering.
 
Error — Variabele-registers alleen gelezen in fragment: wanneer een variabele-register wordt gelezen in een hoekpuntprogramma. Variabele-registers kunnen alleen worden geschreven in hoekpuntprogramma's en gelezen in fragmentprogramma's.
 
Error — Kenmerkenregisters alleen gelezen in hoekpunt: wanneer een kenmerkenregister wordt gelezen in een fragmentprogramma. Kenmerkenregisters kunnen alleen worden gelezen in hoekpuntprogramma's.
 
Error — Kan uitvoerregister niet lezen: wanneer een uitvoerregister (positie of kleur) wordt gelezen. Er kan alleen naar uitvoerregisters worden geschreven, deze kunnen niet worden gelezen.
 
Error — Tijdelijk register gelezen zonder schrijven: wanneer een tijdelijk register wordt gelezen zonder dat er eerder naar is geschreven.
 
Error — Tijdelijke registercomponent gelezen zonder schrijven: wanneer een tijdelijke registercomponent wordt gelezen zonder dat er eerder naar is geschreven.
 
Error — Kan niet schrijven naar samplerregister: wanneer naar een samplerregister wordt geschreven. Samplerregisters kunnen alleen worden gelezen, er kan niet naar worden geschreven.
 
Error — Schrijven naar variabele-registers: wanneer in een fragmentprogramma naar een variabele-register wordt geschreven. Variabele-registers kunnen alleen worden geschreven in hoekpuntprogramma's en gelezen in fragmentprogramma's.
 
Error — Kan niet schrijven naar kenmerkenregister: wanneer naar een kenmerkenregister wordt geschreven. Kenmerkenregisters zijn alleen-lezen.
 
Error — Kan niet schrijven naar constante-register: wanneer in een shaderprogramma naar een constante-register wordt geschreven.
 
Error — Schrijfmasker van bestemming is nul: wanneer het schrijfmasker van een bestemming nul is. Alle componenten van een uitvoerregister moeten worden ingesteld.
 
Error — Door AGAL gereserveerde bits moeten nul zijn: wanneer gereserveerde bits in een token niet nul zijn. Dit verwijst naar een fout bij het maken van de bytecode (of naar onjuist gevormde bytecode).
 
Error — Onbekend registertype: wanneer een ongeldige index voor het registertype wordt gebruikt.
 
Error — Samplerregister buiten bereik: wanneer een ongeldige index voor het samplerregister wordt gebruikt.
 
Error — Variabele-register buiten bereik: wanneer een ongeldige index voor het variabele-register wordt gebruikt.
 
Error — Kenmerkenregister buiten bereik: wanneer een ongeldige index voor het kenmerkenregister wordt gebruikt.
 
Error — Constante-register buiten bereik: wanneer een ongeldige index voor het constante-register wordt gebruikt.
 
Error — Uitvoerregister buiten bereik: wanneer een ongeldige index voor het uitvoerregister wordt gebruikt.
 
Error — Tijdelijk register buiten bereik: wanneer een ongeldige index voor het tijdelijke register wordt gebruikt.
 
Error — Kubustoewijzingssampler moet vastzetten gebruiken: wanneer een kubustoewijzingssampler de wrap-modus niet op vastzetten instelt.
 
Error — Onbekende samplerdimensie: wanneer een sample een onbekende samplerdimensie gebruikt. (Alleen ondersteuning voor 2D- en kubusstructuren.)
 
Error — Onbekende filtermodus: wanneer een sampler een onbekende filtermodus gebruikt. (Alleen de filtermodi Naaste buur en Lineair worden ondersteund.)
 
Error — Onbekende mipmap-modus: wanneer een sampler een onbekende mipmap-modus gebruikt. (Alleen de mipmap-modi Geen, Naaste buur en Lineair worden ondersteund.)
 
Error — Onbekende wrap-modus: wanneer een sampler gebruikmaakt van een onbekende wrap-modus. (Alleen de wrap-modi Vastzetten en Herhalen worden ondersteund.)
 
Error — Onbekende speciale markering: wanneer een sampler een onbekende speciale markering gebruikt.
 
Error — Uitvoerkleur niet maskeerbaar: u kunt het kleurenuitvoerregister in een fragmentprogramma niet maskeren. Alle componenten van het kleurenregister moeten worden ingesteld.
 
Error — Tweede operand moet een samplerregister zijn: de AGAL-tex-opcode moet een sampler als de tweede bronoperand hebben.
 
Error — Indirect niet toegestaan: er is indirecte adressering gebruikt waar dat niet is toegestaan.
 
Error — Swizzle moet scalair zijn: swizzle-fout.
 
Error — Swizzle op tweede bron niet mogelijk: swizzle-fout.
 
Error — Tweede gebruik van sampler moet dezelfde parameters hebben: alle samplers met toegang tot dezelfde structuur dienen dezelfde instellingen voor afmetingen, wrap, filter en mipmaps te hebben plus dezelfde speciale instellingen.
 
Error — 3768: De Stage3D-API kan niet worden gebruikt tijdens uitvoering op de achtergrond.

Meer informatie

Verwante API-elementen





[ X ]Waarom in het Engels?
Sommige inhoud van de Naslaggids voor ActionScript 3.0 staat in het Engels

Niet alle onderdelen van de Naslaggids voor ActionScript 3.0 zijn in alle talen vertaald. Wanneer een taalelement niet is vertaald, wordt het in het Engels weergegeven. Zo is de klasse ga.controls.HelpBox niet in elke taal vertaald. In de Nederlandse versie van de naslaggids wordt de klasse ga.controls.HelpBox bijvoorbeeld in het Engels weergegeven.