Справочник по ActionScript® 3.0 для платформы Adobe® Flash®
Домашняя страница  |  Скрыть список пакетов и классов |  Пакеты  |  Классы  |  Что нового  |  Указатель  |  Приложения  |  Почему по-английски?
Фильтры: AIR 30.0 или более ранней версии, Flash Player 30.0 или более ранней версии, Flash Lite 4
Flex 4.6 или более ранней версии, Flash Pro CS6 или более ранней версии
Скрыть фильтры
flash.display3D 

Program3D  - AS3

Пакетыx

Верхний уровень
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

Элементы языка

Глобальные константы
Глобальные функции
Операторы
Инструкции, ключевые слова и директивы
Специальные типы

Приложения

Новые возможности
Ошибки компилятора
Предупреждения компилятора
Ошибки времени выполнения
Миграция ActionScript 3
Поддерживаемые наборы символов
Только MXML
Элементы движения XML
Теги Timed Text
устаревший_индекс
Константы реализации специальных возможностей
Использование примеров
Юридическая информация
Пакетflash.display3D
Классpublic final class Program3D
НаследованиеProgram3D Inheritance Object

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 11, AIR 2

Класс Program3D представляет собой пару программ визуализации (которые также называются шейдерами), загруженных в контекст визуализации.

Программы, управляемые объектом Program3D, управляют всей визуализацией треугольников во время вызова метода drawTriangles() объекта Context3D. Загрузите двоичный байт-код в контекст визуализации с использованием метода upload. (После загрузки ссылки на программу в исходном массиве байтов не сохраняются; изменение или удаление исходного массива байтов не влечет за собой изменение программы.)

Программы всегда состоят из двух связанных частей: вершинной и фрагментной программ.

  1. Вершинная программа работает с данными, определенными в объектах VertexBuffer3D, и отвечает за проецирование вершин в пространство клипа и передачу всех требуемых данных вершин, таких цвет, во фрагментную шейдерную программу.
  2. Фрагментная шейдерная программа работает с атрибутами, переданными в нее вершинной программой, и создает цвет для каждого растрированного фрагмента треугольника и, как результат, цвета пикселей. Обратите внимание, что фрагментные программы могут называться по-разному в литературе по трехмерному программированию, в том числе фрагментными шейдерами и пиксельными шейдерами.

Укажите пару программ, которую необходимо использовать для последующих операций визуализации, путем передачи соответствующего экземпляра Program3D в метод setProgram() объекта Context3D.

Нельзя создать объект Program3D напрямую; воспользуйтесь методом createProgram() объекта Context3D.

Связанные элементы API



Общедоступные свойства
 СвойствоОпределено
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
Общедоступные методы
 МетодОпределено
  
Освобождает все ресурсы, связанные с этим объектом.
Program3D
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
  
upload(vertexProgram:ByteArray, fragmentProgram:ByteArray):void
Загружает пару программ визуализации, выраженных байт-кодом AGAL (Adobe Graphics Assembly Language).
Program3D
 Inherited
Возвращает элементарное значение заданного объекта.
Object
Сведения о методе

dispose

()метод
public function dispose():void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 11, AIR 3

Освобождает все ресурсы, связанные с этим объектом. После утилизации объекта Program3D происходит сбой вызова метода upload() и визуализации с использованием этого объекта.

upload

()метод 
public function upload(vertexProgram:ByteArray, fragmentProgram:ByteArray):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 11, AIR 3

Загружает пару программ визуализации, выраженных байт-кодом AGAL (Adobe Graphics Assembly Language).

Программный байт-код может быть создан с использованием автономных инструментов Pixel Bender 3D. Кроме того, он может создаваться динамически. Класс AGALMiniAssembler является служебным классом, который компилирует программы на языке ассемблера AGAL в байт-код AGAL. Класс не входит в состав среды выполнения. При загрузке шейдерных программ байт-код компилируется в язык собственного шейдера текущего устройства (например, OpenGL или Direct3D). Среда выполнения проверяет байт-код при загрузке.

Программы выполняются при вызове метода drawTriangles() объекта Context3D. Вершинная программа выполняется один раз для каждой вершины в списке треугольников, которые должны быть отрисованы. Фрагментная программа выполняется по одному разу для каждого пикселя на поверхности треугольника.

«Переменные», используемые шейдерной программой, называются регистрами. Определены следующие регистры:

ИмяЧисло для фрагментной программыЧисло для вершинной программыЦель
АтрибутНет данных8Ввод вершинного шейдера; чтение из буфера вершин, указанного с использованием Context3D.setVertexBufferAt().
Константа28128Ввод шейдера; задается с использованием семейства функций Context3D.setProgramConstants().
Временный88Регистр временных значений для вычислений недоступен вне программы.
Вывод11Вывод шейдера: в вершинной программе выводом является расположение пространства клипа, а во фрагментной — цвет.
Переменная88Передайте интерполированные данные между вершинным и фрагментным шейдером. Регистры переменных из вершинной программы применяются в качестве входных данных для фрагментной программы. Значения интерполируются в соответствии с расстоянием от вершин треугольника.
Образец8Нет данныхВходные данные фрагментного шейдера; считываются из текстуры, указанной с использованием Context3D.setTextureAt()

Вершинная программа получает входные данные из двух источников: буферов вершин и регистров констант. Укажите, какие данные вершин необходимо использовать для определенного регистра атрибутов вершин с помощью метода setVertexBufferAt() объекта Context3D. Можно определить до восьми регистров ввода для атрибутов вершин. Значения атрибутов вершин считываются из буфера вершин для каждой вершины в списке треугольников и помещаются в регистр атрибутов. Укажите регистры констант с использованием метода setProgramConstantsFromMatrix() или setProgramConstantsFromVector() класса Context3D. В регистрах постоянных хранится одинаковое значение для каждой вершины в списке треугольников. (Значения констант можно изменить только между вызовами метода drawTriangles().)

Вершинная программа отвечает за проецирование вершин треугольника в пространство клипа (каноническая область просмотра находится в пределах ±1 на осях x и y и 0-1 на оси z) и размещение преобразованных координат в соответствующем регистре вывода. (Как правило, соответствующая матрица проецирования передается в шейдер в наборе регистров констант.) Вершинная программа также должна скопировать все атрибуты вершин или вычисленные значения, необходимые во фрагментной программе, в специальный набор переменных, который называется регистром переменных. При выполнении фрагментного шейдера значение, указанное в регистре переменных, линейно интерполируется в соответствии с расстоянием текущего фрагмента от каждой вершины треугольника.

Фрагментная программа получает входные данные из регистра переменных и отдельного набора регистров констант (задается с помощью метода setProgramConstantsFromMatrix() или setProgramConstantsFromVector()). Для чтения данных текстур, загруженных в контекст визуализации, можно также использовать регистры образцов. Укажите текстуру, к которой необходимо получить доступ с помощью определенного регистра образцов, с использованием метода setTextureAt() класса Context3D. Фрагментная программа отвечает за настройку для ее регистра вывода цветового значения.

Параметры

vertexProgram:ByteArray — Байт-код AGAL для программы вершин. Для объекта ByteArray необходимо использовать формат с прямым порядком байтов.
 
fragmentProgram:ByteArray — Байт-код AGAL для программы фрагментов. Для объекта ByteArray необходимо использовать формат с прямым порядком байтов.


Выдает
TypeError — Ошибка пустого указателя: если vertexProgram или fragmentProgram принимает нулевое значение.
 
Error — Объект удален: если объект Program3D был удален напрямую путем вызова метода dispose() или косвенно путем вызова метода dispose() объекта Context3D или если контекст визуализации был удален из-за потери связи с устройством.
 
ArgumentError — Программа Agal слишком маленькая: когда длина любого массива программного кода меньше 31 байта. Это размер байт-кода шейдера программы с одной инструкцией.
 
ArgumentError — Программа должна иметь прямой порядок байтов: если любой массив байт-кода программы не имеет прямой порядок байтов.
 
Error — Сбой компиляции собственного шейдера: если вывод транслятора AGAL не является совместимой программой на языке собственного шейдера. Эта ошибка возникает только в проигрывателях выпуска.
 
Error — Сбой компиляции OpenGL собственного шейдера: если вывод транслятора AGAL не является компилируемой программой на языке шейдерной программы OpengGL и включает диагностику компиляции. Эта ошибка возникает только в проигрывателях отладки.
 
Error — Сбой компиляции D3D9 собственного шейдера: если вывод транслятора AGAL не является компилируемой программой на языке шейдерной программы Direct3D и включает диагностику компиляции. Эта ошибка возникает только в проигрывателях отладки.

Следующие ошибки выдаются, когда проверка байт-кода AGAL завершается ошибкой:

 
Error — Не является программой Agal: если заголовок magic byte является неверным. Первым байтом байт-кода должен быть 0xa0. Эта ошибка может обозначать, что для массива байтов установлен неверный порядок байтов.
 
Error — Неверная версия Agal: если версия AGAL не поддерживается текущей версией SWF. Для SWF версии 13 необходимо установить AGAL версии 1.
 
Error — Неверный тип программы Agal: если идентификатор типа программы AGAL недействителен. Третьим байтом в байт-коде должен быть 0xa1. Эта ошибка может обозначать, что для массива байтов установлен неверный порядок байтов.
 
Error — Неверный тип шейдера Agal: если кодом типа шейдера не является фрагмент или вершина (1 или 0).
 
Error — Недопустимый код операции Agal находится вне диапазона: если обнаружен недопустимый код операции в потоке маркеров.
 
Error — Недопустимый код операции Agal не реализован: если обнаружен недопустимый код операции в потоке маркеров.
 
Error — Код операции Agal разрешен только во фрагментной программе: если в потоке маркеров вершинной программы обнаруживается код операции, который разрешен только во фрагментных программах, таких как KIL или TEX.
 
Error — Неверные исходные операнды Agal: если оба исходных операнда являются регистрами констант. Необходимо вычислить результат без использования шейдерной программы и передать его с помощью одного регистра констант.
 
Error — Оба операнда предназначены для непрямого чтения: если оба операнда предназначены для непрямого чтения.
 
Error — Назначение кода операции должно быть равно нулю: если маркер с кодом операции (например, KIL), для которого не указано назначение, задает ненулевое значение для регистра назначения.
 
Error — Для назначения кода операции необходимо использовать маску: если код операции, создающей только трехкомпонентный результат, используется без маски.
 
Error — Слишком много маркеров: если в программе AGAL слишком много маркеров (больше 200).
 
Error — Тип фрагментного шейдера: если в качестве типа фрагментной программы (байт 6 параметра fragmentProgram) не задано значение 1.
 
Error — Тип вершинного шейдера: если в качестве типа вершинной программы (байт 6 параметра vertexProgram) не задано значение 0.
 
Error — Чтение переменных выполнено, но запись не произведена: если фрагментный шейдер считывает регистр переменных, который никогда не записывался вершинным шейдером.
 
Error — Частичная запись переменных: если запись регистра переменных произведена частично. Все компоненты регистра переменных должны быть записаны.
 
Error — Запись всех компонентов фрагмента: если вывод цвета фрагмента записан частично. Все четыре компонента вывода цвета должны быть записаны.
 
Error — Запись всех компонентов вершины: если вывод пространства клипа вершины записан частично. Все компоненты вывода пространства обрезки вершины должны быть доступны для записи.
 
Error — Неиспользованный операнд: если неиспользованный операнд в маркере не является нулевым.
 
Error — Регистр образцов только во фрагменте: если регистр образцов текстуры используется только в вершинной программе.
 
Error — Второй операнд регистра образцов: если регистр образцов используется в качестве цели или первого операнда маркера AGAL.
 
Error — Косвенная адресация разрешена только в вершине: если косвенная адресация используется во фрагментной программе.
 
Error — Косвенная адресация разрешена только в регистрах констант: если косвенная адресация используется в регистрах, отличных от регистров констант.
 
Error — Тип косвенного источника: если типом косвенного источника не является регистр атрибутов, констант или временных значений.
 
Error — Поля косвенной адресации должны быть равны нулю: если не все поля косвенной адресации равны нулю для прямой адресации.
 
Error — Только чтение регистров переменных во фрагменте: если выполняется чтение регистра переменных в вершинной программе. Регистры переменных доступны только для записи в вершинных программах и только для чтения во фрагментных программах.
 
Error — Только чтение регистров атрибутов в вершине: если выполняется чтение регистров атрибутов во фрагментной программе. Регистры атрибутов доступны только для чтения в вершинных программах.
 
Error — Не удается прочитать регистр вывода: если выполняется чтение регистра вывода (положение или цвет). Регистры вывода доступны только для чтения, но не для записи.
 
Error — Чтение регистра временных значений без записанных данных: если выполняется чтение регистра временных значений, в который ранее не были записаны данные.
 
Error — Чтение компонента регистра временных значений без записанных данных: если выполняется чтение определенного компонента регистра временных значений, в который ранее не были записаны данные.
 
Error — Невозможно выполнить запись в регистр образцов: если выполняется запись в регистр образцов. Регистры образцов доступны только для чтения, но не для записи.
 
Error — Запись в регистр переменных: если выполняется запись в регистр переменных значений во фрагментной программе. Регистры переменных доступны только для записи в вершинных программах и только для чтения во фрагментных программах.
 
Error — Невозможно выполнить запись в регистр атрибутов: если выполняется запись в регистр атрибутов. Регистры атрибутов доступны только для чтения.
 
Error — Невозможно выполнить запись в регистр констант: если выполняется запись в регистр констант в шейдерной программе.
 
Error — Целевая маска записи равна нулю: если целевая маска записи равна нулю. Должны быть заданы все компоненты регистра вывода.
 
Error — Зарезервированные биты AGAL должны быть равны нулю: если какие-либо зарезервированные биты в маркере не равны нулю. Это обозначает ошибку при создании байт-кода (или неправильно сформированный байт-код).
 
Error — Неизвестный тип регистра: если используется индекс недопустимого типа регистра.
 
Error — Регистр образцов выходит за пределы: если используется недопустимый индекс регистра образцов.
 
Error — Регистр переменных выходит за пределы: если используется недопустимый индекс регистра переменных.
 
Error — Регистр атрибутов выходит за пределы: если используется недопустимый индекс регистра атрибутов.
 
Error — Регистр констант выходит за пределы: если используется недопустимый индекс регистра констант.
 
Error — Регистр вывода выходит за пределы: если используется недопустимый индекс регистра вывода.
 
Error — Регистр временных значений выходит за пределы: если используется недопустимый индекс регистра временных значений.
 
Error — Для образца карты куба должна использоваться фиксация: если образец карты куба не устанавливает режим обтекания для фиксации.
 
Error — Неизвестный размер образца: если для образца используется неизвестный размер. (Поддерживаются только 2D и кубические текстуры.)
 
Error — Неизвестный режим фильтрации: если образец использует неизвестный режим фильтрации. (Поддерживается только фильтрация ближайших соседних элементов и линейная фильтрация.)
 
Error — Неизвестный режим множественного отображения: если образец использует неизвестный режим множественного отображения. (Поддерживаются только отсутствующий режим множественного отображения, режимы множественного отображения ближайших соседних элементов и линейного множественного отображения.)
 
Error — Неизвестный режим обтекания: если образец использует неизвестный режим обтекания. (Поддерживаются только режимы обтекания с фиксацией или повторением.)
 
Error — Неизвестный специальный флаг: если образец использует неизвестный специальный флаг.
 
Error — Невозможно применить маску к выводимому цвету: нельзя применить маску к регистру вывода цветов во фрагментной программе. Должны быть заданы все компоненты регистра цветов.
 
Error — Второй операнд должен быть регистром образцов: в коде операции tex AGAL в качестве второго исходного операнда должен использоваться образец.
 
Error — Косвенная адресация не разрешена: косвенная адресация используется там, где это запрещено.
 
Error — Сериализация должна быть скалярной величиной: ошибка сериализации.
 
Error — Невозможно сериализовать 2-й источник: ошибка сериализации.
 
Error — Во второй раз образец должен использоваться с теми же параметрами: во всех образцах, получающих доступ к одной текстуре, должны использоваться одинаковые параметры размера, обтекания, фильтра, специальные параметры и параметры множественного отображения.
 
Error — 3768: API-интерфейс Stage3D не может использоваться во время выполнения в фоновом режиме.

Дополнительно

Связанные элементы API





[ X ]Почему по-английски?
Содержимое Справочника ActionScript 3.0 отображается на английском языке

Не все части Справочника ActionScript 3.0 переводятся на все языки. Если какой-то текстовый элемент не переведен, он отображается на английском языке. Например, компонент ga.controls.HelpBox не переведен ни на один из языков. Это значит, что в русской версии справки компонент ga.controls.HelpBox будет отображаться на английском языке.