/* <copyright> This file contains proprietary software owned by Motorola Mobility, Inc.<br/> No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/> (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. </copyright> */ /////////////////////////////////////////////////////////////////////// // Class GLMaterial // GL representation of a material. /////////////////////////////////////////////////////////////////////// function QuiltMaterial01() { // initialize the inherited members this.inheritedFrom = GLMaterial; this.inheritedFrom(); /////////////////////////////////////////////////////////////////////// // Instance variables /////////////////////////////////////////////////////////////////////// this._name = "QuiltMaterial 1"; this._shaderName = "quilt_1"; /////////////////////////////////////////////////////////////////////// // Property Accessors /////////////////////////////////////////////////////////////////////// this.getShaderName = function() { return this._shaderName; } /////////////////////////////////////////////////////////////////////// // Methods /////////////////////////////////////////////////////////////////////// this.dup = function() { return new QuiltMaterial01(); } this.init = function() { // set up the material node this._materialNode = createMaterialNode("quiltMaterial01") this._materialNode.setDiffuseTexture("quilt01"); this._materialNode.setSpecTexture("quilt01_E"); this._materialNode.setNormalTexture("quilt01_N"); // set up the shader this._shader = new jshader(); this._shader.def = quiltShaderDef; this._shader.init(); this._materialNode.setShader(this._shader); } } /////////////////////////////////////////////////////////////////////// // Class GLMaterial // GL representation of a material. /////////////////////////////////////////////////////////////////////// function QuiltMaterial02() { // initialize the inherited members this.inheritedFrom = GLMaterial; this.inheritedFrom(); /////////////////////////////////////////////////////////////////////// // Instance variables /////////////////////////////////////////////////////////////////////// this._name = "QuiltMaterial 2"; this._shaderName = "quilt_2"; /////////////////////////////////////////////////////////////////////// // Property Accessors /////////////////////////////////////////////////////////////////////// this.getShaderName = function() { return this._shaderName; } /////////////////////////////////////////////////////////////////////// // Methods /////////////////////////////////////////////////////////////////////// this.dup = function() { return new QuiltMaterial02(); } this.init = function() { // set up the material node this._materialNode = createMaterialNode("quiltMaterial02") this._materialNode.setDiffuseTexture("quilt02"); this._materialNode.setSpecTexture("quilt02_E"); this._materialNode.setNormalTexture("quilt02_N"); // set up the shader this._shader = new jshader(); this._shader.def = quilt2ShaderDef; this._shader.init(); this._materialNode.setShader(this._shader); } } /////////////////////////////////////////////////////////////////////////////////////// // RDGE shaders /* * The main shader for the scene */ var quiltShaderDef = {'shaders': { // this shader is being referenced by file 'defaultVShader':"assets/shaders/quilt_vshader.glsl", 'defaultFShader':"assets/shaders/quilt_fshader.glsl", }, 'techniques': { 'default':[{ 'vshader' : 'defaultVShader', 'fshader' : 'defaultFShader', // attributes 'attributes' : { 'vert' : { 'type' : 'vec3' }, 'normal' : { 'type' : 'vec3' }, 'texcoord' : { 'type' : 'vec2' }, }, // parameters 'params' : { //'u_light0Diff' : { 'type' : 'vec4' }, //'u_matDiffuse' : { 'type' : 'vec4' } }, // render states 'states' : { 'depthEnable' : true, 'offset':[1.0, 0.1], 'blendEnabled' : true, 'srcBlend' : 'SRC_ALPHA', 'dstcBlend' : 'ONE_MINUS_SRC_ALPHA' }, }] }}; var quilt2ShaderDef = {'shaders': { // this shader is being referenced by file 'defaultVShader':"assets/shaders/quilt_vshader.glsl", 'defaultFShader':"assets/shaders/quilt2_fshader.glsl", }, 'techniques': { 'default':[{ 'vshader' : 'defaultVShader', 'fshader' : 'defaultFShader', // attributes 'attributes' : { 'vert' : { 'type' : 'vec3' }, 'normal' : { 'type' : 'vec3' }, 'texcoord' : { 'type' : 'vec2' }, }, // parameters 'params' : { //'u_light0Diff' : { 'type' : 'vec4' }, //'u_matDiffuse' : { 'type' : 'vec4' } }, // render states 'states' : { 'depthEnable' : true, 'offset':[1.0, 0.1], 'blendEnabled' : true, 'srcBlend' : 'SRC_ALPHA', 'dstcBlend' : 'ONE_MINUS_SRC_ALPHA' }, }] }};