Skip to content

Commit a4f542f

Browse files
authored
Merge pull request #5510 from sflanker/is-texture-shader
Fixed function isTextureShader.
2 parents 8de0e5d + 4c3e413 commit a4f542f

File tree

2 files changed

+49
-1
lines changed

2 files changed

+49
-1
lines changed

src/webgl/p5.Shader.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -502,7 +502,7 @@ p5.Shader.prototype.isNormalShader = function() {
502502
};
503503

504504
p5.Shader.prototype.isTextureShader = function() {
505-
return this.samplerIndex > 0;
505+
return this.samplers.length > 0;
506506
};
507507

508508
p5.Shader.prototype.isColorShader = function() {

test/unit/webgl/p5.Shader.js

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,5 +261,53 @@ suite('p5.Shader', function() {
261261
var curShader = myp5._renderer.userFillShader;
262262
assert.isTrue(curShader === null);
263263
});
264+
265+
test('isTextureShader returns true if there is a sampler', function() {
266+
var s = myp5._renderer._getLightShader();
267+
myp5.shader(s);
268+
assert.isTrue(s.isTextureShader());
269+
});
270+
271+
test('isTextureShader returns false if there is no sampler', function() {
272+
var s = myp5._renderer._getColorShader();
273+
myp5.shader(s);
274+
assert.isFalse(s.isTextureShader());
275+
});
276+
277+
test('isLightShader returns true if there are lighting uniforms', function() {
278+
var s = myp5._renderer._getLightShader();
279+
myp5.shader(s);
280+
assert.isTrue(s.isLightShader());
281+
});
282+
283+
test('isLightShader returns false if there are no lighting uniforms', function() {
284+
var s = myp5._renderer._getPointShader();
285+
myp5.shader(s);
286+
assert.isFalse(s.isLightShader());
287+
});
288+
289+
test('isNormalShader returns true if there is a normal attribute', function() {
290+
var s = myp5._renderer._getNormalShader();
291+
myp5.shader(s);
292+
assert.isTrue(s.isNormalShader());
293+
});
294+
295+
test('isNormalShader returns false if there is no normal attribute', function() {
296+
var s = myp5._renderer._getPointShader();
297+
myp5.shader(s);
298+
assert.isFalse(s.isNormalShader());
299+
});
300+
301+
test('isStrokeShader returns true if there is a stroke weight uniform', function() {
302+
var s = myp5._renderer._getLineShader();
303+
myp5.shader(s);
304+
assert.isTrue(s.isStrokeShader());
305+
});
306+
307+
test('isStrokeShader returns false if there is no stroke weight uniform', function() {
308+
var s = myp5._renderer._getLightShader();
309+
myp5.shader(s);
310+
assert.isFalse(s.isStrokeShader());
311+
});
264312
});
265313
});

0 commit comments

Comments
 (0)