diff options
Diffstat (limited to 'js/lib/rdge/materials/cloud-material.js')
-rw-r--r-- | js/lib/rdge/materials/cloud-material.js | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/js/lib/rdge/materials/cloud-material.js b/js/lib/rdge/materials/cloud-material.js index 4e2a1a7c..46731fbd 100644 --- a/js/lib/rdge/materials/cloud-material.js +++ b/js/lib/rdge/materials/cloud-material.js | |||
@@ -1,24 +1,25 @@ | |||
1 | /* <copyright> | 1 | /* <copyright> |
2 | Copyright (c) 2012, Motorola Mobility, Inc | 2 | Copyright (c) 2012, Motorola Mobility LLC. |
3 | All Rights Reserved. | 3 | All Rights Reserved. |
4 | BSD License. | ||
5 | 4 | ||
6 | Redistribution and use in source and binary forms, with or without | 5 | Redistribution and use in source and binary forms, with or without |
7 | modification, are permitted provided that the following conditions are met: | 6 | modification, are permitted provided that the following conditions are met: |
8 | 7 | ||
9 | - Redistributions of source code must retain the above copyright notice, | 8 | * Redistributions of source code must retain the above copyright notice, |
10 | this list of conditions and the following disclaimer. | 9 | this list of conditions and the following disclaimer. |
11 | - Redistributions in binary form must reproduce the above copyright | 10 | |
12 | notice, this list of conditions and the following disclaimer in the | 11 | * Redistributions in binary form must reproduce the above copyright notice, |
13 | documentation and/or other materials provided with the distribution. | 12 | this list of conditions and the following disclaimer in the documentation |
14 | - Neither the name of Motorola Mobility nor the names of its contributors | 13 | and/or other materials provided with the distribution. |
15 | may be used to endorse or promote products derived from this software | 14 | |
16 | without specific prior written permission. | 15 | * Neither the name of Motorola Mobility LLC nor the names of its |
16 | contributors may be used to endorse or promote products derived from this | ||
17 | software without specific prior written permission. | ||
17 | 18 | ||
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 20 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | 21 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
21 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | 22 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
22 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | 23 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
23 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | 24 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
24 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | 25 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
@@ -225,7 +226,7 @@ var CloudMaterial = function CloudMaterial() | |||
225 | } | 226 | } |
226 | 227 | ||
227 | var technique, renderer, tex; | 228 | var technique, renderer, tex; |
228 | 229 | ||
229 | // update the cloud map material | 230 | // update the cloud map material |
230 | var material = this._materialNode; | 231 | var material = this._materialNode; |
231 | if (material) | 232 | if (material) |
@@ -261,7 +262,7 @@ var CloudMaterial = function CloudMaterial() | |||
261 | { | 262 | { |
262 | // save the current RDGE context so we can reset it later | 263 | // save the current RDGE context so we can reset it later |
263 | var saveContext = RDGE.globals.engine.getContext(); | 264 | var saveContext = RDGE.globals.engine.getContext(); |
264 | this.getWorld().stop(); | 265 | this.getWorld().stop(); |
265 | 266 | ||
266 | // build a world to do the rendering | 267 | // build a world to do the rendering |
267 | if (!GLWorld) GLWorld = require("js/lib/drawing/world").World; | 268 | if (!GLWorld) GLWorld = require("js/lib/drawing/world").World; |
@@ -349,7 +350,7 @@ var CloudMaterial = function CloudMaterial() | |||
349 | var hWidth = -z*(r-l)/(2.0*zn)*xFillNDC, | 350 | var hWidth = -z*(r-l)/(2.0*zn)*xFillNDC, |
350 | hHeight = -z*(t-b)/(2.0*zn)*yFillNDC; | 351 | hHeight = -z*(t-b)/(2.0*zn)*yFillNDC; |
351 | 352 | ||
352 | 353 | ||
353 | //this.createFill([x,y], 2*xFill, 2*yFill, tlRadius, blRadius, brRadius, trRadius, fillMaterial); | 354 | //this.createFill([x,y], 2*xFill, 2*yFill, tlRadius, blRadius, brRadius, trRadius, fillMaterial); |
354 | var ctr = [x,y], width = 2*hWidth, height = 2*hHeight; | 355 | var ctr = [x,y], width = 2*hWidth, height = 2*hHeight; |
355 | var cloudSize = width > height ? 0.25*width : 0.25*height; | 356 | var cloudSize = width > height ? 0.25*width : 0.25*height; |
@@ -377,12 +378,12 @@ var CloudMaterial = function CloudMaterial() | |||
377 | this._adjustedZMin = zMin; | 378 | this._adjustedZMin = zMin; |
378 | this._adjustedZMax = zMax; | 379 | this._adjustedZMax = zMax; |
379 | 380 | ||
380 | 381 | ||
381 | // build the polygons | 382 | // build the polygons |
382 | var verts = [], | 383 | var verts = [], |
383 | normals = [ [0,0,1], [0,0,1], [0,0,1], [0,0,1] ], | 384 | normals = [ [0,0,1], [0,0,1], [0,0,1], [0,0,1] ], |
384 | uvs = [ [0,0], [1,0], [1,1], [0,1] ]; | 385 | uvs = [ [0,0], [1,0], [1,1], [0,1] ]; |
385 | 386 | ||
386 | for ( i = 0; i < 20; i++ ) | 387 | for ( i = 0; i < 20; i++ ) |
387 | { | 388 | { |
388 | // var x = hWidth*2*(Math.random() - 0.5), | 389 | // var x = hWidth*2*(Math.random() - 0.5), |
@@ -496,17 +497,17 @@ var cloudMaterialDef = | |||
496 | ] | 497 | ] |
497 | } | 498 | } |
498 | }; | 499 | }; |
499 | 500 | ||
500 | // the cloud map material def is used to map the cloud image onto | 501 | // the cloud map material def is used to map the cloud image onto |
501 | // the destination geometry | 502 | // the destination geometry |
502 | var cloudMapMaterialDef = | 503 | var cloudMapMaterialDef = |
503 | {'shaders': | 504 | {'shaders': |
504 | { | 505 | { |
505 | 'defaultVShader':"assets/shaders/Basic.vert.glsl", | 506 | 'defaultVShader':"assets/shaders/Basic.vert.glsl", |
506 | 'defaultFShader':"assets/shaders/BasicTex.frag.glsl" | 507 | 'defaultFShader':"assets/shaders/BasicTex.frag.glsl" |
507 | }, | 508 | }, |
508 | 'techniques': | 509 | 'techniques': |
509 | { | 510 | { |
510 | 'default': | 511 | 'default': |
511 | [ | 512 | [ |
512 | { | 513 | { |
@@ -520,13 +521,13 @@ var cloudMapMaterialDef = | |||
520 | 'texcoord' : { 'type' : 'vec2' } | 521 | 'texcoord' : { 'type' : 'vec2' } |
521 | }, | 522 | }, |
522 | // parameters | 523 | // parameters |
523 | 'params' : | 524 | 'params' : |
524 | { | 525 | { |
525 | 'u_tex0' : { 'type' : 'tex2d' }, | 526 | 'u_tex0' : { 'type' : 'tex2d' }, |
526 | }, | 527 | }, |
527 | 528 | ||
528 | // render states | 529 | // render states |
529 | 'states' : | 530 | 'states' : |
530 | { | 531 | { |
531 | 'depthEnable' : true, | 532 | 'depthEnable' : true, |
532 | 'offset':[1.0, 0.1] | 533 | 'offset':[1.0, 0.1] |