Skip to content
This repository was archived by the owner on Nov 7, 2023. It is now read-only.

Commit 9b00439

Browse files
authored
Merge pull request #101 from OpenGeoscience/version-0.3.9
Version 0.3.9.
2 parents 8bf4c37 + 0ae1ff1 commit 9b00439

File tree

3 files changed

+39
-42
lines changed

3 files changed

+39
-42
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "vgl",
33
"description": "VTK for the Web.",
4-
"version": "0.3.8",
4+
"version": "0.3.9",
55
"license": "Apache-2.0",
66
"repository": {
77
"type": "git",

vgl.js

Lines changed: 35 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ if (!Math.log2) {
104104
};
105105
}
106106

107-
vgl.version = '0.3.8';
107+
vgl.version = '0.3.9';
108108

109109
//////////////////////////////////////////////////////////////////////////////
110110
/**
@@ -8836,7 +8836,7 @@ vgl.uniform = function (type, name) {
88368836
'use strict';
88378837

88388838
if (!(this instanceof vgl.uniform)) {
8839-
return new vgl.uniform();
8839+
return new vgl.uniform(type, name);
88408840
}
88418841

88428842
this.getTypeNumberOfComponents = function (type) {
@@ -8919,25 +8919,9 @@ vgl.uniform = function (type, name) {
89198919
*/
89208920
/////////////////////////////////////////////////////////////////////////////
89218921
this.set = function (value) {
8922-
var i = 0;
8923-
if (m_dataArray.length === 16) {
8924-
for (i = 0; i < 16; i += 1) {
8925-
m_dataArray[i] = value[i];
8926-
}
8927-
} else if (m_dataArray.length === 9) {
8928-
for (i = 0; i < 9; i += 1) {
8929-
m_dataArray[i] = value[i];
8930-
}
8931-
} else if (m_dataArray.length === 4) {
8932-
for (i = 0; i < 4; i += 1) {
8933-
m_dataArray[i] = value[i];
8934-
}
8935-
} else if (m_dataArray.length === 3) {
8936-
for (i = 0; i < 3; i += 1) {
8937-
m_dataArray[i] = value[i];
8938-
}
8939-
} else if (m_dataArray.length === 2) {
8940-
for (i = 0; i < 2; i += 1) {
8922+
var i = 0, lendata = m_dataArray.length;
8923+
if (lendata !== 1) {
8924+
for (i = 0; i < lendata; i += 1) {
89418925
m_dataArray[i] = value[i];
89428926
}
89438927
} else {
@@ -8953,10 +8937,6 @@ vgl.uniform = function (type, name) {
89538937
*/
89548938
/////////////////////////////////////////////////////////////////////////////
89558939
this.callGL = function (renderState, location) {
8956-
if (this.m_numberElements < 1) {
8957-
return;
8958-
}
8959-
89608940
switch (m_type) {
89618941
case vgl.GL.BOOL:
89628942
case vgl.GL.INT:
@@ -8965,12 +8945,24 @@ vgl.uniform = function (type, name) {
89658945
case vgl.GL.FLOAT:
89668946
renderState.m_context.uniform1fv(location, m_dataArray);
89678947
break;
8948+
case vgl.GL.BOOL_VEC2:
8949+
case vgl.GL.INT_VEC2:
8950+
renderState.m_context.uniform2iv(location, m_dataArray);
8951+
break;
89688952
case vgl.GL.FLOAT_VEC2:
89698953
renderState.m_context.uniform2fv(location, m_dataArray);
89708954
break;
8955+
case vgl.GL.BOOL_VEC3:
8956+
case vgl.GL.INT_VEC3:
8957+
renderState.m_context.uniform3iv(location, m_dataArray);
8958+
break;
89718959
case vgl.GL.FLOAT_VEC3:
89728960
renderState.m_context.uniform3fv(location, m_dataArray);
89738961
break;
8962+
case vgl.GL.BOOL_VEC4:
8963+
case vgl.GL.INT_VEC4:
8964+
renderState.m_context.uniform4iv(location, m_dataArray);
8965+
break;
89748966
case vgl.GL.FLOAT_VEC4:
89758967
renderState.m_context.uniform4fv(location, m_dataArray);
89768968
break;
@@ -8996,8 +8988,8 @@ vgl.uniform = function (type, name) {
89968988
*/
89978989
/////////////////////////////////////////////////////////////////////////////
89988990
this.update = function (renderState, program) {
8999-
renderState = renderState; /* unused parameter */
9000-
program = program; /* unused parameter */
8991+
void renderState; /* unused parameter */
8992+
void program; /* unused parameter */
90018993
// Should be implemented by the derived class
90028994
};
90038995

@@ -9019,7 +9011,7 @@ vgl.modelViewUniform = function (name) {
90199011
return new vgl.modelViewUniform(name);
90209012
}
90219013

9022-
if (name.length === 0) {
9014+
if (!name) {
90239015
name = 'modelViewMatrix';
90249016
}
90259017

@@ -9036,7 +9028,7 @@ vgl.modelViewUniform = function (name) {
90369028
*/
90379029
/////////////////////////////////////////////////////////////////////////////
90389030
this.update = function (renderState, program) {
9039-
program = program; /* unused parameter */
9031+
void program; /* unused parameter */
90409032
this.set(renderState.m_modelViewMatrix);
90419033
};
90429034

@@ -9061,7 +9053,7 @@ vgl.modelViewOriginUniform = function (name, origin) {
90619053
return new vgl.modelViewOriginUniform(name, origin);
90629054
}
90639055

9064-
if (name.length === 0) {
9056+
if (!name) {
90659057
name = 'modelViewMatrix';
90669058
}
90679059
origin = origin || [0, 0, 0];
@@ -9094,18 +9086,23 @@ vgl.modelViewOriginUniform = function (name, origin) {
90949086
*/
90959087
/////////////////////////////////////////////////////////////////////////////
90969088
this.update = function (renderState, program) {
9097-
program = program; /* unused parameter */
9098-
var view = mat4.create();
9099-
mat4.translate(view, renderState.m_modelViewMatrix, m_origin);
9089+
void program; /* unused parameter */
9090+
var view = renderState.m_modelViewMatrix;
91009091
if (renderState.m_modelViewAlignment) {
9092+
/* adjust alignment before origin. Otherwise, a changing origin can
9093+
* affect the rounding choice and result in a 1 pixe jitter. */
91019094
var align = renderState.m_modelViewAlignment;
9095+
/* Don't modify the orignal matrix. If we are in an environment where
9096+
* you can't slice an Float32Array, switch to a regular array */
9097+
view = view.slice ? view.slice() : Array.prototype.slice.call(view);
91029098
/* view[12] and view[13] are the x and y offsets. align.round is the
91039099
* units-per-pixel, and align.dx and .dy are either 0 or half the size of
91049100
* a unit-per-pixel. The alignment guarantees that the texels are
91059101
* aligned with screen pixels. */
91069102
view[12] = Math.round(view[12] / align.roundx) * align.roundx + align.dx;
91079103
view[13] = Math.round(view[13] / align.roundy) * align.roundy + align.dy;
91089104
}
9105+
view = mat4.translate(mat4.create(), view, m_origin);
91099106
this.set(view);
91109107
};
91119108

@@ -9129,7 +9126,7 @@ vgl.projectionUniform = function (name) {
91299126
return new vgl.projectionUniform(name);
91309127
}
91319128

9132-
if (name.length === 0) {
9129+
if (!name) {
91339130
name = 'projectionMatrix';
91349131
}
91359132

@@ -9146,7 +9143,7 @@ vgl.projectionUniform = function (name) {
91469143
*/
91479144
/////////////////////////////////////////////////////////////////////////////
91489145
this.update = function (renderState, program) {
9149-
program = program; /* unused parameter */
9146+
void program; /* unused parameter */
91509147
this.set(renderState.m_projectionMatrix);
91519148
};
91529149

@@ -9171,7 +9168,7 @@ vgl.floatUniform = function (name, value) {
91719168
return new vgl.floatUniform(name, value);
91729169
}
91739170

9174-
if (name.length === 0) {
9171+
if (!name) {
91759172
name = 'floatUniform';
91769173
}
91779174

@@ -9199,7 +9196,7 @@ vgl.normalMatrixUniform = function (name) {
91999196
return new vgl.normalMatrixUniform(name);
92009197
}
92019198

9202-
if (name.length === 0) {
9199+
if (!name) {
92039200
name = 'normalMatrix';
92049201
}
92059202

@@ -9216,7 +9213,7 @@ vgl.normalMatrixUniform = function (name) {
92169213
*/
92179214
/////////////////////////////////////////////////////////////////////////////
92189215
this.update = function (renderState, program) {
9219-
program = program; /* unused parameter */
9216+
void program; /* unused parameter */
92209217
this.set(renderState.m_normalMatrix);
92219218
};
92229219

0 commit comments

Comments
 (0)