// Path: src/main/java/yk/senjin/shaders/uniforms/Sampler2D.java
// public class Sampler2D extends UniformVariable {
//     public SomeTexture value;
// 
//     public Sampler2D() {
//         super(null);
//     }
// 
//     public void set(SomeTexture texture) {
//         this.value = texture;
//     }
// 
//     @Override
//     public void setValue(Object o) {
//         value = (SomeTexture) o;
//     }
// 
//     @Override
//     public void plug() {
//         if (!value.enabled) throw new RuntimeException("texture not enabled for " + name);
//         GL20.glUniform1i(index, value.textureSlot);
//     }
// }


import yk.jcommon.fastgeom.*;
import yk.senjin.shaders.uniforms.Sampler2D;
import java.awt.image.BufferedImage;
package yk.senjin.shaders.gshader;



/**
 * Created with IntelliJ IDEA.
 * User: yuri
 * Date: 11/6/14
 * Time: 12:37 PM
 */
abstract public class ShaderParent {
    @Deprecated
    public Matrix4 gl_ModelViewMatrix;
    @Deprecated
    public Matrix4 gl_ModelViewProjectionMatrix;
    @Deprecated
    public Matrix3 gl_NormalMatrix;

// Path: src/main/java/yk/senjin/shaders/uniforms/Sampler2D.java
// public class Sampler2D extends UniformVariable {
//     public SomeTexture value;
// 
//     public Sampler2D() {
//         super(null);
//     }
// 
//     public void set(SomeTexture texture) {
//         this.value = texture;
//     }
// 
//     @Override
//     public void setValue(Object o) {
//         value = (SomeTexture) o;
//     }
// 
//     @Override
//     public void plug() {
//         if (!value.enabled) throw new RuntimeException("texture not enabled for " + name);
//         GL20.glUniform1i(index, value.textureSlot);
//     }
// }


// Path: src/main/java/yk/senjin/shaders/gshader/ShaderParent.java
import yk.jcommon.fastgeom.*;
import yk.senjin.shaders.uniforms.Sampler2D;
import java.awt.image.BufferedImage;

package yk.senjin.shaders.gshader;



/**
 * Created with IntelliJ IDEA.
 * User: yuri
 * Date: 11/6/14
 * Time: 12:37 PM
 */
abstract public class ShaderParent {
    @Deprecated
    public Matrix4 gl_ModelViewMatrix;
    @Deprecated
    public Matrix4 gl_ModelViewProjectionMatrix;
    @Deprecated
    public Matrix3 gl_NormalMatrix;

    public static Vec4f texture2D(Sampler2D p, Vec2f uv, int zoom) {