This repository was archived by the owner on Feb 19, 2019. It is now read-only.
File tree Expand file tree Collapse file tree
src/main/java/me/zero/client/api/util/render/gl Expand file tree Collapse file tree Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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 /**
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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
You can’t perform that action at this time.
0 commit comments