@ZeroTown : I don't know if you can do such a thing easily.
If I have understand, you want to change the uvmapping of your model or the scissor of your texture. I don't know how to change the uvmapping with a 3D shader.
But I think you could do that with an alpha texture (as a mask), it's not a great method but it could work :
- use your diffuse texture as texture0
- use your 2nd diffuse texture as texture1 (the clipped image)
- use your alpha mask as texture2 (your alpha texture should be bigger (Im' not sur of that) than your diffuse texture)
- change the size/position your alpha texture with : uv1Varying = (uv * uvBounds0.xy*newsize + newpos) + uvBounds0.zw * newsize;
newpos : the position of your alpha texture
newsize : the size (your clipping surface)
I have attach a zip with a code test, I hope this will help you (I don't know if it's that example that your want)
@Haliop_New : For my next example, I will post a zip

There are 3 kind of Shaders :
- 2D shaders : to use with sprite
- 3D shaders : to use on 3D objects
- Fullscreen : to use with a renderImage
1) How to use a Sprite Shader :
You need a shader made for a sprite. A 3D shader or a fullscreen doesn't work with a sprite

.
+ Code SnippetLoadShader(1,"spriteshader.vs","spriteshader.ps")
LoadImage(1,"yourimage.png")
CreateSprite(1,1)
SetSpriteShader(1,1)
2) How to use a 3D shader (for 3d object) :
You need a shader that can be used on a 3D model.
+ Code SnippetLoadShader(1,"3Dshader.vs","3Dshader.ps")
LoadImage(1,"yourimage.png")
LoadObject(1,"yourobject.obj") // format 3D can be : .dae, .x, .obj, .blend....
SetObjectImage(1,1,0)
SetObjectShader(1,1)
2) How to use a Fullscreen shader (use it on renderImage) :
It's more complex. You have a full example named "Bloom" in your example files (AGK directory)
To simplify (it's very very simplified) :
- You have to load your fullscreen shader with LoadShader(1,"FullscreenShader.vs","FullscreenShader.ps")
- You have to create a renderImage()
- set the shader on the image
- render() and swap() your scene (don't use sync()).
For more information, please see the example named "bloom.agk" in the AppGameKit directory/shaders

.