Initial commit

This commit is contained in:
Synthasmagoria 2026-09-23 15:54:19 +02:00
commit dd58a721ec
8 changed files with 617 additions and 0 deletions

41
shdProjectileEffect.vsh Normal file
View file

@ -0,0 +1,41 @@
attribute vec3 in_Position;
attribute vec4 in_Colour;
attribute vec2 in_TextureCoord;
attribute vec3 in_Colour0;
attribute vec2 in_Colour1;
attribute float in_Colour2;
attribute vec3 in_Colour3;
attribute float in_Colour4;
attribute vec3 in_Colour5;
#define in_Offset in_Colour0
#define in_Scale in_Colour1
#define in_Angle in_Colour2
#define in_RotationDirection in_Colour3
#define in_Animation in_Colour4
#define in_Hsv in_Colour5
varying vec2 v_vTexcoord;
varying vec4 v_vColour;
varying vec3 v_vHsv;
mat4 rotation_matrix_3d(vec3 axis, float angle) {
float s = sin(angle);
float c = cos(angle);
float oc = 1.0 - c;
return mat4(
oc * axis.x * axis.x + c, oc * axis.x * axis.y - axis.z * s, oc * axis.z * axis.x + axis.y * s, 0.0,
oc * axis.x * axis.y + axis.z * s, oc * axis.y * axis.y + c, oc * axis.y * axis.z - axis.x * s, 0.0,
oc * axis.z * axis.x - axis.y * s, oc * axis.y * axis.z + axis.x * s, oc * axis.z * axis.z + c, 0.0,
0.0, 0.0, 0.0, 1.0);
}
void main() {
mat4 rotmat = rotation_matrix_3d(in_RotationDirection, in_Angle);
vec4 pos = vec4(in_Position.xy * in_Scale, in_Position.z, 1.0) * rotmat + vec4(in_Offset, 0.0);
gl_Position = gm_Matrices[MATRIX_WORLD_VIEW_PROJECTION] * pos;
v_vColour = in_Colour;
v_vTexcoord = in_TextureCoord + vec2(in_Animation, 0.0);
v_vHsv = in_Hsv;
}