Skip to content
This repository was archived by the owner on Feb 19, 2019. It is now read-only.

Commit 740d713

Browse files
committed
Minor Shader/ShaderProgram and GLObject changes
1 parent e5692c3 commit 740d713

5 files changed

Lines changed: 17 additions & 9 deletions

File tree

src/main/java/me/zero/client/api/util/render/gl/GLObject.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public final boolean gen() {
5454
*
5555
* @return Whether or not the operation was a success
5656
*/
57-
public final boolean delete() {
57+
public boolean delete() {
5858
if (!isGen())
5959
return false;
6060

src/main/java/me/zero/client/api/util/render/gl/ShaderProgram.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public final class ShaderProgram extends GLObject {
5252
@Override
5353
protected final int nativeGen() {
5454
int id = adapter.createProgram();
55-
shaders.forEach(shader -> adapter.attachObject(id, shader.id()));
55+
shaders.forEach(shader -> adapter.attachShader(id, shader.id()));
5656

5757
try {
5858
adapter.linkProgram(id);
@@ -67,10 +67,18 @@ protected final int nativeGen() {
6767
return id;
6868
}
6969

70+
@Override
71+
public boolean delete() {
72+
shaders.forEach(shader -> {
73+
adapter.detachShader(this.id(), shader.id());
74+
shader.delete();
75+
});
76+
return super.delete();
77+
}
78+
7079
@Override
7180
protected final void nativeDelete() {
7281
adapter.deleteProgram(id());
73-
shaders.forEach(GLObject::delete);
7482
}
7583

7684
/**

src/main/java/me/zero/client/api/util/render/gl/shader/adapter/ARBShaderAdapter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,12 +78,12 @@ public void compileShader(int shader) {
7878
}
7979

8080
@Override
81-
public void attachObject(int program, int shader) {
81+
public void attachShader(int program, int shader) {
8282
glAttachObjectARB(program, shader);
8383
}
8484

8585
@Override
86-
public void detachObject(int program, int shader) {
86+
public void detachShader(int program, int shader) {
8787
glDetachObjectARB(program, shader);
8888
}
8989

src/main/java/me/zero/client/api/util/render/gl/shader/adapter/GL20ShaderAdapter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,12 +76,12 @@ public void compileShader(int shader) {
7676
}
7777

7878
@Override
79-
public void attachObject(int program, int shader) {
79+
public void attachShader(int program, int shader) {
8080
glAttachShader(program, shader);
8181
}
8282

8383
@Override
84-
public void detachObject(int program, int shader) {
84+
public void detachShader(int program, int shader) {
8585
glDetachShader(program, shader);
8686
}
8787

src/main/java/me/zero/client/api/util/render/gl/shader/adapter/ShaderAdapter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,15 +82,15 @@ public interface ShaderAdapter {
8282
* @param program The shader program id
8383
* @param shader The shader object id
8484
*/
85-
void attachObject(int program, int shader);
85+
void attachShader(int program, int shader);
8686

8787
/**
8888
* Detaches a shader object from a shader program
8989
*
9090
* @param program The shader program id
9191
* @param shader The shader object id
9292
*/
93-
void detachObject(int program, int shader);
93+
void detachShader(int program, int shader);
9494

9595
/**
9696
* Prepares the specified shader program for usage

0 commit comments

Comments
 (0)