Referenshandbok för ActionScript® 3.0 i Adobe® Flash®-plattformen
Hem  |  Dölj paket och klasslista |  Paket  |  Klasser  |  Nyheter  |  Index  |  Bilagor  |  Varför på engelska?
Filter: AIR 30.0 och tidigare, Flash Player 30.0 och tidigare, Flash Lite 4
Flex 4.6 och tidigare, Flash Pro CS6 och tidigare
Dölj filter
flash.display3D 

Program3D  - AS3

Paketx

Översta nivån
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

Språkelement

Globala konstanter
Globala funktioner
Operatorer
Programsatser, nyckelord och direktiv
Specialtyper

Bilagor

Nyheter
Kompilatorfel
Kompileringsvarningar
Körningsfel
Flytta till ActionScript 3
Teckenuppsättningar som stöds
Endast MXML-taggar
Motion XML-element
Timed Text-taggar
Lista över borttagna element
Konstanter för hjälpmedelsimplementering
Använda ActionScript-exempel
Juridiska meddelanden
Paketflash.display3D
Klasspublic final class Program3D
ArvProgram3D Inheritance Object

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 11, AIR 2

Klassen Program3D representerar två återgivningsprogram (även kallade "skuggningsprogram") överförda till återgivningssammanhanget.

Program som hanteras av ett Program3D-objekt kontrollerar hela triangelåtergivningen under ett Context3D drawTriangles-anrop. Skicka den binära bytekoden till återgivningssammanhanget med metoden upload. (När den skickats refereras inte längre programmet i den ursprungliga byte-arrayen. Programmet ändras inte om du ändrar eller tar bort käll-byte-arrayen.)

Program består alltid av två länkade delar: Ett vertex- och ett fragment-program.

  1. Vertex-programmet används för data definierade i VertexBuffer3D-objekt och ser till att vertexar projiceras till klipputrymmen och att eventuella obligatoriska vertex-data skickas, till exempel som färg till fragment-skuggningen.
  2. Fragment-skuggningen används för attribut som skickas till den av vertex-program och skapar en färg för varje rastrerat fragment av en triangel, vilket resulterar i pixelfärger. Observera att fragment-program har flera namn i 3D-programmeringslitteraturen, inklusive fragment-skuggning och pixel-skuggning.

Bestäm vilket programpar som ska användas för efterföljande återgivningsåtgärder genom att skicka motsvarande Program3D-instans till Context3D-objektets setProgram()-metod.

Det går inte skapa ett Program3D-objekt direkt, utan du ska i stället använda Context3D-objektets createProgram-metod.

Relaterade API-element



Publika egenskaper
 EgenskapDefinieras med
 Inheritedconstructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans.
Object
Publika metoder
 MetodDefinieras med
  
Frigör alla resurser associerade med detta objekt.
Program3D
 Inherited
Anger om det finns en egenskap angiven för ett objekt.
Object
 Inherited
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter.
Object
 Inherited
Anger om den angivna egenskapen finns och är uppräkningsbar.
Object
 Inherited
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder.
Object
 Inherited
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner.
Object
 Inherited
Returnerar det angivna objektets strängbeteckning.
Object
  
upload(vertexProgram:ByteArray, fragmentProgram:ByteArray):void
Överför två återgivningsprogram angivna i AGAL-bytekod (Adobe Graphics Assembly Language).
Program3D
 Inherited
Returnerar det angivna objektets primitiva värde.
Object
Metoddetaljer

dispose

()metod
public function dispose():void

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 11, AIR 3

Frigör alla resurser associerade med detta objekt. Sedan ett Program3D-objekt rensats, kommer upload()-anrop och återgivningen som används för detta objekt att misslyckas.

upload

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 11, AIR 3

Överför två återgivningsprogram angivna i AGAL-bytekod (Adobe Graphics Assembly Language).

Programbyte kan skapas med 3D-offlineverktygen för Pixel Bender 3D. Den kan även skapas dynamiskt. Klassen AGALMiniAssembler är en verktygsklass som kompilerar AGAL-assemblyspråkprogram till AGAL-bytekod. Klassen ingår inte i miljön. När du skickar skuggningsprogrammet, kompileras bytekoden till det interna skuggningsspråket för den aktuella enheten (till exempel OpenGL eller Direct3D). I miljön valideras bytekoden vid överföring.

Programmen körs när Context3D-objektets drawTriangles()-metod anropas. Vertex-programmet körs en gång för varje vertex i listan med trianglar som ska ritas. Fragment-programmet körs en gång för varje pixel i en triangelyta.

De "variabler" som används i ett skuggningsprogram kallas register. Följande register är definierade:

NamnAntal per fragment-programAntal per vertex-programSyfte
Attributej tillämpligt8Vertex-skuggningsindata; läs från en vertex-buffert angiven med Context3D.setVertexBufferAt().
Konstant28128Skuggningsindata; ange med Context3D.setProgramConstants()-familjens funktioner.
Tillfällig88Tillfälligt register för beräkning, inte åtkomligt utanför program.
Utdata11Skuggningsutdata: i ett vertex-program är utdata klipputrymmets position; i ett fragment-program är utdata en färg.
Varierande88Överför interpolerade data mellan vertex- och fragment-skuggningar. De varierande registren från vertex-programmet används som indata till ett fragment-program. Värdena är interpolerade enligt avståndet från triangelhörnpunkterna.
Sampler8ej tillämpligtFragment-skuggningsindata; läs från en textur angiven med Context3D.setTextureAt()

Ett vertex-program tar emot indata från två källor: vertex-buffertar och konstantregister. Ange vilka vertex-data som ska användas för ett speciellt vertex-attributregister med Context3D-objektets setVertexBufferAt()-metod. Du kan definiera upp till åtta indataregister för vertex-attribut. Vertex-attributvärden läses från vertex-bufferten för varje vertex i triangellistan och placeras i attributregistret. Ange konstantregister med Context3D-objektets setProgramConstantsFromMatrix()- eller setProgramConstantsFromVector()-metoder. Konstantregister behåller samma värde för varje vertex i triangellistan. (Du kan endast ändra konstantvärden mellan anrop till drawTriangles().)

Vertex-programmet ansvarar för projicering av triangelhörnpunkter till klipputrymmet (det kanoniska visningsområdet mellan ±1 på x- och y-axeln, och 0-1 på z-axeln) och för placering av de omformade koordinaterna i dess utdataregister. (Vanligtvis tillhandahålls lämplig projektionsmatris för skuggningen i en konstantregisteruppsättning.) Vertex-programmet måste även kopiera eventuella vertex-attribut eller beräknade värden som behövs för fragment-programmet till en speciell variabeluppsättning som kallas varierande register. När en fragment-skuggning körs, är det värde som finns i ett varierande register linjärt interpolerat i enlighet med avståndet för det aktuella fragmentet för varje triangelhörnpunkt.

Ett fragment-program tar emot indata från de varierande registren och från en separat uppsättning konstantregister (inställda med setProgramConstantsFromMatrix() eller setProgramConstantsFromVector()). Du kan även läsa texturdata från texturer skickade till återgivningssammanhanget med sampler-register. Ange vilken textur som du vill komma åt med ett speciellt sampler-register med hjälp av Context3D-objektets setTextureAt()-metod. Fragment-programmet ansvarar för att ställa in dess utdataregister till ett färgvärde.

Parametrar

vertexProgram:ByteArray — AGAL-bytekod för vertex-programmet. För objektet ByteArray måste formatet little endian användas.
 
fragmentProgram:ByteArray — AGAL-bytekod för fragment-programmet. För objektet ByteArray måste formatet little endian användas.


Utlöser
TypeError — Null-pekarfel: Om vertexProgram eller fragmentProgram är null.
 
Error — Borttaget objekt: Om Program3D-objektet tas bort, antingen direkt via ett anrop till dispose() eller indirekt via anrop till Context3D dispose(), eller när återgivningssammanhanget tas bort på grund av enhetsförlust.
 
ArgumentError — Agal-programmet är för litet: När någon programkodsarray är mindre än 31 byte lång. Detta är storleken på skuggningsbytekoden i ett program med en instruktion.
 
ArgumentError — Programmet måste vara Little Endian: Om någon programbytekodsarray inte är Little Endian.
 
Error — Intern skuggningskompilering misslyckades: Om utdata från AGAL-översättaren inte är ett kompileringsbart internt skuggningsspråkprogram. Det här felet genereras bara i utgivningsspelare.
 
Error — Intern skuggningskompilering misslyckades OpenGL: Om utdata från AGAL-översättaren inte är ett kompileringsbart OpengGL-skuggningsspråkprogram och inkluderar kompileringsdiagnostik. Det här felet genereras bara i felsökningsspelare.
 
Error — Intern skuggningskompilering misslyckades D3D9: Om utdata från AGAL-översättaren inte är ett kompileringsbart Direct3D-skuggningsspråkprogram och inkluderar kompileringsdiagnostik. Det här felet genereras bara i felsökningsspelare.

Följande fel genereras när AGAL-bytekodsvalideringen misslyckas:

 
Error — Inte ett AGAL-program: Om huvudets "magiska byte" är fel. Den första byten i bytekoden måste vara 0xa0. Detta fel kan indikera att byte-arrayen är inställd för fel endian-ordning.
 
Error — Fel AGAL-version: Om AGAL-versionen inte stöds i den aktuella SWF-versionen. AGAL-versionen måste vara inställd på 1 för SWF-versionen 13.
 
Error — Fel AGAL-programtyp: Om AGAL-programtyps-ID är ogiltigt. Den tredje byten i bytekoden måste vara 0xa1. Detta fel kan indikera att byte-arrayen är inställd för fel endian-ordning.
 
Error — Fel AGAL-skuggningstyp: Om skuggningstypskoden varken är fragment eller vertex (1 eller 0).
 
Error — Ogiltig AGAL-op-kod ligger utanför intervallet: Om en ogiltig opkod upptäcks i token-flödet.
 
Error — Ogiltig AGAL-op-kod är inte implementerad: Om en ogiltig opkod upptäcks i token-flödet.
 
Error — AGAL-opkod är endast tillåten i fragment-program: Om en opkod som endast är tillåten i fragment-program upptäcks i token-flödet för ett vertex-program, till exempel KIL eller TEX.
 
Error — Fel operander för AGAL-källa: Om båda källoperander är konstantregister. Du måste beräkna resultatet utanför skuggningsprogrammet och skicka det med hjälp av ett konstantregister.
 
Error — Båda operanderna är indirekta avläsningar: Om båda operanderna är indirekta avläsningar.
 
Error — Opkodsmålet måste vara noll: Om en token med en opkod (t.ex. KIL) som inte har något mål, anger ett värde som inte är noll för målregistret.
 
Error — Mask måste användas för opkodsmålet: Om en opkod som endast skapar ett trekomponentsresultat används utan maskering.
 
Error — Allt för många token: Om det finns för många token (mer än 200) i ett AGAL-program.
 
Error — Fragment-skuggningstyp: Om fragment-programtypen (byte 6 i fragmentProgram-parametern) inte är inställd på 1.
 
Error — Vertex-skuggningstyp: Om vertex-programtypen (byte 6 i vertexProgram-parametern) inte är inställd på 0.
 
Error — Varierande läsning, men inte skrivet till: Om fragment-skuggningen läser ett varierande register som aldrig har skrivits till med vertex-skuggningen.
 
Error — Varierande partiell skrivning: Om ett varierande register endast skrivs delvis till. Alla komponenter i ett varierande register måste skrivas till.
 
Error — Fragment-skrivning, alla komponenter: Om fragment-färgresultat endast delvis skrivs till. Alla fyra komponenter i färgresultat måste skrivas till.
 
Error — Vertex-skrivning, alla komponenter: Om ett vertex-klipputrymmesresultat endast delvis skrivs till. Alla komponenter i ett vertex-klipputrymmesresultat måste skrivas till.
 
Error — Oanvänd operand: Om en oanvänd operand i en token inte är noll.
 
Error — Sampler-register tillåts bara i fragment: Om ett sampler-register för textur används i ett vertex-program.
 
Error — Sampler-register andra operand: Om ett sampler-register används som mål eller första operand för en AGAL-token.
 
Error — Indirekt tillåts bara i vertex: Om indirekt adressering används i ett fragment-program.
 
Error — Indirekt tillåts bara till konstant register: Om indirekt adressering används i ett icke-konstant register.
 
Error — Typ av indirekt källa: Om den indirekta källans typ inte är ett attributregister, ett konstantregister eller ett tillfälligt register.
 
Error — Fält för indirekt adressering måste vara noll: Om inte alla fält för indirekt adressering är noll för direkt adressering.
 
Error — Varierande register läses bara i fragment: Om ett varierande register läses i ett vertex-program. Varierande register kan bara skrivas i vertex-program och läsas i fragment-program.
 
Error — Attributregister läses bara i vertex: Om ett attributregister läses i ett fragment-program. Attributregister kan bara läsas i vertex-program.
 
Error — Det går inte att läsa utdataregister: Om ett utdataregister (position eller färg) läses. Det går bara att skriva till utdataregister, det går inte att läsa dem.
 
Error — Tillfälligt register läst utan skrivning: Om ett tillfälligt register har lästs utan att det tidigare har skrivits.
 
Error — Komponent i tillfälligt register läst utan skrivning: Om en specifik komponent i ett tillfälligt register har lästs utan att den tidigare har skrivits.
 
Error — Det går inte att skriva till sampler-register: Vid skrivning till ett sampler-register. Det går bara att läsa sampler-register, det går inte att skriva till dem.
 
Error — Skrivning till ett varierande register: Vid skrivning till ett varierande register i ett fragment-program. Varierande register kan bara skrivas i vertex-program och läsas i fragment-program.
 
Error — Det går inte att skriva till attributregister: Vid skrivning till ett attributregister. Attributregister är skrivskyddade.
 
Error — Det går inte att skriva till konstantregister: Vid skrivning till ett konstantregister i ett skuggningsprogram.
 
Error — Målskrivningsmask är noll: Om en målskrivningsmask är noll. Alla komponenter i ett utdataregister måste anges.
 
Error — Reserverade bitar för AGAL bör vara noll: Om någon reserverad bit i en token inte är noll. Detta tyder på ett fel när bytekoden skapades (eller felaktig bytekod).
 
Error — Okänd registertyp: Om ett ogiltigt registertypsindex används.
 
Error — Sampler-register utanför tillåtet intervall: Om ett ogiltigt sampler-registerindex används.
 
Error — Varierande register utanför tillåtet intervall: Om ett ogiltigt varierande registerindex används.
 
Error — Attributregister utanför tillåtet intervall: Om ett ogiltigt attributregisterindex används.
 
Error — Konstantregister utanför tillåtet intervall: Om ett ogiltigt konstantregisterindex används.
 
Error — Utdataregister utanför tillåtet intervall: Om ett ogiltigt utdataregisterindex används.
 
Error — Tillfälligt register utanför tillåtet intervall: Om ett ogiltigt tillfälligt registerindex används.
 
Error — Kubmappningssampler måste använda begränsning: Om en kubmappningssampler inte anger brytningsläget som begränsat.
 
Error — Okänd sampler-dimension: Om en sampler använder en okänd sampler-dimension. (Endast 2D- och kubtexturer stöds.)
 
Error — Okänt filterläge: Om en sampler använder ett okänt filterläge. (Endast närmaste granne och linjär filtrering stöds.)
 
Error — Okänt mipmap-läge: Om en sampler använder ett okänt mipmap-läge. (Endast ingen, närmaste granne och linjär mapmappning stöds.)
 
Error — Okänt brytningsläge: Om en sampler använder ett okänt brytningsläge. (Endast begränsat och upprepat brytningsläge stöds.)
 
Error — Okänd specialflagga: Om en sampler använder en okänd specialflagga.
 
Error — Utdatafärg inte maskeringsbar: Du kan inte maskera färgutdataregister i ett fragment-program. Alla komponenter i färgregistret måste anges.
 
Error — Andra operanden måste vara sampler-register: AGAL-opkoden tex måste ha en sampler som andra källoperand.
 
Error — Indirekt tillåts inte: Indirekt adressering används där det inte är tillåtet.
 
Error — Swizzle måste vara skalär: Swizzling-fel.
 
Error — Swizzle kan inte utföras för andra källan: Swizzling-fel.
 
Error — Andra användningen av sampler måste ha samma parametrar: Alla samplers som använder samma textur måste använda samma inställningar för dimension, brytning, filter, special och mapmappning.
 
Error — 3768: Programmeringsgränssnittet för Stage3D kan inte användas under bakgrundskörning.

Lär dig mer

Relaterade API-element





[ X ]Varför på engelska?
Innehåll i Referenshandbok för ActionScript 3.0 i Adobe Flash-plattformen är på engelska

Det är inte alla delar av Referenshandbok för ActionScript 3.0 i Adobe Flash-plattformen som översätts till alla språk. Om ett språkelement inte översätts visas det på engelska. Klassen ga.controls.HelpBox översätts till exempel inte till något språk. I den svenska versionen av referenshandboken visas därför klassen ga.controls.HelpBox på engelska.