Paket | flash.display |
Sınıf | public final dynamic class ShaderData |
Miras Alma | ShaderData Object |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Bu özellikler, ShaderData nesnesi oluşturulurken bu nesneye eklenir. Özeliklerin adları, gölgelendiricinin kaynak kodunda belirtilen adlarla eşleşir. Her özelliğin veri türü, özelliğin gölgelendiricinin hangi yönünü temsil ettiğine bağlı olarak değişiklik gösterir. shader parametrelerini temsil eden özellikler ShaderParameter örnekleridir, girdi görüntülerini temsil eden özellikler ShaderInput örnekleridir ve gölgelendirici meta verisini temsil eden özellikler de veri türlerine karşılık gelen ActionScript sınıfının örnekleridir (örneğin, metin meta verileri için bir String ve uint meta verileri için bir uint).
Örneğin bir girdi görüntüsü (src
), iki parametre (size
ve radius
) ve üç meta veri değeri (nameSpace
, version
ve description
) ile tanımlanan bu gölgelendiriciyi göz önünde bulundurun:
<languageVersion : 1.0;> kernel DoNothing < namespace: "Adobe::Example"; vendor: "Adobe examples"; version: 1; description: "A shader that does nothing, but does it well."; > { input image4 src; output pixel4 dst; parameter float2 size < description: "The size of the image to which the kernel is applied"; minValue: float2(0.0, 0.0); maxValue: float2(100.0, 100.0); defaultValue: float2(50.0, 50.0); >; parameter float radius < description: "The radius of the effect"; minValue: 0.0; maxValue: 50.0; defaultValue: 25.0; >; void evaluatePixel() { float2 one = (radius / radius) ∗ (size / size); dst = sampleNearest(src, outCoord()); } }
Bu gölgelendirici için bayt kodu yükleyerek bir Shader örneği oluşturursanız, bunun data
özelliğindeki ShaderData örneği şu özelikleri içerir:
Özellik | Veri türü | Değer |
---|---|---|
name | String | "DoNothing" |
nameSpace | String | "Adobe::Example" |
version | String | "1" |
description | String | "A shader that does nothing, but does it well." |
src | ShaderInput | [Bir ShaderInput örneği] |
size | ShaderParameter | [Parametre meta verisi için özellikleri içeren bir ShaderParameter örneği] |
radius | ShaderParameter | [Parametre meta verisi için özellikleri içeren bir ShaderParameter örneği] |
Gölgelendirici bayt koduna derlendiğinde, gölgelendirici kaynak kodunda tanımlanan ancak gölgelendiricinin evaluatePixel()
işlevinde kullanılmayan tüm girdi görüntüleri veya parametrelerin kaldırıldığını unutmayın. Bu durumda, ShaderData örneğinin bir özelliği olarak eklenmiş karşılık gelen bir ShaderInput veya ShaderParameter örneği yoktur.
Genellikle geliştirici kodu bir ShaderData örneği oluşturmaz. Gölgelendirici için veri, parametre ve girdileri içeren bir ShaderData örneği, Shader örneğinin data
özelliği olarak kullanılabilir.
İlgili API Öğeleri
Yöntem | Tanımlayan: | ||
---|---|---|---|
ShaderData(byteCode:ByteArray)
Bir ShaderData örneği oluşturur. | ShaderData | ||
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir. | Object | ||
Object sınıfının bir örneğinin parametre olarak belirtilen nesnenin prototip zincirinde olup olmadığını gösterir. | Object | ||
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir. | Object | ||
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar. | Object | ||
Bu nesnenin, yerel ayara özel kurallara göre biçimlendirilmiş dize temsilini döndürür. | Object | ||
Belirtilen nesnenin dize olarak temsil edilen halini döndürür. | Object | ||
Belirtilen nesnenin temel değerini döndürür. | Object |
ShaderData | () | Yapıcı |
public function ShaderData(byteCode:ByteArray)
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Bir ShaderData örneği oluşturur. Genel olarak, geliştirici kodu ShaderData yapıcısını doğrudan çağırmaz. Shader örneğinin veri, parametre veya girdilerini içeren bir ShaderData örneğine bu örneğin data
özelliği kullanılarak erişilebilir.
byteCode:ByteArray — Gölgelendiricinin bayt kodu.
|
İlgili API Öğeleri
data
özelliğinde numaralandırır.
Bu örneğin, uygulamanın çıktı diziniyle aynı dizinde "donothing.pbj" adında bir gölgelendirici bayt kodu dosyası bulunduğunu varsaydığını unutmayın.
// // Source code for the shader: // <languageVersion : 1.0;> kernel DoNothing < namespace: "Adobe::Example"; vendor: "Adobe examples"; version: 1; description: "A shader that does nothing, but does it well."; > { input image4 src; output pixel4 dst; parameter float2 size < description: "The size of the image to which the shader is applied"; minValue: float2(0.0, 0.0); maxValue: float2(100.0, 100.0); defaultValue: float2(50.0, 50.0); >; parameter float radius < description: "The radius of the effect"; minValue: float(0.0); maxValue: float(50.0); defaultValue: float(25.0); >; void evaluatePixel() { float2 one = (radius / radius) * (size / size); dst = sampleNearest(src, outCoord()); } } // // ActionScript source code: // package { import flash.display.Shader; import flash.display.Sprite; import flash.events.Event; import flash.net.URLLoader; import flash.net.URLLoaderDataFormat; import flash.net.URLRequest; public class ShaderDataExample extends Sprite { private var loader:URLLoader; public function ShaderDataExample() { loader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.BINARY; loader.addEventListener(Event.COMPLETE, loadCompleteHandler); loader.load(new URLRequest("donothing.pbj")); } private function loadCompleteHandler(event:Event):void { var shader:Shader = new Shader(); shader.byteCode = loader.data; for (var p:String in shader.data) { trace(p, ":", shader.data[p]); for (var d:String in shader.data[p]) { trace("\t", d, ":", shader.data[p][d]); } } } } }
Tue Jun 12 2018, 01:09 PM Z