sine wave works now

This commit is contained in:
2026-01-21 20:17:54 +13:00
parent a2faa1955f
commit eb511a1f79
22 changed files with 2401 additions and 563 deletions

View File

@@ -12,31 +12,81 @@
#include <vector>
//random shit for convenience
// fragcolour = vec4(colour.xyz, colour.w*pow(10, -(position.x*position.y)));
#define VERTEXSHADER R"(#version 330 core
in vec2 position;
in vec4 colour;
out vec4 fragcolour;
void main(){
gl_Position = vec4(position, 1, 1);
fragcolour = colour;
}
in vec2 position;
in vec4 colour;
out vec4 fragcolour;
void main()
{
gl_Position = vec4(position, 1, 1);
fragcolour = colour;
if(position.x<0){
fragcolour.a = position.x+1;
}
else{
fragcolour.a = 1-position.x;
}
}
)"
#define FRAGSHADER R"(#version 330 core
in vec4 fragcolour;
void main(){
gl_FragColour = fragcolour;
}
)";
in vec4 fragcolour;
void main()
{
gl_FragColor = fragcolour;
}
)"
#define VERTEXSHADERBACKGROUND R"(#version 330 core
layout (location = 0) in vec3 aPos;
layout (location = 1) in vec3 aColor;
layout (location = 2) in vec2 aTexCoord;
out vec3 ourColor;
out vec2 TexCoord;
void main()
{
gl_Position = vec4(aPos, 1.0);
ourColor = aColor;
TexCoord = aTexCoord;
}
)"
#define FRAGSHADERBACKGROUND R"(#version 330 core
out vec4 FragColor;
in vec3 ourColor;
in vec2 TexCoord;
uniform sampler2D ourTexture;
void main()
{
FragColor = texture(ourTexture, TexCoord);
}
)"
struct Vertex{
float position[2];
float colour[4];
};
struct VertexTexture{
float position[2];
float colour[4];
float texturePosition[2];
};
void svCol(Vertex &v, float newColour[4]);
void setColour(std::vector<Vertex> &verticeList, float newColour[4]);
void vTransform(std::vector<Vertex> &verticeList, int transform[2]);
void vTransform(std::vector<Vertex> &verticeList, float x, float y);
void vScale(std::vector<Vertex> & verticeList, float x, float y);
std::vector<Vertex> generateSineWave(int numVertices, float angle, float startingColour[4]);