Skip to content

Commit

Permalink
Merge branch 'uniform-madness'
Browse files Browse the repository at this point in the history
  • Loading branch information
Pyrofab committed May 19, 2019
2 parents adb8a28 + d3c649f commit cf2b77a
Show file tree
Hide file tree
Showing 17 changed files with 500 additions and 7 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ loader_version=0.4.6+build.141
fabric_version=0.2.7+build.127
modmenu_version=1.2.1-49
# Mod Properties
mod_version = 1.2.1
mod_version = 1.3.0
maven_group = io.github.ladysnake
archives_base_name = satin

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package ladysnake.satin.api.experimental.managed;

import net.minecraft.client.gl.GlFramebuffer;
import net.minecraft.client.texture.Texture;
import org.apiguardian.api.API;

import static org.apiguardian.api.API.Status.EXPERIMENTAL;

public interface SamplerUniform {
/**
* Sets the value of a sampler uniform declared in json
*
* @param texture a texture object
*/
@API(status = EXPERIMENTAL, since = "1.3.0")
void set(Texture texture);

/**
* Sets the value of a sampler uniform declared in json
*
* @param textureFbo a framebuffer which main texture will be used
*/
@API(status = EXPERIMENTAL, since = "1.3.0")
void set(GlFramebuffer textureFbo);

/**
* Sets the value of a sampler uniform declared in json
*
* @param textureName an opengl texture name
*/
@API(status = EXPERIMENTAL, since = "1.3.0")
void set(int textureName);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package ladysnake.satin.api.experimental.managed;

import org.apiguardian.api.API;

import static org.apiguardian.api.API.Status.EXPERIMENTAL;

public interface Uniform1f {

/**
* Sets the value of a uniform
*
* @param value float value
*/
@API(status = EXPERIMENTAL, since = "1.3.0")
void set(float value);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package ladysnake.satin.api.experimental.managed;

import org.apiguardian.api.API;

import static org.apiguardian.api.API.Status.EXPERIMENTAL;

public interface Uniform1i {
/**
* Sets the value of this uniform
*
* @param value int value
*/
@API(status = EXPERIMENTAL, since = "1.3.0")
void set(int value);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package ladysnake.satin.api.experimental.managed;

import org.apiguardian.api.API;

import static org.apiguardian.api.API.Status.EXPERIMENTAL;

public interface Uniform2f {

/**
* Sets the value of a uniform declared in json
*
* @param value0 float value
* @param value1 float value
*/
@API(status = EXPERIMENTAL, since = "1.3.0")
void set(float value0, float value1);

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package ladysnake.satin.api.experimental.managed;

import org.apiguardian.api.API;

import static org.apiguardian.api.API.Status.EXPERIMENTAL;

public interface Uniform2i {
/**
* Sets the value of a uniform
*
* @param value0 int value
* @param value1 int value
*/
@API(status = EXPERIMENTAL, since = "1.3.0")
void set(int value0, int value1);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package ladysnake.satin.api.experimental.managed;

import org.apiguardian.api.API;

import static org.apiguardian.api.API.Status.EXPERIMENTAL;

public interface Uniform3f {

/**
* Sets the value of a uniform declared in json
*
* @param value0 float value
* @param value1 float value
* @param value2 float value
*/
@API(status = EXPERIMENTAL, since = "1.3.0")
void set(float value0, float value1, float value2);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package ladysnake.satin.api.experimental.managed;

import org.apiguardian.api.API;

import static org.apiguardian.api.API.Status.EXPERIMENTAL;

public interface Uniform3i {
/**
* Sets the value of a uniform
*
* @param value0 int value
* @param value1 int value
* @param value2 int value
*/
@API(status = EXPERIMENTAL, since = "1.3.0")
void set(int value0, int value1, int value2);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package ladysnake.satin.api.experimental.managed;

import org.apiguardian.api.API;

import static org.apiguardian.api.API.Status.EXPERIMENTAL;

public interface Uniform4f {

/**
* Sets the value of a uniform declared in json
*
* @param value0 float value
* @param value1 float value
* @param value2 float value
* @param value3 float value
*/
@API(status = EXPERIMENTAL, since = "1.3.0")
void set(float value0, float value1, float value2, float value3);

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package ladysnake.satin.api.experimental.managed;

import org.apiguardian.api.API;

import static org.apiguardian.api.API.Status.EXPERIMENTAL;

public interface Uniform4i {
/**
* Sets the value of a uniform declared in json
*
* @param value0 int value
* @param value1 int value
* @param value2 int value
* @param value3 int value
*/
@API(status = EXPERIMENTAL, since = "1.3.0")
void set(int value0, int value1, int value2, int value3);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
package ladysnake.satin.api.experimental.managed;

import org.apiguardian.api.API;

import static org.apiguardian.api.API.Status.EXPERIMENTAL;

public interface UniformFinder {
/**
* Finds a uniform declared in json
*
* @param uniformName the name of the uniform field in the shader source file
*/
@API(status = EXPERIMENTAL, since = "1.3.0")
Uniform1i findUniform1i(String uniformName);

/**
* Finds a uniform declared in json
*
* @param uniformName the name of the uniform field in the shader source file
*/
@API(status = EXPERIMENTAL, since = "1.3.0")
Uniform2i findUniform2i(String uniformName);

/**
* Finds a uniform declared in json
*
* @param uniformName the name of the uniform field in the shader source file
*/
@API(status = EXPERIMENTAL, since = "1.3.0")
Uniform3i findUniform3i(String uniformName);

/**
* Finds a uniform declared in json
*
* @param uniformName the name of the uniform field in the shader source file
*/
@API(status = EXPERIMENTAL, since = "1.3.0")
Uniform4i findUniform4i(String uniformName);

/**
* Finds a uniform declared in json
*
* @param uniformName the name of the uniform field in the shader source file
*/
@API(status = EXPERIMENTAL, since = "1.3.0")
Uniform1f findUniform1f(String uniformName);

/**
* Finds a uniform declared in json
*
* @param uniformName the name of the uniform field in the shader source file
*/
@API(status = EXPERIMENTAL, since = "1.3.0")
Uniform2f findUniform2f(String uniformName);

/**
* Finds a uniform declared in json
*
* @param uniformName the name of the uniform field in the shader source file
*/
@API(status = EXPERIMENTAL, since = "1.3.0")
Uniform3f findUniform3f(String uniformName);

/**
* Finds a uniform declared in json
*
* @param uniformName the name of the uniform field in the shader source file
*/
@API(status = EXPERIMENTAL, since = "1.3.0")
Uniform4f findUniform4f(String uniformName);

/**
* Finds a uniform declared in json
*
* @param uniformName the name of the uniform field in the shader source file
*/
@API(status = EXPERIMENTAL, since = "1.3.0")
UniformMat4 findUniformMat4(String uniformName);

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package ladysnake.satin.api.experimental.managed;

import net.minecraft.client.util.math.Matrix4f;
import org.apiguardian.api.API;

import static org.apiguardian.api.API.Status.EXPERIMENTAL;

public interface UniformMat4 {

/**
* Sets the value of a 4x4 matrix uniform
*
* @param value a matrix
*/
@API(status = EXPERIMENTAL, since = "1.3.0")
void set(Matrix4f value);

}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package ladysnake.satin.api.managed;

import ladysnake.satin.api.experimental.managed.UniformFinder;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gl.GlFramebuffer;
import net.minecraft.client.gl.ShaderEffect;
Expand All @@ -26,7 +27,7 @@
* @see ShaderEffectManager
* @since 1.0.0
*/
public interface ManagedShaderEffect {
public interface ManagedShaderEffect extends UniformFinder {
/**
* Returns this object's managed {@link ShaderEffect}, creating and initializing it if it doesn't exist.
* <p>
Expand Down
Loading

0 comments on commit cf2b77a

Please sign in to comment.