ActionScript® 3.0 — dokumentacja dla platformy Adobe® Flash®
Strona główna  |  Ukryj listę pakietów i klas |  Pakiety  |  Klasy  |  Nowości  |  Indeks  |  Dodatki  |  Dlaczego język angielski?
Filtry: AIR 30.0 i wcześniejsze, Flash Player 30.0 i wcześniejsze, Flash Lite 4
Flex 4.6 i wcześniejsze, Flash Pro CS6 i wcześniejsze
Ukryj filtry
flash.display3D 

Program3D  - AS3

Pakietyx

Najwyższy poziom
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

Elementy językowe

Stałe globalne
Funkcje globalne
Operatory
Instrukcje, słowa kluczowe i dyrektywy
Typy specjalne

Dodatki

Nowości
Błędy kompilatora
Ostrzeżenia kompilatora
Błędy czasu wykonywania
Migracja kodu ActionScript 3
Obsługiwane zestawy znaków
Tylko MXML
Elementy XML dotyczące ruchu
Znaczniki tekstu z synchronizacją czasową
Przestarzały indeks
Stałe implementacji dostępności
Instrukcje dotyczące przykładów
Informacje prawne
Pakietflash.display3D
Klasapublic final class Program3D
DziedziczenieProgram3D Inheritance Object

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 11, AIR 2

Klasa Program3D reprezentuje parę programów renderujących (określanych również jako moduły cieniujące) wysłanych do kontekstu renderowania.

Programy zarządzane przez obiekt Program3D sterują procesem renderowania trójkątów podczas wywołania metody drawTriangles klasy Context3D. Metoda upload pozwala wysłać binarny kod bajtowy do kontekstu renderowania. (Po wysłaniu program nie odnosi się już do danych w oryginalnej tablicy bajtów. Zmiany lub usunięcie źródłowej tablicy bajtowej nie mają wpływu na program).

Program zawsze składa się z dwóch połączonych części: programu wierzchołków i programu fragmentów.

  1. Program wierzchołków działa na danych zdefiniowanych w obiektach VertexBuffer3D i odpowiada za rzutowanie wierzchołków na przestrzeń klipu oraz przekazywanie wymaganych danych wierzchołków (na przykład kolorów) do modułu cieniującego fragmentów.
  2. Moduł cieniujący fragmentów działa na atrybutach przekazanych do niego przez program wierzchołków. Oblicza kolor dla każdego rasteryzowanego fragmentu trójkąta, co przekłada się na kolory pikseli. Programy fragmentów mają wiele nazw w literaturze dotyczącej programowania 3D. Są między innymi określane jako moduły cieniujące fragmentów i moduły cieniujące pikseli.

Aby określić parę programów do używania w dalszych operacjach renderowania, należy przekazać odpowiednie wystąpienie klasy Program3D do metody setProgram() klasy Context3D.

Obiektu Program3D nie można utworzyć bezpośrednio. Należy zamiast tego użyć metody createProgram() klasy Context3D.

Powiązane elementy interfejsu API



Właściwości publiczne
 WłaściwośćZdefiniowane przez
 Inheritedconstructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu.
Object
Metody publiczne
 MetodaZdefiniowane przez
  
Zwalnia wszystkie zasoby skojarzone z tym obiektem.
Program3D
 Inherited
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość.
Object
 Inherited
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr.
Object
 Inherited
Wskazuje, czy określona właściwość istnieje i jest przeliczalna.
Object
 Inherited
Ustawia dostępność właściwości dynamicznej używanej w pętlach.
Object
 Inherited
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych.
Object
 Inherited
Zwraca ciąg reprezentujący określony obiekt.
Object
  
upload(vertexProgram:ByteArray, fragmentProgram:ByteArray):void
Wysyła parę programów renderujących opisanych w kodzie bajtowym języka AGAL (Adobe Graphics Assembly Language).
Program3D
 Inherited
Zwraca pierwotną wartość dla określonego obiektu.
Object
Szczegół metody

dispose

()metoda
public function dispose():void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 11, AIR 3

Zwalnia wszystkie zasoby skojarzone z tym obiektem. Po zwolnieniu obiektu Program3D wywołanie metody upload() i renderowanie za pomocą tego obiektu nie powiedzie się.

upload

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 11, AIR 3

Wysyła parę programów renderujących opisanych w kodzie bajtowym języka AGAL (Adobe Graphics Assembly Language).

Kod bajtowy programu można utworzyć za pomocą narzędzi offline Pixel Blender 3D. Można go również utworzyć dynamicznie. Klasa AGALMiniAssembler jest klasą narzędziową, która kompiluje programy w języku maszynowym AGAL do kodu bajtowego AGAL. Ta klasa nie należy do środowiska wykonawczego. Gdy jest wysyłany program modułu cieniującego, kod bajtowy jest kompilowany do natywnego języka modułów cieniujących danego urządzenia (na przykład do języka OpenGL lub Direct3D). Środowisko wykonawcze sprawdza poprawność kodu bajtowego podczas wysyłania.

Programy są uruchamiane przy każdym wywołaniu metody drawTriangles() klasy Context3D. Program wierzchołków jest wykonywany raz dla każdego wierzchołka z listy trójkątów do narysowania. Program fragmentów jest wykonywany raz dla każdego piksela na powierzchni trójkąta.

Zmienne używane w programie wierzchołków są określane jako rejestry. Są zdefiniowane następujące rejestry:

NazwaLiczba na program fragmentówLiczba na program wierzchołkówPrzeznaczenie
Atrybutówn/d8Dane wejściowe modułu cieniującego wierzchołków. Odczytywany z bufora wierzchołków określonego przy użyciu metody Context3D.setVertexBufferAt().
Stałych28128Dane wejściowe modułu cieniującego. Ustawiany przy użyciu rodziny funkcji Context3D.setProgramConstants().
Tymczasowy88Tymczasowy rejestr na potrzeby obliczeń, niedostępny spoza programu.
Wyjściowy11Produkt modułu cieniującego: W programie wierzchołków produktem jest położenie w przestrzeni klipu. W programie fragmentów produktem jest kolor.
Zmienny88Służy do przesyłania interpolowanych danych między modułami cieniującymi wierzchołków i fragmentów. Rejestry zmienne pochodzące z programu wierzchołków są stosowane jako dane wejściowe w programie fragmentów. Wartości są interpolowane według odległości od wierzchołków trójkątów.
Próbnika8n/dDane wejściowe modułu cieniującego fragmentów. Odczytywany z tekstury określonej przy użyciu metody Context3D.setTextureAt().

Program wierzchołków uzyskuje dane wejściowe z dwóch źródeł: buforów wierzchołków i rejestrów stałych. Aby określić, które dane wierzchołków mają być używane w konkretnym rejestrze atrybutów, należy użyć metody setVertexBufferAt() klasy Context3D. Można zdefiniować maksymalnie osiem rejestrów wejściowych na potrzeby atrybutów wierzchołków. Wartości atrybutów wierzchołków są odczytywane z bufora wierzchołków każdego wierzchołka z listy trójkątów i umieszczane w rejestrze atrybutów. Do określania rejestrów stałych służą metody setProgramConstantsFromMatrix() i setProgramConstantsFromVector() klasy Context3D. Rejestry stałych zachowują takie same wartości dla wszystkich wierzchołków z listy trójkątów. Wartości stałych można zmieniać tylko między wywołaniami metody drawTriangles().

Program wierzchołków odpowiada za rzutowanie wierzchołków trójkątów na przestrzeń klipu (kanoniczny obszar widoczny określany przez współrzędne na od –1 do 1 na osiach x i y oraz od 0 do 1 na osi z) i umieszczanie przekształconych współrzędnych w rejestrze wyjściowym. (Zazwyczaj do modułu cieniującego jest przekazywana odpowiednia macierz rzutowania w formie zestawu rejestrów stałych). Program wierzchołków musi też skopiować wszystkie atrybuty wierzchołków i obliczone wartości wymagane przez program fragmentów do specjalnego zestawu zmiennych określanych jako rejestry zmienne. Po uruchomieniu programu fragmentów wartość podana w rejestrze zmiennym jest interpolowana liniowo zgodnie z odległością bieżącego fragmentu od każdego z wierzchołków trójkąta.

Program fragmentów otrzymuje dane wejściowe z rejestrów zmiennych i z oddzielnego zestawu rejestrów stałych (ustawianych przy użyciu metod setProgramConstantsFromMatrix() i setProgramConstantsFromVector()). Można również odczytać dane tekstur z tekstur wysłanych do kontekstu renderowania przy użyciu rejestrów próbników. Do określania, która tekstura umożliwia dostęp do konkretnego rejestru próbnika, służy metoda setTextureAt() klasy Context3D. Program fragmentów odpowiada za ustawienie wartości koloru w swoim rejestrze wyjściowym.

Parametry

vertexProgram:ByteArray — Kod bajtowy AGAL programu wierzchołków. Obiekt ByteArray musi korzystać z formatu little endian.
 
fragmentProgram:ByteArray — Kod bajtowy AGAL programu fragmentów. Obiekt ByteArray musi korzystać z formatu little endian.


Zgłasza
TypeError — Błąd wskaźnika null: jeśli parametr vertexProgram lub fragmentProgram ma wartość null.
 
Error — Obiekt zwolniony: jeśli obiekt Program3D został zwolniony bezpośrednio przez wywołanie metody dispose(), pośrednio przez wywołanie metody dispose() obiektu Context3D lub w efekcie zwolnienia kontekstu renderowania z powodu utraty urządzenia.
 
ArgumentError — Zbyt mały program AGAL: Gdy którakolwiek tablica kodu programu ma długość mniejszą niż 31 bajtów. Jest to rozmiar kodu bajtowego programu modułu cieniującego zawierającego jedną instrukcję.
 
ArgumentError — Program musi być w formacie little endian: jeśli którakolwiek tablica kodu bajtowego programu nie jest w formacie little endian.
 
Error — Niepowodzenie kompilacji natywnego modułu cieniującego: Jeśli dane wyjściowe translatora AGAL nie są zgodnym programem w natywnym języku modułów cieniujących. Ten błąd jest generowany tylko przy zwalnianiu odtwarzaczy.
 
Error — Niepowodzenie kompilacji natywnego modułu cieniującego OpenGL: Jeśli dane wyjściowe translatora AGAL nie są zgodnym programem w języku modułów cieniujących OpenGL i zawierają diagnostykę kompilacji. Ten błąd jest generowany tylko przy zwalnianiu odtwarzaczy z włączonym debugowaniem.
 
Error — Niepowodzenie kompilacji natywnego modułu cieniującego D3D9: Jeśli dane wyjściowe translatora AGAL nie są zgodnym programem w języku modułów cieniujących Direct3D i zawierają diagnostykę kompilacji. Ten błąd jest generowany tylko przy zwalnianiu odtwarzaczy z włączonym debugowaniem.

Jeśli sprawdzenie poprawności kodu bajtowego AGAL nie powiedzie się, są generowane następujące błędy:

 
Error — Program nie w formacie AGAL: Jeśli magiczny bajt w nagłówku jest nieprawidłowy. Pierwszy bajt w kodzie bajtowym musi mieć wartość 0xa0. Ten błąd może oznaczać, że w tablicy bajtów ustawiono nieprawidłową kolejność bajtów endian.
 
Error — Nieprawidłowa wersja formatu AGAL: Jeśli wersja kodu AGAL nie jest obsługiwana w bieżącej wersji formatu SWF. W przypadku plików SWF w wersji 13 należy ustawić wersję 1 formatu AGAL.
 
Error — Nieprawidłowy typ programu AGAL: Jeśli identyfikator typu programu AGAL nie jest prawidłowy. Trzeci bajt w kodzie bajtowym musi mieć wartość 0xa1. Ten błąd może oznaczać, że w tablicy bajtów ustawiono nieprawidłową kolejność bajtów endian.
 
Error — Nieprawidłowy typ modułu cieniującego AGAL: jeśli kod typu modułu cieniującego nie wskazuje programu fragmentów ani programu wierzchołków (nie ma wartości 1 lub 0).
 
Error — Nieprawidłowy kod operacji AGAL — poza zakresem: w przypadku wystąpienia nieprawidłowego kodu operacji w strumieniu znaczników.
 
Error — Nieprawidłowy kod operacji AGAL — brak implementacji: w przypadku wystąpienia nieprawidłowego kodu operacji w strumieniu znaczników.
 
Error — Kod operacji AGAL dozwolony tylko w programie fragmentów: jeśli w strumieniu znaczników programu wierzchołków napotkano kod operacji, który jest dozwolony tylko w programach fragmentów, takich jak KIL lub TEX.
 
Error — Nieprawidłowe argumenty źródłowe kodu AGAL: Jeśli oba argumenty źródłowe są rejestrami stałych. Należy obliczyć wynik poza programem modułu cieniującego i przekazać go przy użyciu pojedynczego rejestru stałych.
 
Error — Oba argumenty są odczytywane pośrednio: jeśli oba argumenty są odczytywane pośrednio.
 
Error — Wszystkie miejsca docelowe kodów operacji muszą być zerowe: jeśli znacznik z kodem operacje (takim jak KIL) bez miejsca docelowego ustawi wartość niezerową rejestru miejsca docelowego.
 
Error — Miejsce docelowe kodu operacji musi używać maski: jeśli kod operacji generującej wynik z tylko trzema składnikami zostanie użyty bez maskowania.
 
Error — Zbyt wiele znaczników: jeśli w programie AGAL występuje zbyt wiele znaczników (więcej niż 200).
 
Error — Typ modułu cieniującego fragmentów: jeśli typ programu fragmentów (szósty bajt parametru fragmentProgram) ma wartość inną niż 1.
 
Error — Typ modułu cieniującego wierzchołków: jeśli typ programu wierzchołków (szósty bajt parametru vertexProgram) ma wartość inną niż 1.
 
Error — Zmienny odczytany, ale nie zapisany: jeśli moduł cieniujący fragmentów odczytuje rejestr zmienny, do którego nigdy nic nie zapisał moduł cieniujący wierzchołków.
 
Error — Częściowy zapis zmiennego: Jeśli zapis w rejestrze zmiennym będzie tylko częściowy. Informacje muszą zostać zapisane we wszystkich składnikach rejestru zmiennego.
 
Error — Zapisz wszystkie składniki fragmentów: Jeśli produkt koloru fragmentów został tylko częściowo zapisany. Informacje muszą zostać zapisane we wszystkich czterech składnikach produktu koloru.
 
Error — Zapisz wszystkie składniki wierzchołków: Jeśli produkt wierzchołków w przestrzeni klipu został zapisany tylko częściowo. Informacje muszą zostać zapisane we wszystkich składnikach produktu wierzchołka przestrzeni klipu.
 
Error — Nieużywany argument: jeśli nie wszystkie parametry nieużywanego argumentu w znaczniku przyjmują wartość 0.
 
Error — Rejestr próbnika tylko w programie fragmentów: jeśli w programie wierzchołków użyto rejestru próbnika.
 
Error — Rejestr próbnika to drugi argument: jeśli rejestr próbnika został użyty jako element docelowy lub pierwszy argument znacznika AGAL.
 
Error — Pośrednie dozwolone tylko w programie wierzchołków: jeśli w programie fragmentów jest używane adresowanie pośrednie.
 
Error — Pośrednie tylko w rejestrach stałych: jeśli adresowanie pośrednie zostanie użyte dla rejestru zmiennego.
 
Error — Typ źródła pośredniego: jeśli typem źródła adresowania pośredniego nie jest atrybut, stała lub rejestr tymczasowy.
 
Error — Pola adresowania pośredniego muszą być zerowe: jeśli nie wszystkie pola adresowania pośredniego mają wartość zero w przypadku adresowania bezpośredniego.
 
Error — Rejestry zmienne odczytywane tylko w programie fragmentów: Jeśli rejestr zmienny jest odczytywany w programie wierzchołków. Rejestry zmienne mogą być zapisywane tylko w programach wierzchołków, a odczytywane tylko w programach fragmentów.
 
Error — Rejestry atrybutów odczytywane tylko w programie wierzchołków: Jeśli nastąpi odczytanie rejestru atrybutów w programie fragmentów. Rejestry atrybutów mogą być odczytywane tylko w programach wierzchołków.
 
Error — Nie można odczytać rejestru wyjściowego: Jeśli nastąpi próba odczytania rejestru wyjściowego (położenia lub koloru). W rejestrach wyjściowych można tylko zapisywać dane. Nie można z nich odczytywać.
 
Error — Odczyt rejestru tymczasowego bez zapisu: jeśli rejestr tymczasowy jest odczytywany w sytuacji, gdy nic w nim wcześniej nie zapisano.
 
Error — Odczyt składnika rejestru tymczasowego bez zapisu: jeśli składnik rejestru tymczasowego jest odczytywany w sytuacji, gdy nic w nim wcześniej nie zapisano.
 
Error — Nie można zapisywać w rejestrze próbnika: Jeśli nastąpi zapis do rejestru próbnika. Rejestry próbników można tylko odczytywać. Nie można w nich zapisywać.
 
Error — Zapis w rejestrze zmiennym: Jeśli w programie fragmentów informacje są zapisywane w rejestrze zmiennym. Rejestry zmienne mogą być zapisywane tylko w programach wierzchołków, a odczytywane tylko w programach fragmentów.
 
Error — Nie można zapisywać w rejestrze atrybutu: Jeśli nastąpi zapis do rejestru atrybutu. Rejestry atrybutów są dostępne tylko do odczytu.
 
Error — Nie można zapisać w rejestrze stałych: jeśli w programie modułu cieniującego nastąpi zapis do rejestru stałych.
 
Error — Zerowa docelowa maska zapisu: Jeśli docelowa maska zapisu jest równa zero. Muszą być ustawione wszystkie składniki rejestru wyjściowego.
 
Error — Zarezerwowane bity AGAL powinny być zerowe: Jeśli którykolwiek zarezerwowany bit w znaczniku nie ma wartości zero. Wskazuje to na błąd podczas tworzenia kodu bajtowego (lub uszkodzony kod bajtowy).
 
Error — Nieznany typ rejestru: jeśli zostanie użyty nieprawidłowy indeks typu rejestru.
 
Error — Rejestr próbnika poza zakresem: jeśli zostanie użyty nieprawidłowy indeks rejestru próbnika.
 
Error — Rejestr zmiennym poza zakresem: jeśli zostanie użyty nieprawidłowy indeks rejestru zmiennego.
 
Error — Rejestr atrybutów poza zakresem: jeśli zostanie użyty nieprawidłowy indeks rejestru atrybutów.
 
Error — Rejestr stałych poza zakresem: jeśli zostanie użyty nieprawidłowy indeks rejestru stałych.
 
Error — Rejestr wyjściowy poza zakresem: jeśli zostanie użyty nieprawidłowy indeks rejestru wyjściowego.
 
Error — Rejestr tymczasowy poza zakresem: jeśli zostanie użyty nieprawidłowy indeks rejestru tymczasowego.
 
Error — Próbnik mapy sześcianu musi stosować ściskanie: jeśli próbnik mapy sześcianu nie ustawił typu opakowywania na ściskanie.
 
Error — Nieznany wymiar próbnika: Jeśli próbka używa nieznanego wymiaru próbnika. (Są obsługiwane tylko tekstury 2D i sześcienne).
 
Error — Nieznany tryb filtrowania: Jeśli próbnik używa nieznanego trybu filtrowania. (Jest obsługiwane tylko filtrowanie typu najbliższy sąsiad oraz liniowe).
 
Error — Nieznany tryb mipmappingu: Jeśli próbnik używa nieznanego trybu mipmappingu. (Są obsługiwane tylko następujące tryby mipmappingu: brak, najbliższy sąsiad i liniowy).
 
Error — Nieznany tryb opakowywania: Jeśli próbnik używa nieznanego trybu opakowywania. (Są obsługiwane tylko następujące tryby opakowywania: ściskanie i powtarzanie).
 
Error — Nieznana flaga specjalna: jeśli próbnik używa nieznanej flagi specjalnej.
 
Error — Nie można maskować koloru wyjściowego: Nie można zamaskować rejestru wyjściowego koloru w programie fragmentów. Muszą być ustawione wszystkie składniki rejestru koloru.
 
Error — Drugim argumentem musi być rejestr próbnika: kod operacji TEX w języku AGAL musi zawierać próbnik jako drugi atrybut źródła.
 
Error — Niedozwolone adresowanie pośrednie: użyto adresowania pośredniego w miejscu, gdzie jest niedozwolone.
 
Error — Przekładanie musi być skalarne: błąd przekładania.
 
Error — Nie można przełożyć drugiego źródła: błąd przekładania.
 
Error — Drugie użycie próbnika musi mieć te same parametry: wszystkie próbniki uzyskujące dostęp do tej samej tekstury muszą używać tych samych ustawień wymiarów, zawijania, filtrowania, specjalnych i mipmappingu.
 
Error — Interfejs API Stage3D nie może być używany podczas wykonywania tła.

Więcej informacji

Powiązane elementy interfejsu API





[ X ]Dlaczego język angielski?
Treść dokumentacji języka ActionScript 3.0 wyświetlana w języku angielskim

Niektóre części dokumentacji języka ActionScript 3.0 nie są przetłumaczone na poszczególne języki. Gdy element nie jest przetłumaczony na dany język, jest wyświetlany tekst angielski. Na przykład opis klasy ga.controls.HelpBox nie jest przetłumaczony na żaden dodatkowy język. Z tego powodu polska wersja dokumentacji zawiera opis klasy ga.controls.HelpBox w języku angielskim.