agalVersion option in ShaderProgram constructor

This commit is contained in:
Yaski
2013-01-19 21:57:04 +06:00
parent 64e7463d00
commit c8830481cb

View File

@@ -7,6 +7,7 @@
* */ * */
package alternativa.engine3d.materials { package alternativa.engine3d.materials {
import alternativa.engine3d.alternativa3d; import alternativa.engine3d.alternativa3d;
import alternativa.engine3d.materials.compiler.Linker; import alternativa.engine3d.materials.compiler.Linker;
@@ -24,17 +25,19 @@ package alternativa.engine3d.materials {
public var vertexShader:Linker; public var vertexShader:Linker;
public var fragmentShader:Linker; public var fragmentShader:Linker;
public var agalVersion:uint;
public function ShaderProgram(vertexShader:Linker, fragmentShader:Linker) { public function ShaderProgram(vertexShader:Linker, fragmentShader:Linker, agalVersion:uint = 1) {
this.vertexShader = vertexShader; this.vertexShader = vertexShader;
this.fragmentShader = fragmentShader; this.fragmentShader = fragmentShader;
this.agalVersion = agalVersion;
} }
public function upload(context3D:Context3D):void { public function upload(context3D:Context3D):void {
if (program != null) program.dispose(); if (program != null) program.dispose();
if (vertexShader != null && fragmentShader != null) { if (vertexShader != null && fragmentShader != null) {
vertexShader.link(); vertexShader.link(agalVersion);
fragmentShader.link(); fragmentShader.link(agalVersion);
program = context3D.createProgram(); program = context3D.createProgram();
try { try {
program.upload(vertexShader.data, fragmentShader.data); program.upload(vertexShader.data, fragmentShader.data);