Skip to content

Commit d5f48d9

Browse files
committed
set buffer limits when copying vector and matrix uniforms
1 parent cd9d985 commit d5f48d9

File tree

1 file changed

+22
-0
lines changed
  • java/libraries/lwjgl/src/processing/lwjgl

1 file changed

+22
-0
lines changed

java/libraries/lwjgl/src/processing/lwjgl/PGL.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1409,60 +1409,82 @@ public void uniform4f(int loc, float value0, float value1, float value2,
14091409

14101410

14111411
public void uniform1iv(int loc, int count, IntBuffer v) {
1412+
v.limit(count);
14121413
GL20.glUniform1(loc, v);
1414+
v.clear();
14131415
}
14141416

14151417

14161418
public void uniform2iv(int loc, int count, IntBuffer v) {
1419+
v.limit(2 * count);
14171420
GL20.glUniform2(loc, v);
1421+
v.clear();
14181422
}
14191423

14201424

14211425
public void uniform3iv(int loc, int count, IntBuffer v) {
1426+
v.limit(3 * count);
14221427
GL20.glUniform3(loc, v);
1428+
v.clear();
14231429
}
14241430

14251431

14261432
public void uniform4iv(int loc, int count, IntBuffer v) {
1433+
v.limit(4 * count);
14271434
GL20.glUniform4(loc, v);
1435+
v.clear();
14281436
}
14291437

14301438

14311439
public void uniform1fv(int loc, int count, FloatBuffer v) {
1440+
v.limit(count);
14321441
GL20.glUniform1(loc, v);
1442+
v.clear();
14331443
}
14341444

14351445

14361446
public void uniform2fv(int loc, int count, FloatBuffer v) {
1447+
v.limit(2 * count);
14371448
GL20.glUniform2(loc, v);
1449+
v.clear();
14381450
}
14391451

14401452

14411453
public void uniform3fv(int loc, int count, FloatBuffer v) {
1454+
v.limit(3 * count);
14421455
GL20.glUniform3(loc, v);
1456+
v.clear();
14431457
}
14441458

14451459

14461460
public void uniform4fv(int loc, int count, FloatBuffer v) {
1461+
v.limit(4 * count);
14471462
GL20.glUniform4(loc, v);
1463+
v.clear();
14481464
}
14491465

14501466

14511467
public void uniformMatrix2fv(int loc, int count, boolean transpose,
14521468
FloatBuffer mat) {
1469+
mat.limit(4);
14531470
GL20.glUniformMatrix2(loc, transpose, mat);
1471+
mat.clear();
14541472
}
14551473

14561474

14571475
public void uniformMatrix3fv(int loc, int count, boolean transpose,
14581476
FloatBuffer mat) {
1477+
mat.limit(9);
14591478
GL20.glUniformMatrix3(loc, transpose, mat);
1479+
mat.clear();
14601480
}
14611481

14621482

14631483
public void uniformMatrix4fv(int loc, int count, boolean transpose,
14641484
FloatBuffer mat) {
1485+
mat.limit(16);
14651486
GL20.glUniformMatrix4(loc, transpose, mat);
1487+
mat.clear();
14661488
}
14671489

14681490

0 commit comments

Comments
 (0)